API/api.medcify.app/node_modules/snyk/dist/cli/917.index.js
2022-09-26 11:41:44 +05:30

4965 lines
4.2 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

exports.id = 917;
exports.ids = [917];
exports.modules = {
/***/ 68214:
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.formatTestError = void 0;
function formatTestError(error) {
// Possible error cases:
// - the test found some vulns. `error.message` is a
// JSON-stringified
// test result.
// - the flow failed, `error` is a real Error object.
// - the flow failed, `error` is a number or string
// describing the problem.
//
// To standardise this, make sure we use the best _object_ to
// describe the error.
let errorResponse;
if (error instanceof Error) {
errorResponse = error;
}
else if (typeof error !== 'object') {
errorResponse = new Error(error);
}
else {
try {
errorResponse = JSON.parse(error.message);
}
catch (unused) {
errorResponse = error;
}
}
return errorResponse;
}
exports.formatTestError = formatTestError;
/***/ }),
/***/ 55935:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
const validate_credentials_1 = __webpack_require__(4593);
const validate_test_options_1 = __webpack_require__(83476);
const set_default_test_options_1 = __webpack_require__(13285);
const process_command_args_1 = __webpack_require__(52369);
const feature_flags_1 = __webpack_require__(63011);
const rules_1 = __webpack_require__(95343);
const measurable_methods_1 = __webpack_require__(5687);
const config_1 = __webpack_require__(25425);
const unsupported_entitlement_error_1 = __webpack_require__(78673);
const scan_1 = __webpack_require__(71308);
const output_1 = __webpack_require__(39313);
const assert_iac_options_flag_1 = __webpack_require__(33111);
async function default_1(...args) {
var _a, _b, _c;
const { options: originalOptions, paths } = process_command_args_1.processCommandArgs(...args);
const options = set_default_test_options_1.setDefaultTestOptions(originalOptions);
validate_test_options_1.validateTestOptions(options);
validate_credentials_1.validateCredentials(options);
const remoteRepoUrl = getFlag(options, 'remote-repo-url');
const targetName = getFlag(options, 'target-name');
const orgPublicId = (_a = options.org) !== null && _a !== void 0 ? _a : config_1.default.org;
const iacOrgSettings = await measurable_methods_1.getIacOrgSettings(orgPublicId);
if (!((_b = iacOrgSettings.entitlements) === null || _b === void 0 ? void 0 : _b.infrastructureAsCode)) {
throw new unsupported_entitlement_error_1.UnsupportedEntitlementError('infrastructureAsCode');
}
const buildOciRegistry = () => rules_1.buildDefaultOciRegistry(iacOrgSettings);
const isNewIacOutputSupported = Boolean(config_1.default.IAC_OUTPUT_V2 ||
(await feature_flags_1.hasFeatureFlag('iacCliOutputRelease', options)));
const isIacShareCliResultsCustomRulesSupported = Boolean(await feature_flags_1.hasFeatureFlag('iacShareCliResultsCustomRules', options));
const isIacCustomRulesEntitlementEnabled = Boolean((_c = iacOrgSettings.entitlements) === null || _c === void 0 ? void 0 : _c.iacCustomRulesEntitlement);
const testSpinner = output_1.buildSpinner({
options,
isNewIacOutputSupported,
});
const projectRoot = process.cwd();
output_1.printHeader({
options,
isNewIacOutputSupported,
});
const { iacOutputMeta, iacScanFailures, iacIgnoredIssuesCount, results, resultOptions, } = await scan_1.scan(iacOrgSettings, options, testSpinner, paths, orgPublicId, buildOciRegistry, projectRoot, remoteRepoUrl, targetName);
return output_1.buildOutput({
results,
options,
isNewIacOutputSupported,
isIacShareCliResultsCustomRulesSupported,
isIacCustomRulesEntitlementEnabled,
iacOutputMeta,
resultOptions,
iacScanFailures,
iacIgnoredIssuesCount,
testSpinner,
});
}
exports.default = default_1;
function getFlag(options, flag) {
const flagValue = options[flag];
if (!flagValue) {
return;
}
// if the user does not provide a value, it will be of boolean type
if (typeof flagValue !== 'string') {
throw new assert_iac_options_flag_1.InvalidArgumentError(flag);
}
return flagValue;
}
/***/ }),
/***/ 80509:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getFileType = exports.shouldBeParsed = exports.getFilesForDirectoryGenerator = exports.getFilesForDirectory = exports.getAllDirectoriesForPath = void 0;
const path = __webpack_require__(85622);
const file_utils_1 = __webpack_require__(45281);
const types_1 = __webpack_require__(94820);
const detect_1 = __webpack_require__(45318);
/**
* Gets all nested directories for the path that we ran a scan.
* @param pathToScan - the path to scan provided by the user
* @param maxDepth? - An optional `maxDepth` argument can be provided to limit how deep in the file tree the search will go.
* @returns {string[]} An array with all the non-empty nested directories in this path
*/
function getAllDirectoriesForPath(pathToScan, maxDepth) {
// if it is a single file (it has an extension), we return the current path
if (!detect_1.isLocalFolder(pathToScan)) {
return [path.resolve(pathToScan)];
}
return [...getAllDirectoriesForPathGenerator(pathToScan, maxDepth)];
}
exports.getAllDirectoriesForPath = getAllDirectoriesForPath;
/**
* Gets all the directories included in this path
* @param pathToScan - the path to scan provided by the user
* @param maxDepth? - An optional `maxDepth` argument can be provided to limit how deep in the file tree the search will go.
* @returns {Generator<string>} - a generator which yields the filepaths for the path to scan
*/
function* getAllDirectoriesForPathGenerator(pathToScan, maxDepth) {
for (const filePath of file_utils_1.makeFileAndDirectoryGenerator(pathToScan, maxDepth)) {
if (filePath.directory)
yield filePath.directory;
}
}
/**
* Gets all file paths for the specific directory
* @param pathToScan - the path to scan provided by the user
* @param currentDirectory - the directory which we want to return files for
* @returns {string[]} An array with all the Terraform filePaths for this directory
*/
function getFilesForDirectory(pathToScan, currentDirectory) {
if (!detect_1.isLocalFolder(pathToScan)) {
if (exports.shouldBeParsed(pathToScan) &&
!isIgnoredFile(pathToScan, currentDirectory)) {
return [pathToScan];
}
return [];
}
else {
return [...getFilesForDirectoryGenerator(currentDirectory)];
}
}
exports.getFilesForDirectory = getFilesForDirectory;
/**
* Iterates through the makeFileAndDirectoryGenerator function and gets all the Terraform files in the specified directory
* @param pathToScan - the pathToScan to scan provided by the user
* @returns {Generator<string>} - a generator which holds all the filepaths
*/
function* getFilesForDirectoryGenerator(pathToScan) {
for (const filePath of file_utils_1.makeFileAndDirectoryGenerator(pathToScan)) {
if (filePath.file && filePath.file.dir !== pathToScan) {
// we want to get files that belong just to the current walking directory, not the ones in nested directories
continue;
}
if (filePath.file &&
exports.shouldBeParsed(filePath.file.fileName) &&
!isIgnoredFile(filePath.file.fileName, pathToScan)) {
yield filePath.file.fileName;
}
}
}
exports.getFilesForDirectoryGenerator = getFilesForDirectoryGenerator;
exports.shouldBeParsed = (pathToScan) => types_1.VALID_FILE_TYPES.includes(exports.getFileType(pathToScan));
exports.getFileType = (pathToScan) => {
const extension = path.extname(pathToScan);
if (extension.startsWith('.')) {
return extension.substr(1);
}
return extension;
};
/**
* Checks if a file should be ignored from loading or not according to the filetype.
* We ignore the same files that Terraform ignores.
* https://github.com/hashicorp/terraform/blob/dc63fda44b67300d5161dabcd803426d0d2f468e/internal/configs/parser_config_dir.go#L137-L143
* @param {string} pathToScan - The filepath to check
* @param {currentDirectory} currentDirectory - The directory for the filepath
* @returns {boolean} if the filepath should be ignored or not
*/
function isIgnoredFile(pathToScan, currentDirectory) {
// we resolve the path in case the user tries to scan a single file with a relative path
// e.g. './my-folder/terraform.tf', or '../my-folder/terraform.tf'
const resolvedPath = path.resolve(currentDirectory, currentDirectory);
return (resolvedPath.startsWith('.') || // Unix-like hidden files
resolvedPath.startsWith('~') || // vim
(resolvedPath.startsWith('#') && resolvedPath.endsWith('#')) // emacs
);
}
/***/ }),
/***/ 62201:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.FailedToLoadFileError = exports.NoFilesToScanError = exports.tryLoadFileData = exports.loadContentForFiles = void 0;
const fs_1 = __webpack_require__(35747);
const types_1 = __webpack_require__(94820);
const errors_1 = __webpack_require__(55191);
const error_utils_1 = __webpack_require__(36401);
const directory_loader_1 = __webpack_require__(80509);
const DEFAULT_ENCODING = 'utf-8';
async function loadContentForFiles(filePaths) {
const loadedFiles = await Promise.all(filePaths.map(async (filePath) => {
try {
return await tryLoadFileData(filePath);
}
catch (e) {
throw new FailedToLoadFileError(filePath);
}
}));
return loadedFiles.filter((file) => file.fileContent !== '');
}
exports.loadContentForFiles = loadContentForFiles;
async function tryLoadFileData(pathToScan) {
const fileType = directory_loader_1.getFileType(pathToScan);
const fileContent = removeBom(await fs_1.promises.readFile(pathToScan, DEFAULT_ENCODING));
return {
filePath: pathToScan,
fileType: fileType,
fileContent,
};
}
exports.tryLoadFileData = tryLoadFileData;
function removeBom(s) {
if (s.charCodeAt(0) === 0xfeff) {
return s.slice(1);
}
return s;
}
class NoFilesToScanError extends errors_1.CustomError {
constructor(message) {
super(message || 'Could not find any valid IaC files');
this.code = types_1.IaCErrorCodes.NoFilesToScanError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage =
'Could not find any valid infrastructure as code files. Supported file extensions are tf, yml, yaml & json.\nMore information can be found by running `snyk iac test --help` or through our documentation:\nhttps://support.snyk.io/hc/en-us/articles/360012429477-Test-your-Kubernetes-files-with-our-CLI-tool\nhttps://support.snyk.io/hc/en-us/articles/360013723877-Test-your-Terraform-files-with-our-CLI-tool';
}
}
exports.NoFilesToScanError = NoFilesToScanError;
class FailedToLoadFileError extends errors_1.CustomError {
constructor(filename) {
super('Failed to load file content');
this.code = types_1.IaCErrorCodes.FailedToLoadFileError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.filename = filename;
this.userMessage = `We were unable to read file "${filename}" for scanning. Please ensure that it is readable.`;
}
}
exports.FailedToLoadFileError = FailedToLoadFileError;
/***/ }),
/***/ 39331:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.UnsupportedFileTypeError = exports.tryParseIacFile = exports.parseTerraformFiles = exports.parseNonTerraformFiles = exports.parseFiles = void 0;
const config_type_detection_1 = __webpack_require__(8601);
const terraform_file_parser_1 = __webpack_require__(11634);
const terraform_plan_parser_1 = __webpack_require__(58540);
const types_1 = __webpack_require__(94820);
const analytics = __webpack_require__(82744);
const errors_1 = __webpack_require__(55191);
const error_utils_1 = __webpack_require__(36401);
const yaml_parser_1 = __webpack_require__(80039);
const hcl_to_json_v2_1 = __webpack_require__(70456);
const constants_1 = __webpack_require__(68620);
const Debug = __webpack_require__(15158);
const debug = Debug('snyk-test');
async function parseFiles(filesData, options = {}) {
let tfFileData = [];
let nonTfFileData = [];
tfFileData = filesData.filter((fileData) => types_1.VALID_TERRAFORM_FILE_TYPES.includes(fileData.fileType));
nonTfFileData = filesData.filter((fileData) => !types_1.VALID_TERRAFORM_FILE_TYPES.includes(fileData.fileType));
let { parsedFiles, failedFiles } = parseNonTerraformFiles(nonTfFileData, options);
if (tfFileData.length > 0) {
const { parsedFiles: parsedTfFiles, failedFiles: failedTfFiles, } = parseTerraformFiles(tfFileData);
parsedFiles = parsedFiles.concat(parsedTfFiles);
failedFiles = failedFiles.concat(failedTfFiles);
}
return {
parsedFiles,
failedFiles,
};
}
exports.parseFiles = parseFiles;
function parseNonTerraformFiles(filesData, options) {
const parsedFiles = [];
const failedFiles = [];
for (const fileData of filesData) {
try {
parsedFiles.push(...tryParseIacFile(fileData, options));
}
catch (err) {
failedFiles.push(generateFailedParsedFile(fileData, err));
}
}
return {
parsedFiles,
failedFiles,
};
}
exports.parseNonTerraformFiles = parseNonTerraformFiles;
function parseTerraformFiles(filesData) {
// the parser expects a map of <filePath>:<fileContent> key-value pairs
const files = filesData.reduce((map, fileData) => {
map[fileData.filePath] = fileData.fileContent;
return map;
}, {});
const { parsedFiles, failedFiles, debugLogs } = hcl_to_json_v2_1.default(files);
const parsingResults = {
parsedFiles: [],
failedFiles: [],
};
for (const fileData of filesData) {
if (parsedFiles[fileData.filePath]) {
parsingResults.parsedFiles.push({
...fileData,
jsonContent: JSON.parse(parsedFiles[fileData.filePath]),
projectType: constants_1.IacProjectType.TERRAFORM,
engineType: types_1.EngineType.Terraform,
});
}
else if (failedFiles[fileData.filePath]) {
if (debugLogs[fileData.filePath]) {
debug('File %s failed to parse with: %s', fileData.filePath, debugLogs[fileData.filePath]);
}
parsingResults.failedFiles.push(generateFailedParsedFile(fileData, new terraform_file_parser_1.FailedToParseTerraformFileError(fileData.filePath)));
}
}
return parsingResults;
}
exports.parseTerraformFiles = parseTerraformFiles;
function generateFailedParsedFile({ fileType, filePath, fileContent }, err) {
return {
err,
failureReason: err.message,
fileType,
filePath,
fileContent,
engineType: null,
jsonContent: null,
};
}
function tryParseIacFile(fileData, options = {}) {
analytics.add('iac-terraform-plan', false);
switch (fileData.fileType) {
case 'yaml':
case 'yml': {
const parsedIacFile = yaml_parser_1.parseYAMLOrJSONFileData(fileData);
return config_type_detection_1.detectConfigType(fileData, parsedIacFile);
}
case 'json': {
const parsedIacFile = yaml_parser_1.parseYAMLOrJSONFileData(fileData);
// the Kubernetes file can have more than one JSON object in it
// but the Terraform plan can only have one
if (parsedIacFile.length === 1 && terraform_plan_parser_1.isTerraformPlan(parsedIacFile[0])) {
analytics.add('iac-terraform-plan', true);
return terraform_plan_parser_1.tryParsingTerraformPlan(fileData, parsedIacFile[0], {
isFullScan: options.scan === types_1.TerraformPlanScanMode.FullScan,
});
}
else {
return config_type_detection_1.detectConfigType(fileData, parsedIacFile);
}
}
default:
throw new UnsupportedFileTypeError(fileData.fileType);
}
}
exports.tryParseIacFile = tryParseIacFile;
class UnsupportedFileTypeError extends errors_1.CustomError {
constructor(fileType) {
super('Unsupported file extension');
this.code = types_1.IaCErrorCodes.UnsupportedFileTypeError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage = `Unable to process the file with extension ${fileType}. Supported file extensions are tf, yml, yaml & json.\nMore information can be found by running \`snyk iac test --help\` or through our documentation:\nhttps://support.snyk.io/hc/en-us/articles/360012429477-Test-your-Kubernetes-files-with-our-CLI-tool\nhttps://support.snyk.io/hc/en-us/articles/360013723877-Test-your-Terraform-files-with-our-CLI-tool`;
}
}
exports.UnsupportedFileTypeError = UnsupportedFileTypeError;
/***/ }),
/***/ 88361:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.FailedToExecutePolicyEngine = exports.FailedToBuildPolicyEngine = exports.clearPolicyEngineCache = exports.validateResultFromCustomRules = exports.scanFiles = void 0;
const types_1 = __webpack_require__(94820);
const opa_wasm_1 = __webpack_require__(79264);
const fs = __webpack_require__(35747);
const local_cache_1 = __webpack_require__(50089);
const errors_1 = __webpack_require__(55191);
const error_utils_1 = __webpack_require__(36401);
const common_1 = __webpack_require__(53110);
async function scanFiles(parsedFiles) {
// TODO: gracefully handle failed scans
const scannedFiles = [];
let failedScans = [];
for (const parsedFile of parsedFiles) {
const policyEngine = await getPolicyEngine(parsedFile.engineType);
const result = policyEngine.scanFile(parsedFile);
if (parsedFile.engineType === types_1.EngineType.Custom) {
const { validatedResult, invalidIssues } = validateResultFromCustomRules(result);
scannedFiles.push(validatedResult);
failedScans = [...failedScans, ...invalidIssues];
}
else {
scannedFiles.push(result);
}
}
return { scannedFiles, failedScans };
}
exports.scanFiles = scanFiles;
async function getPolicyEngine(engineType) {
if (policyEngineCache[engineType]) {
return policyEngineCache[engineType];
}
policyEngineCache[engineType] = await buildPolicyEngine(engineType);
return policyEngineCache[engineType];
}
function validateResultFromCustomRules(result) {
const invalidIssues = [];
const filteredViolatedPolicies = [];
for (const violatedPolicy of result.violatedPolicies) {
let failureReason = '';
const invalidSeverity = !common_1.SEVERITIES.find((s) => s.verboseName === violatedPolicy.severity);
if (invalidSeverity) {
failureReason = `Invalid severity level for custom rule ${violatedPolicy.publicId}. Change to low, medium, high, or critical`;
}
const invalidLowercasePublicId = violatedPolicy.publicId !== violatedPolicy.publicId.toUpperCase();
if (invalidLowercasePublicId) {
failureReason = `Invalid non-uppercase publicId for custom rule ${violatedPolicy.publicId}. Change to ${violatedPolicy.publicId.toUpperCase()}`;
}
const invalidSnykPublicId = violatedPolicy.publicId.startsWith('SNYK-CC-');
if (invalidSnykPublicId) {
failureReason = `Invalid publicId for custom rule ${violatedPolicy.publicId}. Change to a publicId that does not start with SNYK-CC-`;
}
if (failureReason) {
invalidIssues.push({
filePath: result.filePath,
fileType: result.fileType,
failureReason,
});
}
else {
filteredViolatedPolicies.push(violatedPolicy);
}
}
return {
validatedResult: {
...result,
violatedPolicies: filteredViolatedPolicies,
},
invalidIssues,
};
}
exports.validateResultFromCustomRules = validateResultFromCustomRules;
// used in tests only
function clearPolicyEngineCache() {
policyEngineCache = {
[types_1.EngineType.Kubernetes]: null,
[types_1.EngineType.Terraform]: null,
[types_1.EngineType.CloudFormation]: null,
[types_1.EngineType.ARM]: null,
[types_1.EngineType.Custom]: null,
};
}
exports.clearPolicyEngineCache = clearPolicyEngineCache;
let policyEngineCache = {
[types_1.EngineType.Kubernetes]: null,
[types_1.EngineType.Terraform]: null,
[types_1.EngineType.CloudFormation]: null,
[types_1.EngineType.ARM]: null,
[types_1.EngineType.Custom]: null,
};
async function buildPolicyEngine(engineType) {
const [policyEngineCoreDataPath, policyEngineMetaDataPath,] = local_cache_1.getLocalCachePath(engineType);
try {
const wasmFile = fs.readFileSync(policyEngineCoreDataPath);
const policyMetaData = fs.readFileSync(policyEngineMetaDataPath);
const policyMetadataAsJson = JSON.parse(policyMetaData.toString());
const opaWasmInstance = await opa_wasm_1.loadPolicy(Buffer.from(wasmFile));
opaWasmInstance.setData(policyMetadataAsJson);
return new PolicyEngine(opaWasmInstance);
}
catch (err) {
throw new FailedToBuildPolicyEngine();
}
}
class PolicyEngine {
constructor(opaWasmInstance) {
this.opaWasmInstance = opaWasmInstance;
this.opaWasmInstance = opaWasmInstance;
}
evaluate(data) {
return this.opaWasmInstance.evaluate(data)[0].result;
}
scanFile(iacFile) {
try {
const violatedPolicies = this.evaluate(iacFile.jsonContent);
return {
...iacFile,
violatedPolicies,
};
}
catch (err) {
// TODO: to distinguish between different failure reasons
throw new FailedToExecutePolicyEngine();
}
}
}
class FailedToBuildPolicyEngine extends errors_1.CustomError {
constructor(message) {
super(message || 'Failed to build policy engine');
this.code = types_1.IaCErrorCodes.FailedToBuildPolicyEngine;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage =
'We were unable to run the test. Please run the command again with the `-d` flag and contact support@snyk.io with the contents of the output';
}
}
exports.FailedToBuildPolicyEngine = FailedToBuildPolicyEngine;
class FailedToExecutePolicyEngine extends errors_1.CustomError {
constructor(message) {
super(message || 'Failed to execute policy engine');
this.code = types_1.IaCErrorCodes.FailedToExecutePolicyEngine;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage =
'We were unable to run the test. Please run the command again with the `-d` flag and contact support@snyk.io with the contents of the output';
}
}
exports.FailedToExecutePolicyEngine = FailedToExecutePolicyEngine;
/***/ }),
/***/ 89627:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.InvalidVarFilePath = exports.parseTags = exports.removeFileContent = exports.test = void 0;
const fs_1 = __webpack_require__(35747);
const detect_1 = __webpack_require__(45318);
const types_1 = __webpack_require__(94820);
const analytics_1 = __webpack_require__(41519);
const usage_tracking_1 = __webpack_require__(70413);
const measurable_methods_1 = __webpack_require__(5687);
const policy_1 = __webpack_require__(32615);
const monitor_1 = __webpack_require__(3708);
const directory_loader_1 = __webpack_require__(80509);
const errors_1 = __webpack_require__(55191);
const error_utils_1 = __webpack_require__(36401);
const file_loader_1 = __webpack_require__(62201);
// this method executes the local processing engine and then formats the results to adapt with the CLI output.
// this flow is the default GA flow for IAC scanning.
async function test(resultsProcessor, pathToScan, options, iacOrgSettings, rulesOrigin) {
// Parse tags and attributes right now, so we can exit early if the user
// provided invalid values.
const tags = parseTags(options);
const attributes = parseAttributes(options);
const policy = await policy_1.findAndLoadPolicy(pathToScan, 'iac', options);
let allParsedFiles = [], allFailedFiles = [];
const allDirectories = directory_loader_1.getAllDirectoriesForPath(pathToScan, options.detectionDepth);
// we load and parse files directory by directory
// because we need all files in the same directory to share the same variable context for Terraform
for (const currentDirectory of allDirectories) {
const filePathsInDirectory = directory_loader_1.getFilesForDirectory(pathToScan, currentDirectory);
if (currentDirectory === pathToScan &&
shouldLoadVarDefinitionsFile(options)) {
const varDefinitionsFilePath = options['var-file'];
filePathsInDirectory.push(varDefinitionsFilePath);
}
const filesToParse = await measurable_methods_1.loadContentForFiles(filePathsInDirectory);
const { parsedFiles, failedFiles } = await measurable_methods_1.parseFiles(filesToParse, options);
allParsedFiles = allParsedFiles.concat(parsedFiles);
allFailedFiles = allFailedFiles.concat(failedFiles);
}
if (allParsedFiles.length === 0) {
if (allFailedFiles.length === 0) {
throw new file_loader_1.NoFilesToScanError();
}
else {
// we throw an array of errors in order to get the path of the files which generated an error
throw allFailedFiles.map((f) => f.err);
}
}
// Duplicate all the files and run them through the custom engine.
if (rulesOrigin !== types_1.RulesOrigin.Internal) {
allParsedFiles.push(...allParsedFiles.map((file) => ({
...file,
engineType: types_1.EngineType.Custom,
})));
}
// NOTE: No file or parsed file data should leave this function.
let failures = detect_1.isLocalFolder(pathToScan)
? allFailedFiles.map(removeFileContent)
: [];
const { scannedFiles, failedScans } = await measurable_methods_1.scanFiles(allParsedFiles);
failures = [...failures, ...failedScans];
const resultsWithCustomSeverities = await measurable_methods_1.applyCustomSeverities(scannedFiles, iacOrgSettings.customPolicies);
const { filteredIssues, ignoreCount } = await resultsProcessor.processResults(resultsWithCustomSeverities, policy, tags, attributes);
try {
await measurable_methods_1.trackUsage(filteredIssues);
}
catch (e) {
if (e instanceof usage_tracking_1.TestLimitReachedError) {
throw e;
}
// If something has gone wrong, err on the side of allowing the user to
// run their tests by squashing the error.
}
analytics_1.addIacAnalytics(filteredIssues, {
ignoredIssuesCount: ignoreCount,
rulesOrigin,
});
// TODO: add support for proper typing of old TestResult interface.
return {
results: filteredIssues,
failures,
ignoreCount,
};
}
exports.test = test;
function removeFileContent({ filePath, fileType, failureReason, projectType, }) {
return {
filePath,
fileType,
failureReason,
projectType,
};
}
exports.removeFileContent = removeFileContent;
function parseTags(options) {
if (options.report) {
return monitor_1.generateTags(options);
}
}
exports.parseTags = parseTags;
function parseAttributes(options) {
if (options.report) {
return monitor_1.generateProjectAttributes(options);
}
}
function shouldLoadVarDefinitionsFile(options) {
if (options['var-file']) {
if (!fs_1.existsSync(options['var-file'])) {
throw new InvalidVarFilePath(options['var-file']);
}
return true;
}
return false;
}
class InvalidVarFilePath extends errors_1.CustomError {
constructor(path, message) {
super(message || 'Invalid path to variable definitions file');
this.code = types_1.IaCErrorCodes.InvalidVarFilePath;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage = `We were unable to locate a variable definitions file at: "${path}". The file at the provided path does not exist`;
}
}
exports.InvalidVarFilePath = InvalidVarFilePath;
/***/ }),
/***/ 5687:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.pull = exports.localTest = exports.cleanLocalCache = exports.trackUsage = exports.formatScanResults = exports.applyCustomSeverities = exports.getIacOrgSettings = exports.scanFiles = exports.parseFiles = exports.loadContentForFiles = exports.initLocalCache = exports.performanceAnalyticsDecorator = exports.asyncPerformanceAnalyticsDecorator = void 0;
const file_parser_1 = __webpack_require__(39331);
const file_scanner_1 = __webpack_require__(88361);
const results_formatter_1 = __webpack_require__(11059);
const usage_tracking_1 = __webpack_require__(70413);
const local_cache_1 = __webpack_require__(50089);
const apply_custom_severities_1 = __webpack_require__(71632);
const get_iac_org_settings_1 = __webpack_require__(11693);
const index_1 = __webpack_require__(89627);
const oci_pull_1 = __webpack_require__(166);
const analytics_1 = __webpack_require__(41519);
const types_1 = __webpack_require__(94820);
const file_loader_1 = __webpack_require__(62201);
// Note: The return type of the returned async function needs to be Promise<Val> for
// the compiler to be happy, so we need to unwrap it with the messy
// Awaiter<ReturnType<T>> rather than just using ReturnType<T> directly.
function asyncPerformanceAnalyticsDecorator(measurableMethod, analyticsKey) {
return async function (...args) {
const startTime = Date.now();
const returnValue = await measurableMethod(...args);
const durationMs = Date.now() - startTime;
analytics_1.performanceAnalyticsObject[analyticsKey] = durationMs;
return returnValue;
};
}
exports.asyncPerformanceAnalyticsDecorator = asyncPerformanceAnalyticsDecorator;
function performanceAnalyticsDecorator(measurableMethod, analyticsKey) {
return function (...args) {
const startTime = Date.now();
const returnValue = measurableMethod(...args);
const durationMs = Date.now() - startTime;
analytics_1.performanceAnalyticsObject[analyticsKey] = durationMs;
return returnValue;
};
}
exports.performanceAnalyticsDecorator = performanceAnalyticsDecorator;
const measurableInitLocalCache = asyncPerformanceAnalyticsDecorator(local_cache_1.initLocalCache, types_1.PerformanceAnalyticsKey.InitLocalCache);
exports.initLocalCache = measurableInitLocalCache;
const measurableParseFiles = asyncPerformanceAnalyticsDecorator(file_parser_1.parseFiles, types_1.PerformanceAnalyticsKey.FileParsing);
exports.parseFiles = measurableParseFiles;
const measurableloadContentForFiles = asyncPerformanceAnalyticsDecorator(file_loader_1.loadContentForFiles, types_1.PerformanceAnalyticsKey.FileLoading);
exports.loadContentForFiles = measurableloadContentForFiles;
const measurableScanFiles = asyncPerformanceAnalyticsDecorator(file_scanner_1.scanFiles, types_1.PerformanceAnalyticsKey.FileScanning);
exports.scanFiles = measurableScanFiles;
const measurableGetIacOrgSettings = asyncPerformanceAnalyticsDecorator(get_iac_org_settings_1.getIacOrgSettings, types_1.PerformanceAnalyticsKey.OrgSettings);
exports.getIacOrgSettings = measurableGetIacOrgSettings;
const measurableApplyCustomSeverities = asyncPerformanceAnalyticsDecorator(apply_custom_severities_1.applyCustomSeverities, types_1.PerformanceAnalyticsKey.CustomSeverities);
exports.applyCustomSeverities = measurableApplyCustomSeverities;
const measurableCleanLocalCache = performanceAnalyticsDecorator(local_cache_1.cleanLocalCache, types_1.PerformanceAnalyticsKey.CacheCleanup);
exports.cleanLocalCache = measurableCleanLocalCache;
const measurableFormatScanResults = performanceAnalyticsDecorator(results_formatter_1.formatScanResults, types_1.PerformanceAnalyticsKey.ResultFormatting);
exports.formatScanResults = measurableFormatScanResults;
const measurableTrackUsage = asyncPerformanceAnalyticsDecorator(usage_tracking_1.trackUsage, types_1.PerformanceAnalyticsKey.UsageTracking);
exports.trackUsage = measurableTrackUsage;
const measurableLocalTest = asyncPerformanceAnalyticsDecorator(index_1.test, types_1.PerformanceAnalyticsKey.Total);
exports.localTest = measurableLocalTest;
const measurableOciPull = asyncPerformanceAnalyticsDecorator(oci_pull_1.pull, types_1.PerformanceAnalyticsKey.Total);
exports.pull = measurableOciPull;
/***/ }),
/***/ 71632:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.applyCustomSeverities = void 0;
const _ = __webpack_require__(96486);
async function applyCustomSeverities(scannedFiles, customPolicies) {
if (Object.keys(customPolicies).length > 0) {
return scannedFiles.map((file) => {
const updatedScannedFiles = _.cloneDeep(file);
updatedScannedFiles.violatedPolicies.forEach((existingPolicy) => {
var _a;
const customPolicyForPublicID = customPolicies[existingPolicy.publicId];
if (customPolicyForPublicID) {
existingPolicy.severity = (_a = customPolicyForPublicID.severity) !== null && _a !== void 0 ? _a : existingPolicy.severity;
}
});
return updatedScannedFiles;
});
}
return scannedFiles;
}
exports.applyCustomSeverities = applyCustomSeverities;
/***/ }),
/***/ 8601:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.checkRequiredFieldsMatch = exports.detectConfigType = exports.REQUIRED_ARM_FIELDS = exports.REQUIRED_CLOUDFORMATION_FIELDS = exports.REQUIRED_K8S_FIELDS = void 0;
const constants_1 = __webpack_require__(68620);
const types_1 = __webpack_require__(94820);
exports.REQUIRED_K8S_FIELDS = ['apiVersion', 'kind', 'metadata'];
exports.REQUIRED_CLOUDFORMATION_FIELDS = ['Resources'];
exports.REQUIRED_ARM_FIELDS = ['$schema', 'contentVersion', 'resources'];
function detectConfigType(fileData, parsedIacFiles) {
return parsedIacFiles
.map((parsedFile, docId) => {
if (checkRequiredFieldsMatch(parsedFile, exports.REQUIRED_CLOUDFORMATION_FIELDS)) {
return {
...fileData,
jsonContent: parsedFile,
projectType: constants_1.IacProjectType.CLOUDFORMATION,
engineType: types_1.EngineType.CloudFormation,
docId: fileData.fileType === 'json' ? undefined : docId,
};
}
else if (checkRequiredFieldsMatch(parsedFile, exports.REQUIRED_K8S_FIELDS)) {
return {
...fileData,
jsonContent: parsedFile,
projectType: constants_1.IacProjectType.K8S,
engineType: types_1.EngineType.Kubernetes,
docId: fileData.fileType === 'json' ? undefined : docId,
};
}
else if (checkRequiredFieldsMatch(parsedFile, exports.REQUIRED_ARM_FIELDS)) {
return {
...fileData,
jsonContent: parsedFile,
projectType: constants_1.IacProjectType.ARM,
engineType: types_1.EngineType.ARM,
};
}
else {
return null;
}
})
.filter((f) => !!f);
}
exports.detectConfigType = detectConfigType;
function checkRequiredFieldsMatch(parsedDocument, requiredFields) {
if (!parsedDocument) {
return false;
}
return requiredFields.every((requiredField) => parsedDocument.hasOwnProperty(requiredField));
}
exports.checkRequiredFieldsMatch = checkRequiredFieldsMatch;
/***/ }),
/***/ 70456:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
// This artifact was generated using GopherJS and https://github.com/snyk/snyk-iac-parsers
Object.defineProperty(exports, "__esModule", ({ value: true }));
const gopherJsArtifact = __webpack_require__(61520);
function hclToJsonV2(files) {
return gopherJsArtifact.parseModule(files);
}
exports.default = hclToJsonV2;
/***/ }),
/***/ 11634:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.FailedToParseTerraformFileError = void 0;
const types_1 = __webpack_require__(94820);
const errors_1 = __webpack_require__(55191);
const error_utils_1 = __webpack_require__(36401);
class FailedToParseTerraformFileError extends errors_1.CustomError {
constructor(filename) {
super('Failed to parse Terraform file');
this.code = types_1.IaCErrorCodes.FailedToParseTerraformFileError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.filename = filename;
this.userMessage = `We were unable to parse the Terraform file "${filename}", please ensure it is valid HCL2. This can be done by running it through the 'terraform validate' command.`;
}
}
exports.FailedToParseTerraformFileError = FailedToParseTerraformFileError;
/***/ }),
/***/ 58540:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.FailedToExtractResourcesInTerraformPlanError = exports.tryParsingTerraformPlan = exports.isTerraformPlan = void 0;
const types_1 = __webpack_require__(94820);
const errors_1 = __webpack_require__(55191);
const error_utils_1 = __webpack_require__(36401);
const constants_1 = __webpack_require__(68620);
function terraformPlanReducer(scanInput, resource) {
// TODO: investigate if this reduction logic covers all edge-cases (nested modules, similar names, etc')
const { type, name, mode, index, values } = resource;
const inputKey = mode === 'data' ? 'data' : 'resource';
if (scanInput[inputKey][type]) {
// add new resources of the same type with different names
scanInput[inputKey][type][getResourceName(index, name)] = values || {};
}
else {
// add a new resource type
scanInput[inputKey][type] = { [getResourceName(index, name)]: values };
}
return scanInput;
}
function getExpressions(expressions) {
const result = {};
// expressions can be nested. we are only doing 1 depth to resolve top level depenencies
for (const key of Object.keys(expressions)) {
const referenceKey = getReference(expressions[key]);
if (referenceKey) {
result[key] = referenceKey;
}
}
return result;
}
// this is very naive implementation
// the referenences can be composed of number of keys
// we only going to use the first reference for time being
function getReference(value) {
var _a;
return (_a = value.references) === null || _a === void 0 ? void 0 : _a[0];
}
function getResourceName(index, name) {
return index !== undefined ? `${name}["${index}"]` : name;
}
function resourceChangeReducer(scanInput, resource, isFullScan) {
// TODO: investigate if we need to address also `after_unknown` field.
const { actions, after } = resource.change || { actions: [], after: {} };
if (isValidResourceActions(actions, isFullScan)) {
const resourceForReduction = { ...resource, values: after || {} };
return terraformPlanReducer(scanInput, resourceForReduction);
}
return scanInput;
}
function isValidResourceActions(action, isFullScan) {
const VALID_ACTIONS = isFullScan
? types_1.VALID_RESOURCE_ACTIONS_FOR_FULL_SCAN
: types_1.VALID_RESOURCE_ACTIONS_FOR_DELTA_SCAN;
return VALID_ACTIONS.some((validAction) => {
if (action.length !== validAction.length) {
return false;
}
return validAction.every((field, idx) => action[idx] === field);
});
}
function referencedResourcesResolver(scanInput, resources) {
var _a, _b;
// check root module for references in first depth of attributes
for (const resource of resources) {
const { type, name, mode, index, expressions } = resource;
// don't care about references in data sources for time being
if (mode == 'data') {
continue;
}
const inputKey = 'resource';
// only update the references in resources that have some resolved attributes already
const resolvedResource = (_b = (_a = scanInput[inputKey]) === null || _a === void 0 ? void 0 : _a[type]) === null || _b === void 0 ? void 0 : _b[getResourceName(index, name)];
if (resolvedResource && expressions) {
const resourceExpressions = getExpressions(expressions);
for (const key of Object.keys(resourceExpressions)) {
// only add non existing attributes. If we already have resolved value do not overwrite it with reference
if (!resolvedResource[key]) {
resolvedResource[key] = resourceExpressions[key];
}
}
scanInput[inputKey][type][getResourceName(index, name)] = resolvedResource;
}
}
return scanInput;
}
function extractResourceChanges(terraformPlanJson) {
return terraformPlanJson.resource_changes || [];
}
function extractReferencedResources(terraformPlanJson) {
var _a, _b;
return ((_b = (_a = terraformPlanJson.configuration) === null || _a === void 0 ? void 0 : _a.root_module) === null || _b === void 0 ? void 0 : _b.resources) || [];
}
function extractResourcesForScan(terraformPlanJson, isFullScan = false) {
const resourceChanges = extractResourceChanges(terraformPlanJson);
const scanInput = resourceChanges.reduce((memo, curr) => resourceChangeReducer(memo, curr, isFullScan), {
resource: {},
data: {},
});
const referencedResources = extractReferencedResources(terraformPlanJson);
return referencedResourcesResolver(scanInput, referencedResources);
}
function isTerraformPlan(terraformPlanJson) {
const missingRequiredFields = terraformPlanJson.resource_changes === undefined;
return !missingRequiredFields;
}
exports.isTerraformPlan = isTerraformPlan;
function tryParsingTerraformPlan(terraformPlanFile, terraformPlanJson, { isFullScan } = { isFullScan: false }) {
try {
return [
{
...terraformPlanFile,
jsonContent: extractResourcesForScan(terraformPlanJson, isFullScan),
engineType: types_1.EngineType.Terraform,
projectType: constants_1.IacProjectType.TERRAFORM,
},
];
}
catch (err) {
throw new FailedToExtractResourcesInTerraformPlanError();
}
}
exports.tryParsingTerraformPlan = tryParsingTerraformPlan;
// This error is due to the complex reduction logic, so it catches scenarios we might have not covered.
class FailedToExtractResourcesInTerraformPlanError extends errors_1.CustomError {
constructor(message) {
super(message || 'Failed to extract resources from Terraform plan JSON file');
this.code = types_1.IaCErrorCodes.FailedToExtractResourcesInTerraformPlanError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage =
'We failed to extract resource changes from the Terraform plan file, please contact support@snyk.io, if possible with a redacted version of the file';
}
}
exports.FailedToExtractResourcesInTerraformPlanError = FailedToExtractResourcesInTerraformPlanError;
/***/ }),
/***/ 40008:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.shareResults = void 0;
const config_1 = __webpack_require__(25425);
const request_1 = __webpack_require__(52050);
const api_token_1 = __webpack_require__(95181);
const envelope_formatters_1 = __webpack_require__(88784);
const analytics = __webpack_require__(82744);
const dev_count_analysis_1 = __webpack_require__(73898);
const Debug = __webpack_require__(15158);
const errors_1 = __webpack_require__(55191);
const usage_tracking_1 = __webpack_require__(70413);
const debug = Debug('iac-cli-share-results');
async function shareResults({ results, policy, tags, attributes, options, meta, }) {
var _a, _b;
const scanResults = results.map((result) => envelope_formatters_1.convertIacResultToScanResult(result, policy, meta, options));
let contributors = [];
if (meta.gitRemoteUrl) {
if (analytics.allowAnalytics()) {
try {
contributors = await dev_count_analysis_1.getContributors();
}
catch (err) {
debug('error getting repo contributors', err);
}
}
}
const { res, body } = await request_1.makeRequest({
method: 'POST',
url: `${config_1.default.API}/iac-cli-share-results`,
json: true,
qs: { org: (_a = options === null || options === void 0 ? void 0 : options.org) !== null && _a !== void 0 ? _a : config_1.default.org },
headers: {
authorization: api_token_1.getAuthHeader(),
},
body: {
scanResults,
contributors,
tags,
attributes,
},
});
if (res.statusCode === 401) {
throw errors_1.AuthFailedError();
}
else if (res.statusCode === 429) {
throw new usage_tracking_1.TestLimitReachedError();
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
}
else if (res.statusCode < 200 || res.statusCode > 299) {
throw new errors_1.ValidationError((_b = res.body.error) !== null && _b !== void 0 ? _b : 'An error occurred, please contact Snyk support');
}
return { projectPublicIds: body, gitRemoteUrl: meta.gitRemoteUrl };
}
exports.shareResults = shareResults;
/***/ }),
/***/ 30537:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.extractLineNumber = exports.getFileTypeForParser = void 0;
const types_1 = __webpack_require__(94820);
const errors_1 = __webpack_require__(55191);
const cloud_config_parser_1 = __webpack_require__(98611);
const file_parser_1 = __webpack_require__(39331);
const analytics = __webpack_require__(82744);
const Debug = __webpack_require__(15158);
const error_utils_1 = __webpack_require__(36401);
const debug = Debug('iac-extract-line-number');
function getFileTypeForParser(fileType) {
switch (fileType) {
case 'yaml':
case 'yml':
return cloud_config_parser_1.CloudConfigFileTypes.YAML;
case 'json':
return cloud_config_parser_1.CloudConfigFileTypes.JSON;
case 'tf':
return cloud_config_parser_1.CloudConfigFileTypes.TF;
default:
throw new file_parser_1.UnsupportedFileTypeError(fileType);
}
}
exports.getFileTypeForParser = getFileTypeForParser;
function extractLineNumber(cloudConfigPath, fileType, treeByDocId) {
try {
return cloud_config_parser_1.getLineNumber(cloudConfigPath, fileType, treeByDocId);
}
catch {
const err = new FailedToExtractLineNumberError();
analytics.add('error-code', err.code);
debug('Parser library failed. Could not assign lineNumber to issue');
return -1;
}
}
exports.extractLineNumber = extractLineNumber;
class FailedToExtractLineNumberError extends errors_1.CustomError {
constructor(message) {
super(message || 'Parser library failed. Could not assign lineNumber to issue');
this.code = types_1.IaCErrorCodes.FailedToExtractLineNumberError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage = ''; // Not a user facing error.
}
}
/***/ }),
/***/ 1229:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SingleGroupResultsProcessor = void 0;
const process_results_1 = __webpack_require__(78744);
class SingleGroupResultsProcessor {
constructor(projectRoot, orgPublicId, iacOrgSettings, options, meta) {
this.projectRoot = projectRoot;
this.orgPublicId = orgPublicId;
this.iacOrgSettings = iacOrgSettings;
this.options = options;
this.meta = meta;
}
processResults(resultsWithCustomSeverities, policy, tags, attributes) {
return process_results_1.processResults(resultsWithCustomSeverities, this.orgPublicId, this.iacOrgSettings, policy, tags, attributes, this.options, this.projectRoot, this.meta);
}
}
exports.SingleGroupResultsProcessor = SingleGroupResultsProcessor;
/***/ }),
/***/ 91434:
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.filterIgnoredIssues = void 0;
function filterIgnoredIssues(policy, results) {
if (!policy) {
return { filteredIssues: results, ignoreCount: 0 };
}
const vulns = results.map((res) => policy.filter(toIaCVulnAdapter(res), undefined, 'exact'));
const ignoreCount = vulns.reduce((totalIgnored, vuln) => totalIgnored + vuln.filtered.ignore.length, 0);
const filteredIssues = vulns.map((vuln) => toFormattedResult(vuln));
return { filteredIssues, ignoreCount };
}
exports.filterIgnoredIssues = filterIgnoredIssues;
function toIaCVulnAdapter(result) {
return {
vulnerabilities: result.result.cloudConfigResults.map((cloudConfigResult) => {
const annotatedResult = cloudConfigResult;
// Copy the cloudConfigPath array to avoid modifying the original with
// splice.
// Insert the targetFile into the path so that it is taken into account
// when determining whether an ignore rule should be applied.
const path = [...annotatedResult.cloudConfigPath];
path.splice(0, 0, result.targetFile);
return {
id: cloudConfigResult.id,
from: path,
};
}),
originalResult: result,
};
}
function toFormattedResult(adapter) {
const original = adapter.originalResult;
const filteredCloudConfigResults = original.result.cloudConfigResults.filter((res) => {
return adapter.vulnerabilities.some((vuln) => {
if (vuln.id !== res.id) {
return false;
}
// Unfortunately we are forced to duplicate the logic in
// toIaCVulnAdapter so that we're comparing path components properly,
// including target file context. As that logic changes, so must this.
const annotatedResult = res;
const significantPath = [...annotatedResult.cloudConfigPath];
significantPath.splice(0, 0, original.targetFile);
if (vuln.from.length !== significantPath.length) {
return false;
}
for (let i = 0; i < vuln.from.length; i++) {
if (vuln.from[i] !== significantPath[i]) {
return false;
}
}
return true;
});
});
original.result.cloudConfigResults = filteredCloudConfigResults;
return original;
}
/***/ }),
/***/ 78744:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.processResults = void 0;
const policy_1 = __webpack_require__(91434);
const share_results_1 = __webpack_require__(68971);
const measurable_methods_1 = __webpack_require__(5687);
const cloneDeep = __webpack_require__(83465);
async function processResults(resultsWithCustomSeverities, orgPublicId, iacOrgSettings, policy, tags, attributes, options, projectRoot, meta) {
let projectPublicIds = {};
let gitRemoteUrl;
if (options.report) {
({ projectPublicIds, gitRemoteUrl } = await share_results_1.formatAndShareResults({
// this is to fix a bug where we mutated the "results" in the formatAndShareResults
// and these were used again in the formatScanResults below
// resulting in double count of issues
// note: this happened only in multi-YAML documents
results: cloneDeep(resultsWithCustomSeverities),
options,
orgPublicId,
policy,
tags,
attributes,
projectRoot,
meta,
}));
}
const formattedResults = measurable_methods_1.formatScanResults(resultsWithCustomSeverities, options, iacOrgSettings.meta, projectPublicIds, projectRoot, gitRemoteUrl);
return policy_1.filterIgnoredIssues(policy, formattedResults);
}
exports.processResults = processResults;
/***/ }),
/***/ 11059:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.FailedToFormatResults = exports.filterPoliciesBySeverity = exports.formatScanResults = void 0;
const types_1 = __webpack_require__(94820);
const common_1 = __webpack_require__(53110);
const constants_1 = __webpack_require__(68620);
const errors_1 = __webpack_require__(55191);
const extract_line_number_1 = __webpack_require__(30537);
const error_utils_1 = __webpack_require__(36401);
const cloud_config_parser_1 = __webpack_require__(98611);
const path = __webpack_require__(85622);
const detect_1 = __webpack_require__(45318);
const severitiesArray = common_1.SEVERITIES.map((s) => s.verboseName);
function formatScanResults(scanResults, options, meta, projectPublicIds, projectRoot, gitRemoteUrl) {
try {
const groupedByFile = scanResults.reduce((memo, scanResult) => {
const res = formatScanResult(scanResult, meta, options, projectRoot);
if (memo[scanResult.filePath]) {
memo[scanResult.filePath].result.cloudConfigResults.push(...res.result.cloudConfigResults);
}
else {
res.meta.gitRemoteUrl = gitRemoteUrl;
res.meta.projectId = projectPublicIds[res.targetFile];
memo[scanResult.filePath] = res;
}
return memo;
}, {});
return Object.values(groupedByFile);
}
catch (e) {
throw new FailedToFormatResults();
}
}
exports.formatScanResults = formatScanResults;
const engineTypeToProjectType = {
[types_1.EngineType.Kubernetes]: constants_1.IacProjectType.K8S,
[types_1.EngineType.Terraform]: constants_1.IacProjectType.TERRAFORM,
[types_1.EngineType.CloudFormation]: constants_1.IacProjectType.CLOUDFORMATION,
[types_1.EngineType.ARM]: constants_1.IacProjectType.ARM,
[types_1.EngineType.Custom]: constants_1.IacProjectType.CUSTOM,
};
function formatScanResult(scanResult, meta, options, projectRoot) {
const fileType = extract_line_number_1.getFileTypeForParser(scanResult.fileType);
const isGeneratedByCustomRule = scanResult.engineType === types_1.EngineType.Custom;
let treeByDocId;
try {
treeByDocId = cloud_config_parser_1.getTrees(fileType, scanResult.fileContent);
}
catch (err) {
// we do nothing intentionally.
// Even if the building of the tree fails in the external parser,
// we still pass an undefined tree and not calculated line number for those
}
const formattedIssues = scanResult.violatedPolicies.map((policy) => {
const cloudConfigPath = scanResult.docId !== undefined
? [`[DocId: ${scanResult.docId}]`].concat(cloud_config_parser_1.parsePath(policy.msg))
: policy.msg.split('.');
const lineNumber = treeByDocId
? extract_line_number_1.extractLineNumber(cloudConfigPath, fileType, treeByDocId)
: -1;
return {
...policy,
id: policy.publicId,
name: policy.title,
cloudConfigPath,
isIgnored: false,
iacDescription: {
issue: policy.issue,
impact: policy.impact,
resolve: policy.resolve,
},
severity: policy.severity,
lineNumber,
documentation: !isGeneratedByCustomRule
? `https://snyk.io/security-rules/${policy.publicId}`
: undefined,
isGeneratedByCustomRule,
};
});
const { targetFilePath, projectName, targetFile } = computePaths(projectRoot, scanResult.filePath, options.path);
return {
result: {
cloudConfigResults: filterPoliciesBySeverity(formattedIssues, options.severityThreshold),
projectType: scanResult.projectType,
},
meta: {
...meta,
projectId: '',
policy: '',
},
filesystemPolicy: false,
vulnerabilities: [],
dependencyCount: 0,
licensesPolicy: null,
ignoreSettings: null,
targetFile,
projectName,
org: meta.org,
policy: '',
isPrivate: true,
targetFilePath,
packageManager: engineTypeToProjectType[scanResult.engineType],
};
}
function filterPoliciesBySeverity(violatedPolicies, severityThreshold) {
if (!severityThreshold || severityThreshold === common_1.SEVERITY.LOW) {
return violatedPolicies.filter((violatedPolicy) => {
return violatedPolicy.severity !== 'none';
});
}
const severitiesToInclude = severitiesArray.slice(severitiesArray.indexOf(severityThreshold));
return violatedPolicies.filter((policy) => {
return (policy.severity !== 'none' &&
severitiesToInclude.includes(policy.severity));
});
}
exports.filterPoliciesBySeverity = filterPoliciesBySeverity;
class FailedToFormatResults extends errors_1.CustomError {
constructor(message) {
super(message || 'Failed to format results');
this.code = types_1.IaCErrorCodes.FailedToFormatResults;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage =
'We failed printing the results, please contact support@snyk.io';
}
}
exports.FailedToFormatResults = FailedToFormatResults;
function computePaths(projectRoot, filePath, pathArg = '.') {
const targetFilePath = path.resolve(filePath, '.');
// the absolute path is needed to compute the full project path
const cmdPath = path.resolve(pathArg);
let projectPath;
let targetFile;
if (!detect_1.isLocalFolder(cmdPath)) {
// if the provided path points to a file, then the project starts at the parent folder of that file
// and the target file was provided as the path argument
projectPath = path.dirname(cmdPath);
targetFile = path.isAbsolute(pathArg)
? path.relative(process.cwd(), pathArg)
: pathArg;
}
else {
// otherwise, the project starts at the provided path
// and the target file must be the relative path from the project path to the path of the scanned file
projectPath = cmdPath;
targetFile = path.relative(projectPath, targetFilePath);
}
return {
targetFilePath,
projectName: path.basename(projectRoot),
targetFile,
};
}
/***/ }),
/***/ 97153:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.formatShareResults = void 0;
const path = __webpack_require__(85622);
function formatShareResults(projectRoot, scanResults, meta) {
const resultsGroupedByFilePath = groupByFilePath(scanResults);
return resultsGroupedByFilePath.map((result) => {
const { projectName, targetFile } = computePaths(projectRoot, result.filePath, meta);
return {
projectName,
targetFile,
filePath: result.filePath,
fileType: result.fileType,
projectType: result.projectType,
violatedPolicies: result.violatedPolicies,
};
});
}
exports.formatShareResults = formatShareResults;
function groupByFilePath(scanResults) {
const groupedByFilePath = scanResults.reduce((memo, scanResult) => {
scanResult.violatedPolicies.forEach((violatedPolicy) => {
violatedPolicy.docId = scanResult.docId;
});
if (memo[scanResult.filePath]) {
memo[scanResult.filePath].violatedPolicies.push(...scanResult.violatedPolicies);
}
else {
memo[scanResult.filePath] = scanResult;
}
return memo;
}, {});
return Object.values(groupedByFilePath);
}
function computePaths(projectRoot, filePath, meta) {
const projectDirectory = path.resolve(projectRoot);
const absoluteFilePath = path.resolve(filePath);
const relativeFilePath = path.relative(projectDirectory, absoluteFilePath);
const unixRelativeFilePath = relativeFilePath.split(path.sep).join('/');
return {
targetFilePath: absoluteFilePath,
projectName: meta.projectName,
targetFile: unixRelativeFilePath,
};
}
/***/ }),
/***/ 68971:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.formatAndShareResults = void 0;
const feature_flags_1 = __webpack_require__(63011);
const cli_share_results_1 = __webpack_require__(40008);
const assert_iac_options_flag_1 = __webpack_require__(33111);
const share_results_formatter_1 = __webpack_require__(97153);
async function formatAndShareResults({ results, options, orgPublicId, policy, tags, attributes, projectRoot, meta, }) {
const isCliReportEnabled = await feature_flags_1.isFeatureFlagSupportedForOrg('iacCliShareResults', orgPublicId);
if (!isCliReportEnabled.ok) {
throw new assert_iac_options_flag_1.FeatureFlagError('report', 'iacCliShareResults');
}
const formattedResults = share_results_formatter_1.formatShareResults(projectRoot, results, meta);
return await cli_share_results_1.shareResults({
results: formattedResults,
policy,
tags,
attributes,
options,
meta,
});
}
exports.formatAndShareResults = formatAndShareResults;
/***/ }),
/***/ 51309:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.RemoteOciRegistry = void 0;
const registryClient = __webpack_require__(28310);
class RemoteOciRegistry {
constructor(registry, username, password) {
this.registry = registry;
this.username = username;
this.password = password;
}
getManifest(repository, tag) {
return registryClient.getManifest(this.registry, repository, tag, this.username, this.password, RemoteOciRegistry.options);
}
async getLayer(repository, digest) {
const blob = await registryClient.getLayer(this.registry, repository, digest, this.username, this.password, RemoteOciRegistry.options);
return { blob };
}
}
exports.RemoteOciRegistry = RemoteOciRegistry;
RemoteOciRegistry.options = {
acceptManifest: 'application/vnd.oci.image.manifest.v1+json',
acceptLayers: 'application/vnd.oci.image.layer.v1.tar+gzip',
};
/***/ }),
/***/ 95343:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.FailedToExecuteCustomRulesError = exports.FailedToPullCustomBundleError = exports.pullIaCCustomRules = exports.buildDefaultOciRegistry = exports.initRules = void 0;
const types_1 = __webpack_require__(94820);
const os_1 = __webpack_require__(12087);
const assert_iac_options_flag_1 = __webpack_require__(33111);
const oci_pull_1 = __webpack_require__(166);
const measurable_methods_1 = __webpack_require__(5687);
const user_config_1 = __webpack_require__(28137);
const errors_1 = __webpack_require__(55191);
const error_utils_1 = __webpack_require__(36401);
const iac_output_1 = __webpack_require__(68145);
const oci_registry_1 = __webpack_require__(51309);
const url_utils_1 = __webpack_require__(30922);
const feature_flags_1 = __webpack_require__(63011);
async function initRules(buildOciRegistry, iacOrgSettings, options, orgPublicId) {
var _a, _b;
let customRulesPath;
let rulesOrigin = types_1.RulesOrigin.Internal;
if (options.rules) {
if (!((_a = iacOrgSettings.entitlements) === null || _a === void 0 ? void 0 : _a.iacCustomRulesEntitlement)) {
throw new assert_iac_options_flag_1.UnsupportedEntitlementFlagError('rules', 'iacCustomRulesEntitlement');
}
customRulesPath = options.rules;
rulesOrigin = types_1.RulesOrigin.Local;
}
const isOCIRegistryURLProvided = checkOCIRegistryURLProvided(iacOrgSettings);
if ((isOCIRegistryURLProvided || customRulesPath) &&
!(options.sarif || options.json)) {
let userMessage = `${iac_output_1.customRulesMessage}${os_1.EOL}`;
if (options.report) {
const isCliReportCustomRulesEnabled = await feature_flags_1.isFeatureFlagSupportedForOrg('iacShareCliResultsCustomRules', orgPublicId);
if (!isCliReportCustomRulesEnabled.ok) {
userMessage += `${iac_output_1.customRulesReportMessage}${os_1.EOL}`;
}
}
console.log(userMessage);
}
if (isOCIRegistryURLProvided && customRulesPath) {
throw new FailedToExecuteCustomRulesError();
}
if (isOCIRegistryURLProvided) {
if (!((_b = iacOrgSettings.entitlements) === null || _b === void 0 ? void 0 : _b.iacCustomRulesEntitlement)) {
throw new oci_pull_1.UnsupportedEntitlementPullError('iacCustomRulesEntitlement');
}
customRulesPath = await pullIaCCustomRules(buildOciRegistry, iacOrgSettings);
rulesOrigin = types_1.RulesOrigin.Remote;
}
await measurable_methods_1.initLocalCache({ customRulesPath });
return rulesOrigin;
}
exports.initRules = initRules;
/**
* Checks if the OCI registry URL has been provided.
*/
function checkOCIRegistryURLProvided(iacOrgSettings) {
return (checkOCIRegistryURLExistsInSettings(iacOrgSettings) ||
!!user_config_1.config.get('oci-registry-url'));
}
/**
* Checks if the OCI registry URL was provided in the org's IaC settings.
*/
function checkOCIRegistryURLExistsInSettings(iacOrgSettings) {
var _a, _b;
return (!!((_a = iacOrgSettings.customRules) === null || _a === void 0 ? void 0 : _a.isEnabled) &&
!!((_b = iacOrgSettings.customRules) === null || _b === void 0 ? void 0 : _b.ociRegistryURL));
}
/**
* Extracts the OCI registry URL components from the org's IaC settings.
*/
function getOCIRegistryURLComponentsFromSettings(iacOrgSettings) {
const settingsOCIRegistryURL = iacOrgSettings.customRules.ociRegistryURL;
return {
...oci_pull_1.extractOCIRegistryURLComponents(settingsOCIRegistryURL),
tag: iacOrgSettings.customRules.ociRegistryTag || 'latest',
};
}
/**
* Extracts the OCI registry URL components from the environment variables.
*/
function getOCIRegistryURLComponentsFromEnv() {
const envOCIRegistryURL = user_config_1.config.get('oci-registry-url');
if (!url_utils_1.isValidUrl(envOCIRegistryURL)) {
throw new oci_pull_1.InvalidRemoteRegistryURLError();
}
return oci_pull_1.extractOCIRegistryURLComponents(envOCIRegistryURL);
}
/**
* Gets the OCI registry URL components from either the env variables or the IaC org settings.
*/
function getOCIRegistryURLComponents(iacOrgSettings) {
if (checkOCIRegistryURLExistsInSettings(iacOrgSettings)) {
return getOCIRegistryURLComponentsFromSettings(iacOrgSettings);
}
// Default is to get the URL from env variables.
return getOCIRegistryURLComponentsFromEnv();
}
function buildDefaultOciRegistry(settings) {
const { registryBase } = getOCIRegistryURLComponents(settings);
const username = user_config_1.config.get('oci-registry-username');
const password = user_config_1.config.get('oci-registry-password');
return new oci_registry_1.RemoteOciRegistry(registryBase, username, password);
}
exports.buildDefaultOciRegistry = buildDefaultOciRegistry;
/**
* Pull and store the IaC custom-rules bundle from the remote OCI Registry.
*/
async function pullIaCCustomRules(buildOciRegistry, iacOrgSettings) {
const { repo, tag } = getOCIRegistryURLComponents(iacOrgSettings);
try {
return await measurable_methods_1.pull(buildOciRegistry(), repo, tag);
}
catch (err) {
if (err.statusCode === 401) {
throw new FailedToPullCustomBundleError('There was an authentication error. Incorrect credentials provided.');
}
else if (err.statusCode === 404) {
throw new FailedToPullCustomBundleError('The remote repository could not be found. Please check the provided registry URL.');
}
else if (err instanceof oci_pull_1.InvalidManifestSchemaVersionError) {
throw new FailedToPullCustomBundleError(err.message);
}
else if (err instanceof oci_pull_1.FailedToBuildOCIArtifactError) {
throw new oci_pull_1.FailedToBuildOCIArtifactError();
}
else if (err instanceof oci_pull_1.InvalidRemoteRegistryURLError) {
throw new oci_pull_1.InvalidRemoteRegistryURLError();
}
else {
throw new FailedToPullCustomBundleError();
}
}
}
exports.pullIaCCustomRules = pullIaCCustomRules;
class FailedToPullCustomBundleError extends errors_1.CustomError {
constructor(message) {
super(message || 'Could not pull custom bundle');
this.code = types_1.IaCErrorCodes.FailedToPullCustomBundleError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage =
`${message ? message + ' ' : ''}` +
'\nWe were unable to download the custom bundle to the disk. Please ensure access to the remote Registry and validate you have provided all the right parameters.' +
'\nSee documentation on troubleshooting: https://docs.snyk.io/products/snyk-infrastructure-as-code/custom-rules/use-IaC-custom-rules-with-CLI/using-a-remote-custom-rules-bundle#troubleshooting';
}
}
exports.FailedToPullCustomBundleError = FailedToPullCustomBundleError;
class FailedToExecuteCustomRulesError extends errors_1.CustomError {
constructor(message) {
super(message || 'Could not execute custom rules mode');
this.code = types_1.IaCErrorCodes.FailedToExecuteCustomRulesError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage = `
Remote and local custom rules bundle can not be used at the same time.
Please provide a registry URL for the remote bundle, or specify local path location by using the --rules flag for the local bundle.`;
}
}
exports.FailedToExecuteCustomRulesError = FailedToExecuteCustomRulesError;
/***/ }),
/***/ 30922:
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.isValidUrl = void 0;
const URL_REGEX = /^((?:https?:\/\/)?[^./]+(?:\.[^./]+)+(?:\/.*)?)$/;
/**
* Checks if the provided URL string is valid.
*/
function isValidUrl(urlStr) {
return URL_REGEX.test(urlStr);
}
exports.isValidUrl = isValidUrl;
/***/ }),
/***/ 70413:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.TestLimitReachedError = exports.trackUsage = void 0;
const request_1 = __webpack_require__(52050);
const config_1 = __webpack_require__(25425);
const api_token_1 = __webpack_require__(95181);
const errors_1 = __webpack_require__(55191);
async function trackUsage(formattedResults) {
const trackingData = formattedResults.map((res) => {
return {
isPrivate: res.meta.isPrivate,
issuesPrevented: res.result.cloudConfigResults.length,
};
});
const trackingResponse = await request_1.makeRequest({
method: 'POST',
headers: {
Authorization: api_token_1.getAuthHeader(),
},
url: `${config_1.default.API}/track-iac-usage/cli`,
body: { results: trackingData },
gzip: true,
json: true,
});
switch (trackingResponse.res.statusCode) {
case 200:
break;
case 429:
throw new TestLimitReachedError();
default:
throw new errors_1.CustomError('An error occurred while attempting to track test usage: ' +
JSON.stringify(trackingResponse.res.body));
}
}
exports.trackUsage = trackUsage;
class TestLimitReachedError extends errors_1.CustomError {
constructor() {
super('Test limit reached! You have exceeded your infrastructure as code test allocation for this billing period.');
}
}
exports.TestLimitReachedError = TestLimitReachedError;
/***/ }),
/***/ 80039:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.InvalidYamlFileError = exports.InvalidJsonFileError = exports.parseYAMLOrJSONFileData = void 0;
const errors_1 = __webpack_require__(55191);
const error_utils_1 = __webpack_require__(36401);
const types_1 = __webpack_require__(94820);
const cloud_config_parser_1 = __webpack_require__(98611);
function parseYAMLOrJSONFileData(fileData) {
try {
// this function will always be called with the file types recognised by the parser
return cloud_config_parser_1.parseFileContent(fileData.fileContent);
}
catch (e) {
if (fileData.fileType === 'json') {
throw new InvalidJsonFileError(fileData.filePath);
}
else {
throw new InvalidYamlFileError(fileData.filePath);
}
}
}
exports.parseYAMLOrJSONFileData = parseYAMLOrJSONFileData;
class InvalidJsonFileError extends errors_1.CustomError {
constructor(filename) {
super('Failed to parse JSON file');
this.code = types_1.IaCErrorCodes.InvalidJsonFileError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.filename = filename;
this.userMessage = `We were unable to parse the JSON file "${filename}". Please ensure that it contains properly structured JSON`;
}
}
exports.InvalidJsonFileError = InvalidJsonFileError;
class InvalidYamlFileError extends errors_1.CustomError {
constructor(filename) {
super('Failed to parse YAML file');
this.code = types_1.IaCErrorCodes.InvalidYamlFileError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.filename = filename;
this.userMessage = `We were unable to parse the YAML file "${filename}". Please ensure that it contains properly structured YAML, without any template directives`;
}
}
exports.InvalidYamlFileError = InvalidYamlFileError;
/***/ }),
/***/ 51677:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getProjectNameFromGitUrl = exports.buildMeta = void 0;
const pathLib = __webpack_require__(85622);
async function buildMeta(repositoryFinder, orgSettings, projectRoot, remoteRepoUrl, targetName) {
const gitRemoteUrl = await getGitRemoteUrl(repositoryFinder, projectRoot, remoteRepoUrl);
const projectName = getProjectName(projectRoot, gitRemoteUrl, targetName);
const orgName = getOrgName(orgSettings);
return { projectName, orgName, gitRemoteUrl };
}
exports.buildMeta = buildMeta;
function getProjectName(projectRoot, gitRemoteUrl, targetName) {
if (targetName) {
return targetName;
}
if (gitRemoteUrl) {
return getProjectNameFromGitUrl(gitRemoteUrl);
}
return pathLib.basename(pathLib.resolve(projectRoot));
}
function getOrgName(orgSettings) {
return orgSettings.meta.org;
}
async function getGitRemoteUrl(repositoryFinder, projectRoot, remoteRepoUrl) {
if (remoteRepoUrl) {
return remoteRepoUrl;
}
const repository = await repositoryFinder.findRepositoryForPath(projectRoot);
if (!repository) {
return;
}
const resolvedRepositoryRoot = pathLib.resolve(repository.path);
const resolvedProjectRoot = pathLib.resolve(projectRoot);
if (resolvedRepositoryRoot != resolvedProjectRoot) {
return;
}
return await repository.readRemoteUrl();
}
function getProjectNameFromGitUrl(url) {
const regexps = [
/^ssh:\/\/([^@]+@)?[^:/]+(:[^/]+)?\/(?<name>.*).git\/?$/,
/^(git|https?|ftp):\/\/[^:/]+(:[^/]+)?\/(?<name>.*).git\/?$/,
/^[^@]+@[^:]+:(?<name>.*).git$/,
];
const trimmed = url.trim();
for (const regexp of regexps) {
const match = trimmed.match(regexp);
if (match && match.groups) {
return match.groups.name;
}
}
return trimmed;
}
exports.getProjectNameFromGitUrl = getProjectNameFromGitUrl;
/***/ }),
/***/ 39313:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.buildOutput = exports.printHeader = exports.buildSpinner = void 0;
const Debug = __webpack_require__(15158);
const os_1 = __webpack_require__(12087);
const chalk_1 = __webpack_require__(32589);
const types_1 = __webpack_require__(55246);
const iac_test_result_1 = __webpack_require__(46816);
const formatters_1 = __webpack_require__(81329);
const iac_output_1 = __webpack_require__(68145);
const format_test_results_1 = __webpack_require__(59744);
const display_result_1 = __webpack_require__(89667);
const assert_iac_options_flag_1 = __webpack_require__(33111);
const ora = __webpack_require__(63395);
const errors_1 = __webpack_require__(55191);
const v2_1 = __webpack_require__(49041);
const iac_output_2 = __webpack_require__(68145);
const debug = Debug('snyk-test');
const SEPARATOR = '\n-------------------------------------------------------\n';
function buildSpinner({ options, isNewIacOutputSupported, }) {
if (iac_output_1.shouldLogUserMessages(options, isNewIacOutputSupported)) {
return ora({ isSilent: options.quiet, stream: process.stdout });
}
}
exports.buildSpinner = buildSpinner;
function printHeader({ options, isNewIacOutputSupported, }) {
if (iac_output_1.shouldLogUserMessages(options, isNewIacOutputSupported)) {
console.log(os_1.EOL + iac_output_1.iacTestTitle + os_1.EOL);
}
}
exports.printHeader = printHeader;
function buildOutput({ results, options, isNewIacOutputSupported, isIacShareCliResultsCustomRulesSupported, isIacCustomRulesEntitlementEnabled, iacOutputMeta, resultOptions, iacScanFailures, iacIgnoredIssuesCount, testSpinner, }) {
// this is any[] to follow the resArray type above
const successResults = [], errorResults = [];
results.forEach((result) => {
if (!(result instanceof Error)) {
successResults.push(result);
}
else {
errorResults.push(result);
}
});
const vulnerableResults = successResults.filter((res) => (res.vulnerabilities && res.vulnerabilities.length) ||
(res.result &&
res.result.cloudConfigResults &&
res.result.cloudConfigResults.length));
const hasErrors = errorResults.length;
const isPartialSuccess = !hasErrors || successResults.length;
const foundVulnerabilities = vulnerableResults.length;
if (isPartialSuccess) {
testSpinner === null || testSpinner === void 0 ? void 0 : testSpinner.succeed(iac_output_1.spinnerSuccessMessage);
}
else {
testSpinner === null || testSpinner === void 0 ? void 0 : testSpinner.stop();
}
// resultOptions is now an array of 1 or more options used for
// the tests results is now an array of 1 or more test results
// values depend on `options.json` value - string or object
const mappedResults = results.map(iac_test_result_1.mapIacTestResult);
const { stdout: dataToSend, stringifiedData, stringifiedJsonData, stringifiedSarifData, } = format_test_results_1.extractDataToSendFromResults(results, mappedResults, options);
if (options.json || options.sarif) {
// if all results are ok (.ok == true)
if (mappedResults.every((res) => res.ok)) {
return types_1.TestCommandResult.createJsonTestCommandResult(stringifiedData, stringifiedJsonData, stringifiedSarifData);
}
const err = new Error(stringifiedData);
if (foundVulnerabilities) {
err.code = 'VULNS';
const dataToSendNoVulns = dataToSend;
delete dataToSendNoVulns.vulnerabilities;
err.jsonNoVulns = dataToSendNoVulns;
}
if (hasErrors && !options.sarif) {
// Take the code of the first problem to go through error
// translation.
// Note: this is done based on the logic done below
// for non-json/sarif outputs, where we take the code of
// the first error.
err.code = errorResults[0].code;
}
err.json = stringifiedData;
err.jsonStringifiedResults = stringifiedJsonData;
err.sarifStringifiedResults = stringifiedSarifData;
throw err;
}
let response = '';
const newOutputTestData = iac_output_2.formatTestData({
oldFormattedResults: successResults,
ignoresCount: iacIgnoredIssuesCount,
iacOutputMeta: iacOutputMeta,
});
if (isNewIacOutputSupported) {
if (isPartialSuccess) {
response +=
os_1.EOL + iac_output_1.getIacDisplayedIssues(newOutputTestData.resultsBySeverity);
}
}
else {
response += results
.map((result, i) => {
return display_result_1.displayResult(results[i], {
...resultOptions[i],
}, result.foundProjectCount);
})
.join(`\n${SEPARATOR}`);
}
if (!isNewIacOutputSupported && hasErrors) {
debug(`Failed to test ${errorResults.length} projects, errors:`);
errorResults.forEach((err) => {
const errString = err.stack ? err.stack.toString() : err.toString();
debug('error: %s', errString);
});
}
let summaryMessage = '';
let errorResultsLength = errorResults.length;
if (iacScanFailures.length || hasErrors) {
errorResultsLength = iacScanFailures.length || errorResults.length;
const thrownErrors = errorResults.map((err) => ({
filePath: err.path,
failureReason: err.message,
}));
const allTestFailures = iacScanFailures
.map((f) => ({
filePath: f.filePath,
failureReason: f.failureReason,
}))
.concat(thrownErrors);
if (hasErrors && !isPartialSuccess) {
response += chalk_1.default.bold.red(summaryMessage);
// take the code of the first problem to go through error
// translation
// HACK as there can be different errors, and we pass only the
// first one
const error = isNewIacOutputSupported && allTestFailures
? new errors_1.FormattedCustomError(errorResults[0].message, iac_output_1.formatFailuresList(allTestFailures))
: new errors_1.CustomError(response);
error.code = errorResults[0].code;
error.userMessage = errorResults[0].userMessage;
error.strCode = errorResults[0].strCode;
throw error;
}
response += isNewIacOutputSupported
? os_1.EOL.repeat(2) + iac_output_1.formatIacTestFailures(allTestFailures)
: iacScanFailures
.map((reason) => chalk_1.default.bold.red(iac_output_1.getIacDisplayErrorFileOutput(reason)))
.join('');
}
if (isPartialSuccess && iacOutputMeta && isNewIacOutputSupported) {
response += `${os_1.EOL}${SEPARATOR}${os_1.EOL}`;
const iacTestSummary = `${iac_output_1.formatIacTestSummary(newOutputTestData)}`;
response += iacTestSummary;
}
if (results.length > 1) {
if (isNewIacOutputSupported) {
response += errorResultsLength ? os_1.EOL.repeat(2) + iac_output_1.failuresTipOutput : '';
}
else {
const projects = results.length === 1 ? 'project' : 'projects';
summaryMessage +=
`\n\n\nTested ${results.length} ${projects}` +
formatters_1.summariseVulnerableResults(vulnerableResults, options) +
formatters_1.summariseErrorResults(errorResultsLength) +
'\n';
}
}
if (foundVulnerabilities) {
response += chalk_1.default.bold.red(summaryMessage);
}
else {
response += chalk_1.default.bold.green(summaryMessage);
}
response += os_1.EOL;
if (assert_iac_options_flag_1.isIacShareResultsOptions(options)) {
if (isNewIacOutputSupported) {
response += buildShareResultsSummary({
options,
iacOutputMeta,
isIacCustomRulesEntitlementEnabled,
isIacShareCliResultsCustomRulesSupported,
isNewIacOutputSupported,
});
}
else {
response += os_1.EOL + iac_output_1.shareResultsOutput(iacOutputMeta);
}
response += os_1.EOL;
}
if (shouldPrintShareResultsTip(options, isNewIacOutputSupported)) {
response += SEPARATOR + os_1.EOL + v2_1.shareResultsTip + os_1.EOL;
}
if (foundVulnerabilities) {
const error = new Error(response);
// take the code of the first problem to go through error
// translation
// HACK as there can be different errors, and we pass only the
// first one
error.code = vulnerableResults[0].code || 'VULNS';
error.userMessage = vulnerableResults[0].userMessage;
error.jsonStringifiedResults = stringifiedJsonData;
error.sarifStringifiedResults = stringifiedSarifData;
throw error;
}
return types_1.TestCommandResult.createHumanReadableTestCommandResult(response, stringifiedJsonData, stringifiedSarifData);
}
exports.buildOutput = buildOutput;
function buildShareResultsSummary({ iacOutputMeta, options, isIacCustomRulesEntitlementEnabled, isNewIacOutputSupported, isIacShareCliResultsCustomRulesSupported, }) {
let response = '';
response += SEPARATOR + os_1.EOL + iac_output_1.formatShareResultsOutput(iacOutputMeta);
if (shouldPrintShareCustomRulesDisclaimer(options, isIacCustomRulesEntitlementEnabled, isNewIacOutputSupported, isIacShareCliResultsCustomRulesSupported)) {
response += os_1.EOL + os_1.EOL + v2_1.shareCustomRulesDisclaimer;
}
return response;
}
function shouldPrintShareResultsTip(options, isNewOutput) {
return iac_output_1.shouldLogUserMessages(options, isNewOutput) && !options.report;
}
function shouldPrintShareCustomRulesDisclaimer(options, isIacCustomRulesEntitlementEnabled, isNewOutput, isIacShareCliResultsCustomRulesSupported) {
return (iac_output_1.shouldLogUserMessages(options, isNewOutput) &&
Boolean(options.rules) &&
isIacCustomRulesEntitlementEnabled &&
!isIacShareCliResultsCustomRulesSupported);
}
/***/ }),
/***/ 71308:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.scan = void 0;
const cloneDeep = __webpack_require__(83465);
const assign = __webpack_require__(31730);
const utils = __webpack_require__(77978);
const iac_output_1 = __webpack_require__(68145);
const local_execution_1 = __webpack_require__(89627);
const assert_iac_options_flag_1 = __webpack_require__(33111);
const rules_1 = __webpack_require__(95343);
const measurable_methods_1 = __webpack_require__(5687);
const types_1 = __webpack_require__(94820);
const pathLib = __webpack_require__(85622);
const errors_1 = __webpack_require__(55191);
const process_results_1 = __webpack_require__(1229);
const error_utils_1 = __webpack_require__(36401);
const git_1 = __webpack_require__(82421);
const git_2 = __webpack_require__(24850);
const meta_1 = __webpack_require__(51677);
async function scan(iacOrgSettings, options, testSpinner, paths, orgPublicId, buildOciRules, projectRoot, remoteRepoUrl, targetName) {
const results = [];
const resultOptions = [];
const repositoryFinder = new DefaultGitRepositoryFinder();
const iacOutputMeta = await meta_1.buildMeta(repositoryFinder, iacOrgSettings, projectRoot, remoteRepoUrl, targetName);
let iacScanFailures = [];
let iacIgnoredIssuesCount = 0;
try {
const rulesOrigin = await rules_1.initRules(buildOciRules, iacOrgSettings, options, orgPublicId);
testSpinner === null || testSpinner === void 0 ? void 0 : testSpinner.start(iac_output_1.spinnerMessage);
for (const path of paths) {
// Create a copy of the options so a specific test can
// modify them i.e. add `options.file` etc. We'll need
// these options later.
const testOpts = cloneDeep(options);
testOpts.path = path;
testOpts.projectName = testOpts['project-name'];
let res;
try {
assert_iac_options_flag_1.assertIaCOptionsFlags(process.argv);
if (pathLib.relative(projectRoot, path).includes('..')) {
throw new CurrentWorkingDirectoryTraversalError(path, projectRoot);
}
const resultsProcessor = new process_results_1.SingleGroupResultsProcessor(projectRoot, orgPublicId, iacOrgSettings, testOpts, iacOutputMeta);
const { results, failures, ignoreCount } = await local_execution_1.test(resultsProcessor, path, testOpts, iacOrgSettings, rulesOrigin);
res = results;
iacScanFailures = [...iacScanFailures, ...(failures || [])];
iacIgnoredIssuesCount += ignoreCount;
}
catch (error) {
res = formatTestError(error);
}
// Not all test results are arrays in order to be backwards compatible
// with scripts that use a callback with test. Coerce results/errors to be arrays
// and add the result options to each to be displayed
const resArray = Array.isArray(res) ? res : [res];
for (let i = 0; i < resArray.length; i++) {
const pathWithOptionalProjectName = resArray[i].filename ||
utils.getPathWithOptionalProjectName(path, resArray[i]);
results.push(assign(resArray[i], { path: pathWithOptionalProjectName }));
// currently testOpts are identical for each test result returned even if it's for multiple projects.
// we want to return the project names, so will need to be crafty in a way that makes sense.
if (!testOpts.projectNames) {
resultOptions.push(testOpts);
}
else {
resultOptions.push(assign(cloneDeep(testOpts), {
projectName: testOpts.projectNames[i],
}));
}
}
}
}
finally {
measurable_methods_1.cleanLocalCache();
}
return {
iacOutputMeta,
iacScanFailures,
iacIgnoredIssuesCount,
results,
resultOptions,
};
}
exports.scan = scan;
// This is a duplicate of commands/test/format-test-error.ts
// we wanted to adjust it and check the case we send errors in an Array
function formatTestError(error) {
let errorResponse;
if (error instanceof Error) {
errorResponse = error;
}
else if (Array.isArray(error)) {
return error.map(formatTestError);
}
else if (typeof error !== 'object') {
errorResponse = new Error(error);
}
else {
try {
errorResponse = JSON.parse(error.message);
}
catch (unused) {
errorResponse = error;
}
}
return errorResponse;
}
class CurrentWorkingDirectoryTraversalError extends errors_1.CustomError {
constructor(path, projectRoot) {
super('Path is outside the current working directory');
this.code = types_1.IaCErrorCodes.CurrentWorkingDirectoryTraversalError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage = `Path is outside the current working directory`;
this.filename = path;
this.projectRoot = projectRoot;
}
}
class DefaultGitRepository {
constructor(path) {
this.path = path;
}
async readRemoteUrl() {
const gitInfo = await git_2.getInfo({
isFromContainer: false,
cwd: this.path,
});
return gitInfo === null || gitInfo === void 0 ? void 0 : gitInfo.remoteUrl;
}
}
class DefaultGitRepositoryFinder {
async findRepositoryForPath(path) {
try {
return new DefaultGitRepository(git_1.getRepositoryRootForPath(path));
}
catch {
return;
}
}
}
/***/ }),
/***/ 2460:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.test = void 0;
const env_paths_1 = __webpack_require__(21766);
const pathLib = __webpack_require__(85622);
const testLib = __webpack_require__(17152);
const config_1 = __webpack_require__(25425);
const output_1 = __webpack_require__(39313);
const iac_output_1 = __webpack_require__(68145);
const output_2 = __webpack_require__(99687);
const get_iac_org_settings_1 = __webpack_require__(11693);
const monitor_1 = __webpack_require__(3708);
const local_execution_1 = __webpack_require__(89627);
async function test(paths, options) {
const testConfig = await prepareTestConfig(paths, options);
const { projectName, orgSettings } = testConfig;
const testSpinner = output_1.buildSpinner({
options,
isNewIacOutputSupported: true,
});
output_1.printHeader({
options,
isNewIacOutputSupported: true,
});
testSpinner === null || testSpinner === void 0 ? void 0 : testSpinner.start(iac_output_1.spinnerMessage);
const scanResult = await testLib.test(testConfig);
return output_2.buildOutput({
scanResult,
testSpinner,
projectName,
orgSettings,
options,
});
}
exports.test = test;
async function prepareTestConfig(paths, options) {
var _a;
const systemCachePath = (_a = config_1.default.CACHE_PATH) !== null && _a !== void 0 ? _a : env_paths_1.default('snyk').cache;
const iacCachePath = pathLib.join(systemCachePath, 'iac');
const projectName = pathLib.basename(process.cwd());
const org = options.org || config_1.default.org;
const orgSettings = await get_iac_org_settings_1.getIacOrgSettings(org);
const projectTags = local_execution_1.parseTags(options);
const attributes = parseAttributes(options);
return {
paths,
iacCachePath,
projectName,
orgSettings,
userRulesBundlePath: config_1.default.IAC_BUNDLE_PATH,
userPolicyEnginePath: config_1.default.IAC_POLICY_ENGINE_PATH,
severityThreshold: options.severityThreshold,
report: !!options.report,
attributes,
projectTags,
};
}
function parseAttributes(options) {
if (options.report) {
return monitor_1.generateProjectAttributes(options);
}
}
/***/ }),
/***/ 86917:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
const Debug = __webpack_require__(15158);
const os_1 = __webpack_require__(12087);
const cloneDeep = __webpack_require__(83465);
const assign = __webpack_require__(31730);
const chalk_1 = __webpack_require__(32589);
const errors_1 = __webpack_require__(55191);
const snyk = __webpack_require__(9146);
const types_1 = __webpack_require__(55246);
const formatters_1 = __webpack_require__(81329);
const utils = __webpack_require__(77978);
const ecosystems_1 = __webpack_require__(5168);
const vuln_helpers_1 = __webpack_require__(14784);
const format_test_results_1 = __webpack_require__(59744);
const validate_credentials_1 = __webpack_require__(4593);
const validate_test_options_1 = __webpack_require__(83476);
const set_default_test_options_1 = __webpack_require__(13285);
const process_command_args_1 = __webpack_require__(52369);
const format_test_error_1 = __webpack_require__(68214);
const display_result_1 = __webpack_require__(89667);
const analytics = __webpack_require__(82744);
const protect_update_notification_1 = __webpack_require__(79304);
const spotlight_vuln_notification_1 = __webpack_require__(24083);
const iac_1 = __webpack_require__(55935);
const iacTestCommandV2 = __webpack_require__(2460);
const feature_flags_1 = __webpack_require__(63011);
const check_paths_1 = __webpack_require__(94501);
const debug = Debug('snyk-test');
const SEPARATOR = '\n-------------------------------------------------------\n';
// TODO: avoid using `as any` whenever it's possible
async function test(...args) {
const { options: originalOptions, paths } = process_command_args_1.processCommandArgs(...args);
const options = set_default_test_options_1.setDefaultTestOptions(originalOptions);
if (originalOptions.iac) {
// temporary placeholder for the "new" flow that integrates with UPE
if ((await feature_flags_1.hasFeatureFlag('iacCliUnifiedEngine', options)) &&
options.experimental) {
return await iacTestCommandV2.test(paths, originalOptions);
}
else {
return await iac_1.default(...args);
}
}
if (!options.docker) {
check_paths_1.checkOSSPaths(paths, options);
}
validate_test_options_1.validateTestOptions(options);
validate_credentials_1.validateCredentials(options);
const packageJsonPathsWithSnykDepForProtect = protect_update_notification_1.getPackageJsonPathsContainingSnykDependency(options.file, paths);
analytics.add('upgradable-snyk-protect-paths', packageJsonPathsWithSnykDepForProtect.length);
// Handles no image arg provided to the container command until
// a validation interface is implemented in the docker plugin.
if (options.docker && paths.length === 0) {
throw new errors_1.MissingArgError();
}
// TODO remove once https://github.com/snyk/cli/pull/3433 is merged
if (options.docker && !options['app-vulns']) {
options['exclude-app-vulns'] = true;
}
const ecosystem = ecosystems_1.getEcosystemForTest(options);
if (ecosystem) {
try {
const commandResult = await ecosystems_1.testEcosystem(ecosystem, paths, options);
return commandResult;
}
catch (error) {
if (error instanceof Error) {
throw error;
}
else {
throw new Error(error);
}
}
}
const resultOptions = [];
const results = [];
// Promise waterfall to test all other paths sequentially
for (const path of paths) {
// Create a copy of the options so a specific test can
// modify them i.e. add `options.file` etc. We'll need
// these options later.
const testOpts = cloneDeep(options);
testOpts.path = path;
testOpts.projectName = testOpts['project-name'];
let res;
try {
res = await snyk.test(path, testOpts);
}
catch (error) {
// not throwing here but instead returning error response
// for legacy flow reasons.
res = format_test_error_1.formatTestError(error);
}
// Not all test results are arrays in order to be backwards compatible
// with scripts that use a callback with test. Coerce results/errors to be arrays
// and add the result options to each to be displayed
const resArray = Array.isArray(res) ? res : [res];
for (let i = 0; i < resArray.length; i++) {
const pathWithOptionalProjectName = utils.getPathWithOptionalProjectName(path, resArray[i]);
results.push(assign(resArray[i], { path: pathWithOptionalProjectName }));
// currently testOpts are identical for each test result returned even if it's for multiple projects.
// we want to return the project names, so will need to be crafty in a way that makes sense.
if (!testOpts.projectNames) {
resultOptions.push(testOpts);
}
else {
resultOptions.push(assign(cloneDeep(testOpts), {
projectName: testOpts.projectNames[i],
}));
}
}
}
const vulnerableResults = results.filter((res) => (res.vulnerabilities && res.vulnerabilities.length) ||
(res.result &&
res.result.cloudConfigResults &&
res.result.cloudConfigResults.length));
const errorResults = results.filter((res) => res instanceof Error);
const notSuccess = errorResults.length > 0;
const foundVulnerabilities = vulnerableResults.length > 0;
// resultOptions is now an array of 1 or more options used for
// the tests results is now an array of 1 or more test results
// values depend on `options.json` value - string or object
const mappedResults = format_test_results_1.createErrorMappedResultsForJsonOutput(results);
const { stdout: dataToSend, stringifiedData, stringifiedJsonData, stringifiedSarifData, } = format_test_results_1.extractDataToSendFromResults(results, mappedResults, options);
if (options.json || options.sarif) {
// if all results are ok (.ok == true)
if (mappedResults.every((res) => res.ok)) {
return types_1.TestCommandResult.createJsonTestCommandResult(stringifiedData, stringifiedJsonData, stringifiedSarifData);
}
const err = new Error(stringifiedData);
if (foundVulnerabilities) {
if (options.failOn) {
const fail = shouldFail(vulnerableResults, options.failOn);
if (!fail) {
// return here to prevent failure
return types_1.TestCommandResult.createJsonTestCommandResult(stringifiedData, stringifiedJsonData, stringifiedSarifData);
}
}
err.code = 'VULNS';
const dataToSendNoVulns = dataToSend;
delete dataToSendNoVulns.vulnerabilities;
err.jsonNoVulns = dataToSendNoVulns;
}
if (notSuccess) {
// Take the code of the first problem to go through error
// translation.
// Note: this is done based on the logic done below
// for non-json/sarif outputs, where we take the code of
// the first error.
err.code = errorResults[0].code;
}
err.json = stringifiedData;
err.jsonStringifiedResults = stringifiedJsonData;
err.sarifStringifiedResults = stringifiedSarifData;
throw err;
}
let response = results
.map((result, i) => {
return display_result_1.displayResult(results[i], resultOptions[i], result.foundProjectCount);
})
.join(`\n${SEPARATOR}`);
if (notSuccess) {
debug(`Failed to test ${errorResults.length} projects, errors:`);
errorResults.forEach((err) => {
const errString = err.stack ? err.stack.toString() : err.toString();
debug('error: %s', errString);
});
}
let summaryMessage = '';
const errorResultsLength = errorResults.length;
if (results.length > 1) {
const projects = results.length === 1 ? 'project' : 'projects';
summaryMessage =
`\n\n\nTested ${results.length} ${projects}` +
formatters_1.summariseVulnerableResults(vulnerableResults, options) +
formatters_1.summariseErrorResults(errorResultsLength) +
'\n';
}
if (notSuccess) {
response += chalk_1.default.bold.red(summaryMessage);
const error = new Error(response);
// take the code of the first problem to go through error
// translation
// HACK as there can be different errors, and we pass only the
// first one
error.code = errorResults[0].code;
error.userMessage = errorResults[0].userMessage;
error.strCode = errorResults[0].strCode;
throw error;
}
if (foundVulnerabilities) {
if (options.failOn) {
const fail = shouldFail(vulnerableResults, options.failOn);
if (!fail) {
// return here to prevent throwing failure
response += chalk_1.default.bold.green(summaryMessage);
response += os_1.EOL + os_1.EOL;
response += protect_update_notification_1.getProtectUpgradeWarningForPaths(packageJsonPathsWithSnykDepForProtect);
return types_1.TestCommandResult.createHumanReadableTestCommandResult(response, stringifiedJsonData, stringifiedSarifData);
}
}
response += chalk_1.default.bold.red(summaryMessage);
response += os_1.EOL + os_1.EOL;
const foundSpotlightVulnIds = spotlight_vuln_notification_1.containsSpotlightVulnIds(results);
const spotlightVulnsMsg = spotlight_vuln_notification_1.notificationForSpotlightVulns(foundSpotlightVulnIds);
response += spotlightVulnsMsg;
const error = new Error(response);
// take the code of the first problem to go through error
// translation
// HACK as there can be different errors, and we pass only the
// first one
error.code = vulnerableResults[0].code || 'VULNS';
error.userMessage = vulnerableResults[0].userMessage;
error.jsonStringifiedResults = stringifiedJsonData;
error.sarifStringifiedResults = stringifiedSarifData;
throw error;
}
response += chalk_1.default.bold.green(summaryMessage);
response += os_1.EOL + os_1.EOL;
response += protect_update_notification_1.getProtectUpgradeWarningForPaths(packageJsonPathsWithSnykDepForProtect);
return types_1.TestCommandResult.createHumanReadableTestCommandResult(response, stringifiedJsonData, stringifiedSarifData);
}
exports.default = test;
function shouldFail(vulnerableResults, failOn) {
// find reasons not to fail
if (failOn === 'all') {
return vuln_helpers_1.hasFixes(vulnerableResults);
}
if (failOn === 'upgradable') {
return vuln_helpers_1.hasUpgrades(vulnerableResults);
}
if (failOn === 'patchable') {
return vuln_helpers_1.hasPatches(vulnerableResults);
}
// should fail by default when there are vulnerable results
return vulnerableResults.length > 0;
}
/***/ }),
/***/ 13285:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.setDefaultTestOptions = void 0;
const config_1 = __webpack_require__(25425);
function setDefaultTestOptions(options) {
const svpSupplied = (options['show-vulnerable-paths'] || '')
.toString()
.toLowerCase();
delete options['show-vulnerable-paths'];
return {
...options,
// org fallback to config unless specified
org: options.org || config_1.default.org,
// making `show-vulnerable-paths` 'some' by default.
showVulnPaths: showVulnPathsMapping[svpSupplied] || 'some',
};
}
exports.setDefaultTestOptions = setDefaultTestOptions;
const showVulnPathsMapping = {
false: 'none',
none: 'none',
true: 'some',
some: 'some',
all: 'all',
};
/***/ }),
/***/ 77978:
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getPathWithOptionalProjectName = void 0;
function getPathWithOptionalProjectName(currPath, testResult) {
let projectName = testResult.projectName;
if (projectName) {
const index = projectName.indexOf('/');
if (index > -1) {
projectName = projectName.substr(index + 1);
}
else {
projectName = undefined;
}
}
const pathWithOptionalProjectName = projectName
? `${currPath}/${projectName}`
: currPath;
return pathWithOptionalProjectName;
}
exports.getPathWithOptionalProjectName = getPathWithOptionalProjectName;
/***/ }),
/***/ 4593:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.validateCredentials = void 0;
const api_token_1 = __webpack_require__(95181);
function validateCredentials(options) {
try {
api_token_1.apiTokenExists();
}
catch (err) {
if (api_token_1.getOAuthToken()) {
return;
}
else if (options.docker && api_token_1.getDockerToken()) {
options.testDepGraphDockerEndpoint = '/docker-jwt/test-dependencies';
options.isDockerUser = true;
}
else {
throw err;
}
}
}
exports.validateCredentials = validateCredentials;
/***/ }),
/***/ 83476:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.validateTestOptions = void 0;
const theme_1 = __webpack_require__(86988);
const common_1 = __webpack_require__(53110);
const fail_on_error_ts_1 = __webpack_require__(18195);
function validateTestOptions(options) {
if (options.severityThreshold &&
!validateSeverityThreshold(options.severityThreshold)) {
throw new Error('INVALID_SEVERITY_THRESHOLD');
}
if (options.failOn && !validateFailOn(options.failOn)) {
const error = new fail_on_error_ts_1.FailOnError();
throw theme_1.color.status.error(error.message);
}
}
exports.validateTestOptions = validateTestOptions;
function validateSeverityThreshold(severityThreshold) {
return common_1.SEVERITIES.map((s) => s.verboseName).indexOf(severityThreshold) > -1;
}
function validateFailOn(arg) {
return Object.keys(common_1.FAIL_ON).includes(arg);
}
/***/ }),
/***/ 18195:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.FailOnError = void 0;
const custom_error_1 = __webpack_require__(17188);
const common_1 = __webpack_require__(53110);
class FailOnError extends custom_error_1.CustomError {
constructor() {
super(FailOnError.ERROR_MESSAGE);
}
}
exports.FailOnError = FailOnError;
FailOnError.ERROR_MESSAGE = 'Invalid fail on argument, please use one of: ' +
Object.keys(common_1.FAIL_ON).join(' | ');
/***/ }),
/***/ 78673:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.UnsupportedEntitlementError = void 0;
const custom_error_1 = __webpack_require__(17188);
class UnsupportedEntitlementError extends custom_error_1.CustomError {
constructor(entitlement, userMessage = `This feature is currently not enabled for your org. To enable it, please contact snyk support.`) {
super('Unsupported feature - Missing the ${entitlementName} entitlement');
this.entitlement = entitlement;
this.code = UnsupportedEntitlementError.ERROR_CODE;
this.userMessage = userMessage;
}
}
exports.UnsupportedEntitlementError = UnsupportedEntitlementError;
UnsupportedEntitlementError.ERROR_CODE = 403;
/***/ }),
/***/ 9401:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getLevel = exports.getResults = exports.getRules = exports.createSarifOutputForOpenSource = void 0;
const upperFirst = __webpack_require__(90039);
const groupBy = __webpack_require__(20276);
const map = __webpack_require__(80820);
const legacy_1 = __webpack_require__(34013);
const LOCK_FILES_TO_MANIFEST_MAP = {
'Gemfile.lock': 'Gemfile',
'package-lock.json': 'package.json',
'yarn.lock': 'package.json',
'Gopkg.lock': 'Gopkg.toml',
'go.sum': 'go.mod',
'composer.lock': 'composer.json',
'Podfile.lock': 'Podfile',
'poetry.lock': 'pyproject.toml',
};
function createSarifOutputForOpenSource(testResults) {
return {
$schema: 'https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json',
version: '2.1.0',
runs: testResults.map(replaceLockfileWithManifest).map((testResult) => ({
tool: {
driver: {
name: 'Snyk Open Source',
rules: getRules(testResult),
},
},
results: getResults(testResult),
})),
};
}
exports.createSarifOutputForOpenSource = createSarifOutputForOpenSource;
function replaceLockfileWithManifest(testResult) {
let targetFile = testResult.displayTargetFile || '';
for (const [key, replacer] of Object.entries(LOCK_FILES_TO_MANIFEST_MAP)) {
targetFile = targetFile.replace(new RegExp(key, 'g'), replacer);
}
return {
...testResult,
vulnerabilities: testResult.vulnerabilities || [],
displayTargetFile: targetFile,
};
}
function getRules(testResult) {
const groupedVulnerabilities = groupBy(testResult.vulnerabilities, 'id');
return map(groupedVulnerabilities, ([vuln, ...moreVulns]) => {
var _a, _b, _c;
const cves = (_b = (_a = vuln.identifiers) === null || _a === void 0 ? void 0 : _a.CVE) === null || _b === void 0 ? void 0 : _b.join();
return {
id: vuln.id,
shortDescription: {
text: `${upperFirst(vuln.severity)} severity - ${vuln.title} vulnerability in ${vuln.packageName}`,
},
fullDescription: {
text: cves
? `(${cves}) ${vuln.name}@${vuln.version}`
: `${vuln.name}@${vuln.version}`,
},
help: {
text: '',
markdown: `* Package Manager: ${testResult.packageManager}
* ${vuln.type === 'license' ? 'Module' : 'Vulnerable module'}: ${vuln.name}
* Introduced through: ${getIntroducedThrough(vuln)}
#### Detailed paths
${[vuln, ...moreVulns]
.map((item) => `* _Introduced through_: ${item.from.join(' ')}`)
.join('\n')}
${vuln.description}`.replace(/##\s/g, '# '),
},
properties: {
tags: [
'security',
...(((_c = vuln.identifiers) === null || _c === void 0 ? void 0 : _c.CWE) || []),
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
testResult.packageManager,
],
},
};
});
}
exports.getRules = getRules;
function getResults(testResult) {
const groupedVulnerabilities = groupBy(testResult.vulnerabilities, 'id');
return map(groupedVulnerabilities, ([vuln]) => ({
ruleId: vuln.id,
level: getLevel(vuln),
message: {
text: `This file introduces a vulnerable ${vuln.packageName} package with a ${vuln.severity} severity vulnerability.`,
},
locations: [
{
physicalLocation: {
artifactLocation: {
uri: testResult.displayTargetFile,
},
region: {
startLine: vuln.lineNumber || 1,
},
},
},
],
}));
}
exports.getResults = getResults;
function getLevel(vuln) {
switch (vuln.severity) {
case legacy_1.SEVERITY.CRITICAL:
case legacy_1.SEVERITY.HIGH:
return 'error';
case legacy_1.SEVERITY.MEDIUM:
return 'warning';
case legacy_1.SEVERITY.LOW:
default:
return 'note';
}
}
exports.getLevel = getLevel;
function getIntroducedThrough(vuln) {
const [firstFrom, secondFrom] = vuln.from || [];
return vuln.from.length > 2
? `${firstFrom}, ${secondFrom} and others`
: vuln.from.length === 2
? `${firstFrom} and ${secondFrom}`
: firstFrom;
}
/***/ }),
/***/ 30417:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.showFixTip = void 0;
const chalk_1 = __webpack_require__(32589);
const detect_1 = __webpack_require__(45318);
function showFixTip(projectType, res, options) {
const snykFixSupported = ['pip', 'poetry'];
if (!snykFixSupported.includes(projectType) || !detect_1.isLocalFolder(options.path)) {
return '';
}
if (!res.ok && res.vulnerabilities.length > 0) {
return (`Tip: Try ${chalk_1.default.bold('`snyk fix`')} to address these issues.${chalk_1.default.bold('`snyk fix`')} is a new CLI command in that aims to automatically apply the recommended updates for supported ecosystems.` +
'\nSee documentation on how to enable this beta feature: https://docs.snyk.io/snyk-cli/fix-vulnerabilities-from-the-cli/automatic-remediation-with-snyk-fix#enabling-snyk-fix');
}
return '';
}
exports.showFixTip = showFixTip;
/***/ }),
/***/ 89667:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.displayResult = void 0;
const chalk_1 = __webpack_require__(32589);
const theme_1 = __webpack_require__(86988);
const is_ci_1 = __webpack_require__(10090);
const detect_1 = __webpack_require__(45318);
const formatters_1 = __webpack_require__(81329);
const iac_output_1 = __webpack_require__(68145);
const constants_1 = __webpack_require__(68620);
const format_test_results_1 = __webpack_require__(59744);
const show_multi_scan_tip_1 = __webpack_require__(95100);
function displayResult(res, options, foundProjectCount) {
const meta = formatters_1.formatTestMeta(res, options);
const dockerAdvice = formatters_1.dockerRemediationForDisplay(res);
const projectType = res.packageManager || options.packageManager;
const localPackageTest = detect_1.isLocalFolder(options.path);
let testingPath = options.path;
if (options.iac && res.targetFile) {
testingPath = res.targetFile;
}
const prefix = chalk_1.default.bold.white('\nTesting ' + testingPath + '...\n\n');
// handle errors by extracting their message
if (res instanceof Error) {
return prefix + res.message;
}
const issuesText = res.licensesPolicy ||
constants_1.TEST_SUPPORTED_IAC_PROJECTS.includes(projectType)
? 'issues'
: 'vulnerabilities';
let pathOrDepsText = '';
if (res.dependencyCount) {
pathOrDepsText += res.dependencyCount + ' dependencies';
}
else if (options.iac && res.targetFile) {
pathOrDepsText += res.targetFile;
}
else {
pathOrDepsText += options.path;
}
const testedInfoText = `Tested ${pathOrDepsText} for known ${issuesText}`;
const multiProjectTip = show_multi_scan_tip_1.showMultiScanTip(projectType, options, foundProjectCount);
const multiProjAdvice = multiProjectTip ? `\n\n${multiProjectTip}` : '';
// OK => no vulns found, return
if (res.ok && res.vulnerabilities.length === 0) {
const vulnPathsText = options.showVulnPaths
? 'no vulnerable paths found.'
: 'none were found.';
const summaryOKText = theme_1.color.status.success(`${theme_1.icon.VALID} ${testedInfoText}, ${vulnPathsText}`);
const nextStepsText = localPackageTest
? '\n\nNext steps:' +
'\n- Run `snyk monitor` to be notified ' +
'about new related vulnerabilities.' +
'\n- Run `snyk test` as part of ' +
'your CI/test.'
: '';
// user tested a package@version and got 0 vulns back, but there were dev deps
// to consider
// to consider
const snykPackageTestTip = !(options.docker ||
localPackageTest ||
options.dev)
? '\n\nTip: Snyk only tests production dependencies by default. You can try re-running with the `--dev` flag.'
: '';
const dockerCTA = format_test_results_1.dockerUserCTA(options);
return (prefix +
meta +
'\n\n' +
summaryOKText +
multiProjAdvice +
(is_ci_1.isCI()
? ''
: dockerAdvice + nextStepsText + snykPackageTestTip + dockerCTA));
}
if (constants_1.TEST_SUPPORTED_IAC_PROJECTS.includes(res.packageManager)) {
return iac_output_1.getIacDisplayedOutput(res, testedInfoText, meta, prefix);
}
// NOT OK => We found some vulns, let's format the vulns info
return format_test_results_1.getDisplayedOutput(res, options, testedInfoText, localPackageTest, projectType, meta, prefix, multiProjAdvice, dockerAdvice);
}
exports.displayResult = displayResult;
/***/ }),
/***/ 59744:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.groupVulnerabilities = exports.dockerUserCTA = exports.getDisplayedOutput = exports.createErrorMappedResultsForJsonOutput = exports.extractDataToSendFromResults = void 0;
const format_reachability_1 = __webpack_require__(13331);
const chalk_1 = __webpack_require__(32589);
const config_1 = __webpack_require__(25425);
const cloneDeep = __webpack_require__(83465);
const orderBy = __webpack_require__(75316);
const analytics = __webpack_require__(82744);
const remediation_based_format_issues_1 = __webpack_require__(57995);
const legacy_format_issue_1 = __webpack_require__(63540);
const docker_1 = __webpack_require__(41287);
const sarif_output_1 = __webpack_require__(5034);
const iac_output_1 = __webpack_require__(68145);
const vuln_helpers_1 = __webpack_require__(14784);
const json_1 = __webpack_require__(27019);
const open_source_sarif_output_1 = __webpack_require__(9401);
const get_severity_value_1 = __webpack_require__(24898);
const show_fix_tip_1 = __webpack_require__(30417);
const dist_1 = __webpack_require__(61165);
function createJsonResultOutput(jsonResult, options) {
const jsonResultClone = cloneDeep(jsonResult);
delete jsonResultClone.scanResult;
formatJsonVulnerabilityStructure(jsonResultClone, options);
return jsonResultClone;
}
function formatJsonVulnerabilityStructure(jsonResult, options) {
if (options['group-issues']) {
// Note: we have to reverse the array to keep the existing behavior so that the json output will stay the same.
// Since the entire array is reversed before grouping, we reverse it back after grouping to preserve the grouped vulns order.
const reversedVulnerabilities = jsonResult.vulnerabilities
? jsonResult.vulnerabilities.slice().reverse()
: [];
jsonResult.vulnerabilities = Object.values(reversedVulnerabilities.reduce((acc, vuln) => {
if (!acc[vuln.id]) {
acc[vuln.id] = {
...vuln,
from: [vuln.from],
name: [vuln.name],
};
}
else {
acc[vuln.id].from.push(vuln.from);
acc[vuln.id].name.push(vuln.name);
}
return acc;
}, {})).reverse();
}
if (jsonResult.vulnerabilities) {
jsonResult.vulnerabilities.forEach((vuln) => {
if (vuln.reachability) {
vuln.reachability = format_reachability_1.getReachabilityJson(vuln.reachability);
}
});
}
}
function extractDataToSendFromResults(results, mappedResults, options) {
let sarifData = {};
let stringifiedSarifData = '';
if (options.sarif || options['sarif-file-output']) {
if (options.iac) {
sarifData = iac_output_1.createSarifOutputForIac(results);
}
else if (options.docker) {
sarifData = sarif_output_1.createSarifOutputForContainers(results);
}
else {
sarifData = open_source_sarif_output_1.createSarifOutputForOpenSource(results);
}
stringifiedSarifData = json_1.jsonStringifyLargeObject(sarifData);
}
const jsonResults = mappedResults.map((res) => createJsonResultOutput(res, options));
// backwards compat - strip array IFF only one result
let jsonData = jsonResults.length === 1 ? jsonResults[0] : jsonResults;
// for container projects, we want the app vulns data to be a part of the result object
if (options.docker && jsonResults.length > 1 && !options.experimental) {
const appVulnsData = jsonData.splice(1);
jsonData = jsonData[0];
if (jsonData.vulnerabilities.length === 0) {
// to avoid confusion with other vulns that might be found
jsonData.summary = 'No known operating system vulnerabilities';
}
jsonData['applications'] = appVulnsData;
}
let stringifiedJsonData = '';
if (options.json || options['json-file-output']) {
stringifiedJsonData = json_1.jsonStringifyLargeObject(jsonData);
}
const dataToSend = options.sarif ? sarifData : jsonData;
const stringifiedData = options.sarif
? stringifiedSarifData
: stringifiedJsonData;
return {
stdout: dataToSend,
stringifiedData,
stringifiedJsonData,
stringifiedSarifData,
};
}
exports.extractDataToSendFromResults = extractDataToSendFromResults;
function createErrorMappedResultsForJsonOutput(results) {
const errorMappedResults = results.map((result) => {
// add json for when thrown exception
if (result instanceof Error) {
return {
ok: false,
error: result.message,
path: result.path,
};
}
return result;
});
return errorMappedResults;
}
exports.createErrorMappedResultsForJsonOutput = createErrorMappedResultsForJsonOutput;
function getDisplayedOutput(res, options, testedInfoText, localPackageTest, projectType, meta, prefix, multiProjAdvice, dockerAdvice) {
var _a;
const vulnCount = res.vulnerabilities && res.vulnerabilities.length;
const singleVulnText = res.licensesPolicy ? 'issue' : 'vulnerability';
const multipleVulnsText = res.licensesPolicy ? 'issues' : 'vulnerabilities';
// Text will look like so:
// 'found 232 vulnerabilities, 404 vulnerable paths.'
let vulnCountText = `found ${res.uniqueCount} ` +
(res.uniqueCount === 1 ? singleVulnText : multipleVulnsText);
// Docker is currently not supported as num of paths is inaccurate due to trimming of paths to reduce size.
if (options.showVulnPaths && !options.docker) {
vulnCountText += `, ${vulnCount} vulnerable `;
if (vulnCount === 1) {
vulnCountText += 'path.';
}
else {
vulnCountText += 'paths.';
}
}
else {
vulnCountText += '.';
}
const reachableVulnsText = options.reachableVulns && vulnCount > 0
? ` ${format_reachability_1.summariseReachableVulns(res.vulnerabilities)}`
: '';
const summary = testedInfoText +
', ' +
chalk_1.default.red.bold(vulnCountText) +
chalk_1.default.blue.bold(reachableVulnsText);
const fixTip = show_fix_tip_1.showFixTip(projectType, res, options);
const fixAdvice = fixTip ? `\n\n${fixTip}` : '';
const dockerfileWarning = getDockerfileWarning(res.scanResult);
const dockerSuggestion = getDockerSuggestionText(options, config_1.default, (_a = res === null || res === void 0 ? void 0 : res.docker) === null || _a === void 0 ? void 0 : _a.baseImage);
const dockerDocsLink = getDockerRemediationDocsLink(dockerAdvice, config_1.default);
const vulns = res.vulnerabilities || [];
const groupedVulns = groupVulnerabilities(vulns);
const sortedGroupedVulns = orderBy(groupedVulns, ['metadata.severityValue', 'metadata.name'], ['asc', 'desc']);
const filteredSortedGroupedVulns = sortedGroupedVulns.filter((vuln) => vuln.metadata.packageManager !== 'upstream');
const binariesSortedGroupedVulns = sortedGroupedVulns.filter((vuln) => vuln.metadata.packageManager === 'upstream');
let groupedVulnInfoOutput;
if (res.remediation) {
analytics.add('actionableRemediation', true);
groupedVulnInfoOutput = remediation_based_format_issues_1.formatIssuesWithRemediation(filteredSortedGroupedVulns, res.remediation, options);
}
else {
analytics.add('actionableRemediation', false);
groupedVulnInfoOutput = filteredSortedGroupedVulns.map((vuln) => legacy_format_issue_1.formatIssues(vuln, options));
}
const groupedDockerBinariesVulnInfoOutput = res.docker && binariesSortedGroupedVulns.length
? docker_1.formatDockerBinariesIssues(binariesSortedGroupedVulns, res.docker.binariesVulns, options)
: [];
let body = groupedVulnInfoOutput.join('\n\n') +
'\n\n' +
groupedDockerBinariesVulnInfoOutput.join('\n\n') +
'\n\n' +
meta;
if (res.remediation) {
body = summary + body + fixAdvice;
}
else {
body = body + '\n\n' + summary + fixAdvice;
}
const ignoredIssues = '';
const dockerCTA = dockerUserCTA(options);
return (prefix +
body +
multiProjAdvice +
ignoredIssues +
dockerAdvice +
dockerfileWarning +
dockerSuggestion +
dockerDocsLink +
dockerCTA);
}
exports.getDisplayedOutput = getDisplayedOutput;
function dockerUserCTA(options) {
if (options.isDockerUser) {
return '\n\nFor more free scans that keep your images secure, sign up to Snyk at https://dockr.ly/3ePqVcp';
}
return '';
}
exports.dockerUserCTA = dockerUserCTA;
function getDockerSuggestionText(options, config, baseImageRes) {
if (!options.docker || options.isDockerUser) {
return '';
}
let dockerSuggestion = '';
if (config && config.disableSuggestions !== 'true') {
const optOutSuggestions = '\n\nTo remove this message in the future, please run `snyk config set disableSuggestions=true`';
if (!options.file) {
if (!baseImageRes) {
dockerSuggestion +=
chalk_1.default.bold.white('\n\nSnyk wasnt able to auto detect the base image, use `--file` option to get base image remediation advice.' +
`\nExample: $ snyk container test ${options.path} --file=path/to/Dockerfile`) + optOutSuggestions;
}
}
else if (!options['exclude-base-image-vulns']) {
dockerSuggestion +=
chalk_1.default.bold.white('\n\nPro tip: use `--exclude-base-image-vulns` to exclude from display Docker base image vulnerabilities.') + optOutSuggestions;
}
}
return dockerSuggestion;
}
function getDockerfileWarning(scanResult) {
if (!scanResult) {
return '';
}
const fact = scanResult.facts.find((fact) => fact.type === 'dockerfileAnalysis');
if (!fact) {
return '';
}
const dockerfileAnalysisFact = fact;
if (!dockerfileAnalysisFact.data.error) {
return '';
}
let userMessage = chalk_1.default.yellow('\n\nWarning: Unable to analyse Dockerfile provided through `--file`.');
switch (dockerfileAnalysisFact.data.error.code) {
case dist_1.DockerFileAnalysisErrorCode.BASE_IMAGE_NAME_NOT_FOUND:
userMessage += chalk_1.default.yellow('\n Dockerfile must begin with a FROM instruction. This may be after parser directives, comments, and globally scoped ARGs.');
break;
case dist_1.DockerFileAnalysisErrorCode.BASE_IMAGE_NON_RESOLVABLE:
userMessage += chalk_1.default.yellow('\n Dockerfile must have default values for all ARG instructions.');
break;
}
return userMessage;
}
function getDockerRemediationDocsLink(dockerAdvice, config) {
if (config.disableSuggestions === 'true' || dockerAdvice.length === 0) {
return '';
}
return (chalk_1.default.white('\n\nLearn more: ') +
chalk_1.default.white.underline('https://docs.snyk.io/products/snyk-container/getting-around-the-snyk-container-ui/base-image-detection'));
}
function groupVulnerabilities(vulns) {
return vulns.reduce((map, curr) => {
if (!map[curr.id]) {
map[curr.id] = {};
map[curr.id].list = [];
map[curr.id].metadata = metadataForVuln(curr);
map[curr.id].isIgnored = false;
map[curr.id].isPatched = false;
// Extra added fields for ease of handling
map[curr.id].title = curr.title;
map[curr.id].note = curr.note;
map[curr.id].severity = curr.severity;
map[curr.id].originalSeverity = curr.originalSeverity;
map[curr.id].isNew = vuln_helpers_1.isNewVuln(curr);
map[curr.id].name = curr.name;
map[curr.id].version = curr.version;
map[curr.id].fixedIn = curr.fixedIn;
map[curr.id].dockerfileInstruction = curr.dockerfileInstruction;
map[curr.id].dockerBaseImage = curr.dockerBaseImage;
map[curr.id].nearestFixedInVersion = curr.nearestFixedInVersion;
map[curr.id].legalInstructionsArray = curr.legalInstructionsArray;
map[curr.id].reachability = curr.reachability;
}
map[curr.id].list.push(curr);
if (!map[curr.id].isFixable) {
map[curr.id].isFixable = vuln_helpers_1.isVulnFixable(curr);
}
if (!map[curr.id].note) {
map[curr.id].note = !!curr.note;
}
return map;
}, {});
}
exports.groupVulnerabilities = groupVulnerabilities;
function metadataForVuln(vuln) {
return {
id: vuln.id,
title: vuln.title,
description: vuln.description,
type: vuln.type,
name: vuln.name,
info: vuln.info,
severity: vuln.severity,
severityValue: get_severity_value_1.getSeverityValue(vuln.severity),
isNew: vuln_helpers_1.isNewVuln(vuln),
version: vuln.version,
packageManager: vuln.packageManager,
};
}
/***/ }),
/***/ 88784:
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.convertIacResultToScanResult = void 0;
function convertIacResultToScanResult(iacResult, policy, meta, options) {
var _a;
return {
identity: {
type: iacResult.projectType,
targetFile: iacResult.targetFile,
},
facts: [],
findings: iacResult.violatedPolicies.map((policy) => {
return {
data: { metadata: policy, docId: policy.docId },
type: 'iacIssue',
};
}),
name: iacResult.projectName,
target: buildTarget(meta),
policy: (_a = policy === null || policy === void 0 ? void 0 : policy.toString()) !== null && _a !== void 0 ? _a : '',
targetReference: options === null || options === void 0 ? void 0 : options['target-reference'],
};
}
exports.convertIacResultToScanResult = convertIacResultToScanResult;
function buildTarget(meta) {
if (meta.gitRemoteUrl) {
return { remoteUrl: meta.gitRemoteUrl };
}
return { name: meta.projectName };
}
/***/ }),
/***/ 87198:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SnykIacTestError = exports.getErrorUserMessage = void 0;
const error_utils_1 = __webpack_require__(36401);
const types_1 = __webpack_require__(94820);
const errors_1 = __webpack_require__(55191);
const defaultUserMessage = 'Your test request could not be completed. Please run the command again with the `-d` flag and contact support@snyk.io with the contents of the output';
const snykIacTestErrorsUserMessages = {
NoPaths: 'No valid paths were provided',
CwdTraversal: 'Running the scan from outside of the current working directory is not supported',
NoBundle: 'A rules bundle were not provided',
OpenBundle: "The Snyk CLI couldn't open the rules bundle",
InvalidSeverityThreshold: 'The provided severity threshold is invalid. The following values are supported: "low", "medium", "high", "critical"',
Scan: defaultUserMessage,
UnableToRecognizeInputType: 'Input type was not recognized',
UnsupportedInputType: 'Input type is not supported',
UnableToResolveLocation: 'Could not resolve location of resource/attribute',
UnrecognizedFileExtension: 'Unrecognized file extension',
FailedToParseInput: 'Failed to parse input',
InvalidInput: 'Invalid input',
UnableToReadFile: 'Unable to read file',
UnableToReadDir: 'Unable to read directory',
UnableToReadStdin: 'Unable to read stdin',
FailedToLoadRegoAPI: defaultUserMessage,
FailedToLoadRules: defaultUserMessage,
FailedToCompile: defaultUserMessage,
UnableToReadPath: 'Unable to read path',
NoLoadableInput: "The Snyk CLI couldn't find any valid IaC configuration files to scan",
FailedToShareResults: 'Failed to upload the test results with the platform',
};
function getErrorUserMessage(code) {
if (code < 2000 || code >= 3000) {
return 'INVALID_SNYK_IAC_TEST_ERROR';
}
const errorName = types_1.IaCErrorCodes[code];
if (!errorName) {
return 'INVALID_IAC_ERROR';
}
return snykIacTestErrorsUserMessages[errorName];
}
exports.getErrorUserMessage = getErrorUserMessage;
class SnykIacTestError extends errors_1.CustomError {
constructor(scanError) {
super(scanError.message);
this.code = scanError.code;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage = getErrorUserMessage(this.code);
this.fields = Object.assign({
path: '',
}, scanError.fields);
}
get path() {
var _a;
return (_a = this.fields) === null || _a === void 0 ? void 0 : _a.path;
}
set path(path1) {
this.fields.path = path1;
}
}
exports.SnykIacTestError = SnykIacTestError;
/***/ }),
/***/ 17152:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.test = void 0;
const setup_1 = __webpack_require__(88929);
const scan_1 = __webpack_require__(50277);
async function test(testConfig) {
const { policyEnginePath, rulesBundlePath } = await setup_1.setup(testConfig);
return scan_1.scan(testConfig, policyEnginePath, rulesBundlePath);
}
exports.test = test;
/***/ }),
/***/ 71909:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
// Some of the types below specify fields constrained to a single value. Those
// fields must be produced in the JSON output, and they must have those values
// to keep backwards compatibility.
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.convertEngineToJsonResults = void 0;
const path = __webpack_require__(85622);
const format_test_results_1 = __webpack_require__(59744);
function convertEngineToJsonResults({ results, projectName, orgSettings, }) {
const vulnerabilityGroups = groupVulnerabilitiesByFile(results); // all vulns groups by file
const resourceGroups = groupResourcesByFile(results); // all resources grouped by file
const filesWithoutIssues = findFilesWithoutIssues(resourceGroups, vulnerabilityGroups); // all resources without issues grouped by file
const output = [];
if (results.errors) {
output.push(...format_test_results_1.createErrorMappedResultsForJsonOutput(results.errors));
}
for (const [file, resources] of Object.entries(filesWithoutIssues)) {
output.push(resourcesToResult(orgSettings, projectName, file, resources));
}
for (const [file, vulnerabilities] of Object.entries(vulnerabilityGroups)) {
output.push(vulnerabilitiesToResult(orgSettings, projectName, file, vulnerabilities));
}
return output;
}
exports.convertEngineToJsonResults = convertEngineToJsonResults;
function groupResourcesByFile(results) {
var _a;
const groups = {};
if ((_a = results.results) === null || _a === void 0 ? void 0 : _a.resources) {
for (const resource of results.results.resources) {
if (resource.file) {
const resources = groups[resource.file] || [];
resources.push(resource);
groups[resource.file] = resources;
}
}
}
return groups;
}
function groupVulnerabilitiesByFile(results) {
var _a;
const groups = {};
if ((_a = results.results) === null || _a === void 0 ? void 0 : _a.vulnerabilities) {
for (const vulnerability of results.results.vulnerabilities) {
if (vulnerability.resource.file) {
const vulnerabilities = groups[vulnerability.resource.file] || [];
vulnerabilities.push(vulnerability);
groups[vulnerability.resource.file] = vulnerabilities;
}
}
}
return groups;
}
function findFilesWithoutIssues(resourceGroups, vulnerabilityGroups) {
const groups = {};
for (const [file, resources] of Object.entries(resourceGroups)) {
if (!(file in vulnerabilityGroups)) {
groups[file] = resources;
}
}
return groups;
}
function resourcesToResult(orgSettings, projectName, file, resources) {
const kind = resourcesToKind(resources);
const ignoreSettings = orgSettingsToIgnoreSettings(orgSettings);
const meta = orgSettingsToMeta(orgSettings, ignoreSettings);
const { meta: { org, isPrivate, policy }, } = orgSettings;
return {
meta,
filesystemPolicy: false,
vulnerabilities: [],
dependencyCount: 0,
licensesPolicy: null,
ignoreSettings,
targetFile: file,
projectName,
org,
policy: policy || '',
isPrivate,
targetFilePath: path.resolve(file),
packageManager: kind,
path: process.cwd(),
projectType: kind,
ok: true,
infrastructureAsCodeIssues: [],
};
}
function vulnerabilitiesToResult(orgSettings, projectName, file, vulnerabilities) {
const kind = vulnerabilitiesToKind(vulnerabilities);
const ignoreSettings = orgSettingsToIgnoreSettings(orgSettings);
const meta = orgSettingsToMeta(orgSettings, ignoreSettings);
const infrastructureAsCodeIssues = vulnerabilitiesToIacIssues(vulnerabilities);
const { meta: { org, isPrivate, policy }, } = orgSettings;
return {
meta,
filesystemPolicy: false,
vulnerabilities: [],
dependencyCount: 0,
licensesPolicy: null,
ignoreSettings,
targetFile: file,
projectName,
org,
policy: policy || '',
isPrivate,
targetFilePath: path.resolve(file),
packageManager: kind,
path: process.cwd(),
projectType: kind,
ok: false,
infrastructureAsCodeIssues,
};
}
function vulnerabilitiesToIacIssues(vulnerabilities) {
return vulnerabilities.map((v) => {
return {
severity: v.severity,
resolve: v.remediation,
impact: v.rule.description,
msg: v.resource.formattedPath,
remediation: {
terraform: v.remediation,
},
type: v.resource.kind,
subType: v.resource.type,
issue: v.rule.title,
publicId: v.rule.id,
title: v.rule.title,
references: v.rule.references ? [v.rule.references] : [],
id: v.rule.id,
isIgnored: v.ignored,
iacDescription: {
issue: v.rule.title,
impact: v.rule.description,
resolve: v.remediation,
},
lineNumber: v.resource.line || -1,
documentation: `https://snyk.io/security-rules/${v.rule.id}`,
isGeneratedByCustomRule: false,
path: v.resource.path || [],
compliance: [],
description: v.rule.description,
};
});
}
// TODO: add correct mapping to our packageManger name (will probably be done in `snyk-iac-test`)
function resourcesToKind(resources) {
for (const r of resources) {
return r.kind;
}
return '';
}
function vulnerabilitiesToKind(vulnerabilities) {
for (const v of vulnerabilities) {
return v.resource.kind;
}
return '';
}
function orgSettingsToMeta(orgSettings, ignoreSettings) {
const { meta: { isPrivate, isLicensesEnabled, org, policy }, } = orgSettings;
return {
isPrivate,
isLicensesEnabled,
org,
policy: policy || '',
ignoreSettings,
};
}
function orgSettingsToIgnoreSettings(orgSettings) {
const { meta: { ignoreSettings }, } = orgSettings;
return {
adminOnly: (ignoreSettings === null || ignoreSettings === void 0 ? void 0 : ignoreSettings.adminOnly) || false,
reasonRequired: (ignoreSettings === null || ignoreSettings === void 0 ? void 0 : ignoreSettings.reasonRequired) || false,
disregardFilesystemIgnores: (ignoreSettings === null || ignoreSettings === void 0 ? void 0 : ignoreSettings.disregardFilesystemIgnores) || false,
};
}
/***/ }),
/***/ 99687:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.FoundIssuesError = exports.NoSuccessfulScansError = exports.buildOutput = void 0;
const os_1 = __webpack_require__(12087);
const json_1 = __webpack_require__(71909);
const types_1 = __webpack_require__(55246);
const iac_output_1 = __webpack_require__(68145);
const iac_output_2 = __webpack_require__(68145);
const json_2 = __webpack_require__(27019);
const sarif_1 = __webpack_require__(87999);
const errors_1 = __webpack_require__(55191);
const strip_ansi_1 = __webpack_require__(76003);
function buildOutput({ scanResult, testSpinner, projectName, orgSettings, options, }) {
if (scanResult.results) {
testSpinner === null || testSpinner === void 0 ? void 0 : testSpinner.succeed(iac_output_1.spinnerSuccessMessage);
}
else {
testSpinner === null || testSpinner === void 0 ? void 0 : testSpinner.stop();
}
const { responseData, jsonData, sarifData } = buildTestCommandResultData({
scanResult,
projectName,
orgSettings,
options,
});
if (options.json || options.sarif) {
return types_1.TestCommandResult.createJsonTestCommandResult(responseData, jsonData, sarifData);
}
return types_1.TestCommandResult.createHumanReadableTestCommandResult(responseData, jsonData, sarifData);
}
exports.buildOutput = buildOutput;
function buildTestCommandResultData({ scanResult, projectName, orgSettings, options, }) {
var _a, _b, _c, _d, _e;
const jsonData = json_2.jsonStringifyLargeObject(json_1.convertEngineToJsonResults({
results: scanResult,
projectName,
orgSettings,
}));
const sarifData = json_2.jsonStringifyLargeObject(sarif_1.convertEngineToSarifResults(scanResult));
const isPartialSuccess = ((_b = (_a = scanResult.results) === null || _a === void 0 ? void 0 : _a.resources) === null || _b === void 0 ? void 0 : _b.length) || !((_c = scanResult.errors) === null || _c === void 0 ? void 0 : _c.length);
if (!isPartialSuccess) {
throw new NoSuccessfulScansError({ json: jsonData, sarif: sarifData }, scanResult.errors, options);
}
let responseData;
if (options.json) {
responseData = jsonData;
}
else if (options.sarif) {
responseData = sarifData;
}
else {
responseData = buildTextOutput({ scanResult, projectName, orgSettings });
}
const isFoundIssues = !!((_e = (_d = scanResult.results) === null || _d === void 0 ? void 0 : _d.vulnerabilities) === null || _e === void 0 ? void 0 : _e.length);
if (isFoundIssues) {
throw new FoundIssuesError({
response: responseData,
json: jsonData,
sarif: sarifData,
});
}
return { responseData, jsonData, sarifData };
}
const SEPARATOR = '\n-------------------------------------------------------\n';
function buildTextOutput({ scanResult, projectName, orgSettings, }) {
let response = '';
const testData = iac_output_2.formatSnykIacTestTestData(scanResult.results, projectName, orgSettings.meta.org);
response +=
os_1.EOL +
iac_output_1.getIacDisplayedIssues(testData.resultsBySeverity, {
shouldShowLineNumbers: true,
});
if (scanResult.errors) {
const testFailures = scanResult.errors.map((error) => ({
filePath: error.fields.path,
failureReason: error.userMessage,
}));
response += os_1.EOL.repeat(2) + iac_output_1.formatIacTestFailures(testFailures);
}
response += os_1.EOL;
response += SEPARATOR;
response += os_1.EOL;
response += iac_output_1.formatIacTestSummary(testData);
response += os_1.EOL;
return response;
}
class NoSuccessfulScansError extends errors_1.FormattedCustomError {
constructor(responseData, errors, options) {
const firstErr = errors[0];
const isText = !options.json && !options.sarif;
const message = options.json
? responseData.json
: options.sarif
? responseData.sarif
: firstErr.message;
super(message, isText
? iac_output_1.formatIacTestFailures(errors.map((scanError) => ({
failureReason: scanError.userMessage,
filePath: scanError.fields.path,
})))
: strip_ansi_1.default(message));
this.strCode = firstErr.strCode;
this.code = firstErr.code;
this.json = isText ? responseData.json : message;
this.jsonStringifiedResults = responseData.json;
this.sarifStringifiedResults = responseData.sarif;
this.fields = firstErr.fields;
}
get path() {
var _a;
return (_a = this.fields) === null || _a === void 0 ? void 0 : _a.path;
}
set path(path1) {
this.fields.path = path1;
}
}
exports.NoSuccessfulScansError = NoSuccessfulScansError;
class FoundIssuesError extends errors_1.CustomError {
constructor(responseData) {
super(responseData.response);
this.code = 'VULNS';
this.strCode = 'VULNS';
this.userMessage = responseData.response;
this.jsonStringifiedResults = responseData.json;
this.sarifStringifiedResults = responseData.sarif;
}
}
exports.FoundIssuesError = FoundIssuesError;
/***/ }),
/***/ 87999:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.convertEngineToSarifResults = void 0;
const url_1 = __webpack_require__(78835);
const marked_1 = __webpack_require__(30970);
const path = __webpack_require__(85622);
const upperFirst = __webpack_require__(90039);
const camelCase = __webpack_require__(76884);
const version_1 = __webpack_require__(38217);
const sarif_output_1 = __webpack_require__(5034);
const git_1 = __webpack_require__(82421);
// Used to reference the base path in results.
const PROJECT_ROOT_KEY = 'PROJECTROOT';
function convertEngineToSarifResults(scanResult) {
let repoRoot;
try {
repoRoot = git_1.getRepositoryRoot() + '/';
}
catch {
repoRoot = path.join(process.cwd(), '/'); // the slash at the end is required, otherwise the artifactLocation.uri starts with a slash
}
const tool = {
driver: {
name: 'Snyk IaC',
fullName: 'Snyk Infrastructure as Code',
version: version_1.getVersion(),
informationUri: 'https://docs.snyk.io/products/snyk-infrastructure-as-code',
rules: extractReportingDescriptor(scanResult.results),
},
};
return {
$schema: 'https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json',
version: '2.1.0',
runs: [
{
// https://docs.oasis-open.org/sarif/sarif/v2.1.0/os/sarif-v2.1.0-os.html#_Toc34317498
originalUriBaseIds: {
[PROJECT_ROOT_KEY]: {
uri: url_1.pathToFileURL(repoRoot).href,
description: {
text: 'The root directory for all project files.',
},
},
},
tool,
automationDetails: {
id: 'snyk-iac',
},
results: mapSnykIacTestResultsToSarifResults(scanResult.results),
},
],
};
}
exports.convertEngineToSarifResults = convertEngineToSarifResults;
function extractReportingDescriptor(results) {
const rules = {};
if (!(results === null || results === void 0 ? void 0 : results.vulnerabilities)) {
return Object.values(rules);
}
results.vulnerabilities.forEach((vulnerability) => {
if (rules[vulnerability.rule.id]) {
return;
}
const tags = ['security']; // switch to rules.labels once `snyk-iac-test` includes this info
rules[vulnerability.rule.id] = {
id: vulnerability.rule.id,
name: upperFirst(camelCase(vulnerability.rule.title)).replace(/ /g, ''),
shortDescription: {
text: `${upperFirst(vulnerability.severity)} severity - ${vulnerability.rule.title}`,
},
fullDescription: {
text: vulnerability.rule.description,
},
help: {
text: renderMarkdown(vulnerability.remediation),
markdown: vulnerability.remediation,
},
defaultConfiguration: {
level: sarif_output_1.getIssueLevel(vulnerability.severity),
},
properties: {
tags,
problem: {
severity: vulnerability.severity,
},
},
helpUri: `https://snyk.io/security-rules/${vulnerability.rule.id}`,
};
});
return Object.values(rules);
}
function renderMarkdown(markdown) {
const renderer = {
em(text) {
return text;
},
strong(text) {
return text;
},
link(text) {
return text;
},
blockquote(quote) {
return quote;
},
list(body) {
return body;
},
listitem(text) {
return text;
},
paragraph(text) {
return text;
},
codespan(text) {
return text;
},
code(code) {
return code;
},
heading(text) {
return `${text}\n`;
},
};
marked_1.marked.use({ renderer });
return marked_1.marked.parse(markdown);
}
function mapSnykIacTestResultsToSarifResults(results) {
const result = [];
if (!(results === null || results === void 0 ? void 0 : results.vulnerabilities)) {
return result;
}
results.vulnerabilities.forEach((vulnerability) => {
result.push({
ruleId: vulnerability.rule.id,
message: {
text: `This line contains a potential ${vulnerability.severity} severity misconfiguration`,
},
locations: [
{
physicalLocation: {
artifactLocation: {
uri: vulnerability.resource.file,
uriBaseId: PROJECT_ROOT_KEY,
},
// We exclude the `region` key when the line number is missing or -1.
// https://docs.oasis-open.org/sarif/sarif/v2.0/csprd02/sarif-v2.0-csprd02.html#_Toc10127873
region: {
startLine: vulnerability.resource.line,
},
},
},
],
});
});
return result;
}
/***/ }),
/***/ 50277:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.scan = void 0;
const childProcess = __webpack_require__(63129);
const errors_1 = __webpack_require__(55191);
const types_1 = __webpack_require__(94820);
const error_utils_1 = __webpack_require__(36401);
const newDebug = __webpack_require__(15158);
const results_1 = __webpack_require__(89752);
const os = __webpack_require__(12087);
const fs = __webpack_require__(35747);
const path = __webpack_require__(85622);
const rimraf = __webpack_require__(50984);
const config_1 = __webpack_require__(25425);
const api_token_1 = __webpack_require__(95181);
const analytics_1 = __webpack_require__(82744);
const debug = newDebug('snyk-iac');
function scan(options, policyEnginePath, rulesBundlePath) {
const configPath = createConfig(options);
try {
return scanWithConfig(options, policyEnginePath, rulesBundlePath, configPath);
}
finally {
deleteConfig(configPath);
}
}
exports.scan = scan;
function scanWithConfig(options, policyEnginePath, rulesBundlePath, configPath) {
const args = processFlags(options, rulesBundlePath, configPath);
args.push(...options.paths);
const process = childProcess.spawnSync(policyEnginePath, args, {
encoding: 'utf-8',
stdio: 'pipe',
});
debug('policy engine standard error:\n%s', '\n' + process.stderr);
if (process.status && process.status !== 0) {
throw new ScanError(`invalid exist status: ${process.status}`);
}
if (process.error) {
throw new ScanError(`spawning process: ${process.error}`);
}
let snykIacTestOutput;
try {
snykIacTestOutput = JSON.parse(process.stdout);
}
catch (e) {
throw new ScanError(`invalid output encoding: ${e}`);
}
const testOutput = results_1.mapSnykIacTestOutputToTestOutput(snykIacTestOutput);
return testOutput;
}
function processFlags(options, rulesBundlePath, configPath) {
var _a, _b, _c;
const flags = ['-bundle', rulesBundlePath, '-config', configPath];
if (options.severityThreshold) {
flags.push('-severity-threshold', options.severityThreshold);
}
if ((_a = options.attributes) === null || _a === void 0 ? void 0 : _a.criticality) {
flags.push('-project-business-criticality', options.attributes.criticality.join(','));
}
if ((_b = options.attributes) === null || _b === void 0 ? void 0 : _b.environment) {
flags.push('-project-environment', options.attributes.environment.join(','));
}
if ((_c = options.attributes) === null || _c === void 0 ? void 0 : _c.lifecycle) {
flags.push('-project-lifecycle', options.attributes.lifecycle.join(','));
}
if (options.projectTags) {
const stringifiedTags = options.projectTags
.map((tag) => {
return `${tag.key}=${tag.value}`;
})
.join(',');
flags.push('-project-tags', stringifiedTags);
}
if (options.report) {
flags.push('-report');
}
return flags;
}
function createConfig(options) {
try {
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'snyk-'));
const tempConfig = path.join(tempDir, 'config.json');
const configData = JSON.stringify({
org: options.orgSettings.meta.org,
apiUrl: config_1.default.API,
apiAuth: api_token_1.getAuthHeader(),
allowAnalytics: analytics_1.allowAnalytics(),
});
fs.writeFileSync(tempConfig, configData);
return tempConfig;
}
catch (e) {
throw new ScanError(`unable to create config file: ${e}`);
}
}
function deleteConfig(configPath) {
try {
rimraf.sync(path.dirname(configPath));
}
catch (e) {
debug('unable to delete temporary directory', e);
}
}
class ScanError extends errors_1.CustomError {
constructor(message) {
super(message);
this.code = types_1.IaCErrorCodes.PolicyEngineScanError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage = 'An error occurred when running the scan';
}
}
/***/ }),
/***/ 89752:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.mapSnykIacTestOutputToTestOutput = void 0;
const errors_1 = __webpack_require__(87198);
function mapSnykIacTestOutputToTestOutput(snykIacOutput) {
var _a;
const errors = (_a = snykIacOutput.errors) === null || _a === void 0 ? void 0 : _a.map((err) => new errors_1.SnykIacTestError(err));
const errWithoutPath = errors === null || errors === void 0 ? void 0 : errors.find((err) => { var _a; return !((_a = err.fields) === null || _a === void 0 ? void 0 : _a.path); });
if (errWithoutPath) {
throw errWithoutPath;
}
return {
results: snykIacOutput.results,
errors,
};
}
exports.mapSnykIacTestOutputToTestOutput = mapSnykIacTestOutputToTestOutput;
/***/ }),
/***/ 88929:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.setup = void 0;
const local_cache_1 = __webpack_require__(14379);
async function setup(testConfig) {
return await local_cache_1.initLocalCache(testConfig);
}
exports.setup = setup;
/***/ }),
/***/ 14379:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.initLocalCache = void 0;
const rules_bundle_1 = __webpack_require__(82373);
const policy_engine_1 = __webpack_require__(41135);
const file_utils_1 = __webpack_require__(52761);
const errors_1 = __webpack_require__(55191);
const local_cache_1 = __webpack_require__(50089);
async function initLocalCache(testConfig) {
try {
await file_utils_1.createDirIfNotExists(testConfig.iacCachePath);
const policyEnginePath = await policy_engine_1.initPolicyEngine(testConfig);
const rulesBundlePath = await rules_bundle_1.initRulesBundle(testConfig);
return { policyEnginePath, rulesBundlePath };
}
catch (err) {
throw err instanceof errors_1.CustomError ? err : new local_cache_1.FailedToInitLocalCacheError();
}
}
exports.initLocalCache = initLocalCache;
/***/ }),
/***/ 89574:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.policyEngineChecksum = exports.policyEngineFileName = exports.policyEngineReleaseVersion = void 0;
const utils_1 = __webpack_require__(92040);
/**
* The Policy Engine release version associated with this Snyk CLI version.
*/
exports.policyEngineReleaseVersion = '0.15.0';
/**
* The Policy Engine executable's file name.
*/
exports.policyEngineFileName = utils_1.formatPolicyEngineFileName(exports.policyEngineReleaseVersion);
exports.policyEngineChecksum = utils_1.getChecksum(exports.policyEngineFileName);
/***/ }),
/***/ 92040:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getChecksum = exports.formatPolicyEngineFileName = void 0;
const os = __webpack_require__(12087);
function formatPolicyEngineFileName(releaseVersion) {
let platform = 'Linux';
switch (os.platform()) {
case 'darwin':
platform = 'Darwin';
break;
case 'win32':
platform = 'Windows';
break;
}
const arch = os.arch() === 'arm64' ? 'arm64' : 'x86_64';
const execExt = os.platform() === 'win32' ? '.exe' : '';
return `snyk-iac-test_${releaseVersion}_${platform}_${arch}${execExt}`;
}
exports.formatPolicyEngineFileName = formatPolicyEngineFileName;
// this const is not placed in `index.ts` to avoid circular dependencies
const policyEngineChecksums = `0a2566f393a963c4a863e774fb4fa055ecc5fd018407f4c92213085592693eb9 snyk-iac-test_0.15.0_Linux_x86_64
5d46d756f849704cd811707e552dd9a9e047b01ea6ea43ce424ddd41936b295f snyk-iac-test_0.15.0_Linux_arm64
7c2e881766c26711cd51f5027ff0f84ffae02d419a6489fd219092e5a2b3253d snyk-iac-test_0.15.0_Windows_x86_64.exe
8e1f0c5ba1e0c4b3344218e1373b81a48c25f7d58e755e3032b7f995e4f0a6f8 snyk-iac-test_0.15.0_Windows_arm64.exe
c456b9e7b0eb9c73e406cb955e5dfb6b0adc3cee92b3a17c23ec5f23f37f9eb4 snyk-iac-test_0.15.0_Darwin_x86_64
d6d6e9b0f722b125e7be5e21a03104babad6949bb7ca6f7e2b19cc044fda9169 snyk-iac-test_0.15.0_Darwin_arm64
`;
function getChecksum(policyEngineFileName) {
const lines = policyEngineChecksums.split(/\r?\n/);
const checksumsMap = new Map();
for (const line of lines) {
const [checksum, file] = line.split(/\s+/);
if (file && checksum) {
checksumsMap.set(file, checksum.trim());
}
}
const policyEngineChecksum = checksumsMap.get(policyEngineFileName);
if (!policyEngineChecksum) {
// This is an internal error and technically it should never be thrown
throw new Error(`Could not find checksum for ${policyEngineFileName}`);
}
return policyEngineChecksum;
}
exports.getChecksum = getChecksum;
/***/ }),
/***/ 18739:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.FailedToCachePolicyEngineError = exports.FailedToDownloadPolicyEngineError = exports.policyEngineUrl = exports.downloadPolicyEngine = void 0;
const pathLib = __webpack_require__(85622);
const crypto = __webpack_require__(76417);
const createDebugLogger = __webpack_require__(15158);
const error_utils_1 = __webpack_require__(36401);
const types_1 = __webpack_require__(94820);
const errors_1 = __webpack_require__(55191);
const metrics_1 = __webpack_require__(32971);
const utils_1 = __webpack_require__(42256);
const constants_1 = __webpack_require__(89574);
const file_utils_1 = __webpack_require__(52761);
const debugLog = createDebugLogger('snyk-iac');
async function downloadPolicyEngine(testConfig) {
let downloadDurationSeconds = 0;
const timer = new metrics_1.TimerMetricInstance('iac_policy_engine_download');
timer.start();
const dataBuffer = await fetch();
assertValidChecksum(dataBuffer);
const cachedPolicyEnginePath = await cache(dataBuffer, testConfig.iacCachePath);
timer.stop();
downloadDurationSeconds = Math.round(timer.getValue() / 1000);
debugLog(`Downloaded and cached Policy Engine successfully in ${downloadDurationSeconds} seconds`);
return cachedPolicyEnginePath;
}
exports.downloadPolicyEngine = downloadPolicyEngine;
async function fetch() {
debugLog(`Fetching Policy Engine executable from ${exports.policyEngineUrl}`);
let policyEngineDataBuffer;
try {
policyEngineDataBuffer = await utils_1.fetchCacheResource(exports.policyEngineUrl);
}
catch (err) {
throw new FailedToDownloadPolicyEngineError();
}
debugLog('Policy Engine executable was fetched successfully');
return policyEngineDataBuffer;
}
exports.policyEngineUrl = `https://static.snyk.io/cli/iac/test/v${constants_1.policyEngineReleaseVersion}/${constants_1.policyEngineFileName}`;
class FailedToDownloadPolicyEngineError extends errors_1.CustomError {
constructor() {
super(`Failed to download cache resource from ${exports.policyEngineUrl}`);
this.code = types_1.IaCErrorCodes.FailedToDownloadPolicyEngineError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage =
`Could not fetch cache resource from: ${exports.policyEngineUrl}` +
'\nEnsure valid network connection.';
}
}
exports.FailedToDownloadPolicyEngineError = FailedToDownloadPolicyEngineError;
function assertValidChecksum(dataBuffer) {
const computedChecksum = crypto
.createHash('sha256')
.update(dataBuffer)
.digest('hex');
if (computedChecksum !== constants_1.policyEngineChecksum) {
throw new FailedToDownloadPolicyEngineError();
}
debugLog('Fetched Policy Engine executable has valid checksum');
}
async function cache(dataBuffer, iacCachePath) {
const savePath = pathLib.join(iacCachePath, constants_1.policyEngineFileName);
debugLog(`Caching Policy Engine executable to ${savePath}`);
try {
await file_utils_1.saveFile(dataBuffer, savePath);
}
catch (err) {
throw new FailedToCachePolicyEngineError(savePath);
}
debugLog(`Policy Engine executable was successfully cached`);
return savePath;
}
class FailedToCachePolicyEngineError extends errors_1.CustomError {
constructor(savePath) {
super(`Failed to cache Policy Engine executable to ${savePath}`);
this.code = types_1.IaCErrorCodes.FailedToCachePolicyEngineError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage =
`Could not write the downloaded cache resource to: ${savePath}` +
'\nEnsure the cache directory is writable.';
}
}
exports.FailedToCachePolicyEngineError = FailedToCachePolicyEngineError;
/***/ }),
/***/ 41135:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.initPolicyEngine = void 0;
const createDebugLogger = __webpack_require__(15158);
const lookup_local_1 = __webpack_require__(73164);
const download_1 = __webpack_require__(18739);
const debugLogger = createDebugLogger('snyk-iac');
async function initPolicyEngine(testConfig) {
debugLogger('Looking for Policy Engine locally');
let policyEnginePath = await lookup_local_1.lookupLocalPolicyEngine(testConfig);
if (!policyEnginePath) {
debugLogger(`Downloading the Policy Engine and saving it at ${testConfig.iacCachePath}`);
policyEnginePath = await download_1.downloadPolicyEngine(testConfig);
}
return policyEnginePath;
}
exports.initPolicyEngine = initPolicyEngine;
/***/ }),
/***/ 73164:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.lookupLocalPolicyEngine = exports.InvalidUserPolicyEnginePathError = void 0;
const file_utils_1 = __webpack_require__(52761);
const errors_1 = __webpack_require__(55191);
const types_1 = __webpack_require__(94820);
const error_utils_1 = __webpack_require__(36401);
const constants_1 = __webpack_require__(89574);
const utils_1 = __webpack_require__(42256);
class InvalidUserPolicyEnginePathError extends errors_1.CustomError {
constructor(path, message, userMessage) {
super(message ||
'Failed to find a valid Policy Engine executable in the configured path');
this.code = types_1.IaCErrorCodes.InvalidUserPolicyEnginePathError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage =
userMessage ||
`Could not find a valid Policy Engine executable in the configured path: ${path}` +
'\nEnsure the configured path points to a valid Policy Engine executable.';
}
}
exports.InvalidUserPolicyEnginePathError = InvalidUserPolicyEnginePathError;
async function lookupLocalPolicyEngine(testConfig) {
const validPolicyEngineCondition = async (path) => {
return await file_utils_1.isExe(path);
};
try {
return await utils_1.lookupLocal(testConfig.iacCachePath, constants_1.policyEngineFileName, testConfig.userPolicyEnginePath, validPolicyEngineCondition);
}
catch (err) {
if (err instanceof utils_1.InvalidUserPathError) {
throw new InvalidUserPolicyEnginePathError(testConfig.userPolicyEnginePath);
}
else {
throw err;
}
}
}
exports.lookupLocalPolicyEngine = lookupLocalPolicyEngine;
/***/ }),
/***/ 22964:
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.rulesBundleName = void 0;
exports.rulesBundleName = 'bundle-experimental.tar.gz';
/***/ }),
/***/ 30753:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.FailedToCacheRulesBundleError = exports.FailedToDownloadRulesBundleError = exports.rulesBundleUrl = exports.downloadRulesBundle = void 0;
const createDebugLogger = __webpack_require__(15158);
const path = __webpack_require__(85622);
const error_utils_1 = __webpack_require__(36401);
const types_1 = __webpack_require__(94820);
const errors_1 = __webpack_require__(55191);
const metrics_1 = __webpack_require__(32971);
const file_utils_1 = __webpack_require__(52761);
const utils_1 = __webpack_require__(42256);
const constants_1 = __webpack_require__(22964);
const debugLog = createDebugLogger('snyk-iac');
async function downloadRulesBundle(testConfig) {
let downloadDurationSeconds = 0;
const timer = new metrics_1.TimerMetricInstance('iac_rules_bundle_download');
timer.start();
const dataBuffer = await fetch();
const cachedRulesBundlePath = await cache(dataBuffer, testConfig.iacCachePath);
timer.stop();
downloadDurationSeconds = Math.round(timer.getValue() / 1000);
debugLog(`Downloaded and cached rules bundle successfully in ${downloadDurationSeconds} seconds`);
return cachedRulesBundlePath;
}
exports.downloadRulesBundle = downloadRulesBundle;
async function fetch() {
debugLog(`Fetching rules bundle from ${exports.rulesBundleUrl}`);
let rulesBundleDataBuffer;
try {
rulesBundleDataBuffer = await utils_1.fetchCacheResource(exports.rulesBundleUrl);
}
catch (err) {
throw new FailedToDownloadRulesBundleError();
}
debugLog('Rules bundle was fetched successfully');
return rulesBundleDataBuffer;
}
exports.rulesBundleUrl = 'https://static.snyk.io/cli/wasm/bundle-experimental.tar.gz';
class FailedToDownloadRulesBundleError extends errors_1.CustomError {
constructor() {
super(`Failed to download cache resource from ${exports.rulesBundleUrl}`);
this.code = types_1.IaCErrorCodes.FailedToDownloadRulesBundleError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage =
`Could not fetch cache resource from: ${exports.rulesBundleUrl}` +
'\nEnsure valid network connection.';
}
}
exports.FailedToDownloadRulesBundleError = FailedToDownloadRulesBundleError;
async function cache(dataBuffer, iacCachePath) {
const savePath = path.join(iacCachePath, constants_1.rulesBundleName);
debugLog(`Caching rules bundle to ${savePath}`);
try {
await file_utils_1.saveFile(dataBuffer, savePath);
}
catch (err) {
throw new FailedToCacheRulesBundleError(savePath);
}
debugLog(`Rules bundle was successfully cached`);
return savePath;
}
class FailedToCacheRulesBundleError extends errors_1.CustomError {
constructor(savePath) {
super(`Failed to cache rules bundle to ${savePath}`);
this.code = types_1.IaCErrorCodes.FailedToCacheRulesBundleError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage =
`Could not write the downloaded cache resource to: ${savePath}` +
'\nEnsure the cache directory is writable.';
}
}
exports.FailedToCacheRulesBundleError = FailedToCacheRulesBundleError;
/***/ }),
/***/ 82373:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.initRulesBundle = void 0;
const createDebugLogger = __webpack_require__(15158);
const download_1 = __webpack_require__(30753);
const lookup_local_1 = __webpack_require__(7062);
const debugLogger = createDebugLogger('snyk-iac');
async function initRulesBundle(testConfig) {
debugLogger('Looking for rules bundle locally');
let rulesBundlePath = await lookup_local_1.lookupLocalRulesBundle(testConfig);
if (!rulesBundlePath) {
debugLogger(`Downloading the rules bundle and saving it at ${testConfig.iacCachePath}`);
rulesBundlePath = await download_1.downloadRulesBundle(testConfig);
}
return rulesBundlePath;
}
exports.initRulesBundle = initRulesBundle;
/***/ }),
/***/ 7062:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.InvalidUserRulesBundlePathError = exports.lookupLocalRulesBundle = void 0;
const error_utils_1 = __webpack_require__(36401);
const types_1 = __webpack_require__(94820);
const errors_1 = __webpack_require__(55191);
const file_utils_1 = __webpack_require__(52761);
const utils_1 = __webpack_require__(42256);
const constants_1 = __webpack_require__(22964);
async function lookupLocalRulesBundle(testConfig) {
const validRulesBundleCondition = async (path) => {
return (await file_utils_1.isFile(path)) && (await file_utils_1.isArchive(path));
};
try {
return await utils_1.lookupLocal(testConfig.iacCachePath, constants_1.rulesBundleName, testConfig.userRulesBundlePath, validRulesBundleCondition);
}
catch (err) {
if (err instanceof utils_1.InvalidUserPathError) {
throw new InvalidUserRulesBundlePathError(testConfig.userRulesBundlePath, 'Failed to find a valid Rules Bundle in the configured path');
}
else {
throw err;
}
}
}
exports.lookupLocalRulesBundle = lookupLocalRulesBundle;
class InvalidUserRulesBundlePathError extends errors_1.CustomError {
constructor(path, message) {
super(message);
this.code = types_1.IaCErrorCodes.InvalidUserRulesBundlePathError;
this.strCode = error_utils_1.getErrorStringCode(this.code);
this.userMessage = `Could not find a valid Rules Bundle in the configured path: ${path}`;
}
}
exports.InvalidUserRulesBundlePathError = InvalidUserRulesBundlePathError;
/***/ }),
/***/ 42256:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.fetchCacheResource = exports.InvalidUserPathError = exports.lookupLocal = void 0;
const createDebugLogger = __webpack_require__(15158);
const path = __webpack_require__(85622);
const errors_1 = __webpack_require__(55191);
const request_1 = __webpack_require__(52050);
const debugLogger = createDebugLogger('snyk-iac');
async function lookupLocal(iacCachePath, resourceName, userResourcePath, validResourceCondition) {
// Lookup in custom path.
if (userResourcePath) {
debugLogger('User configured path detected: %s', userResourcePath);
if (await validResourceCondition(userResourcePath)) {
return userResourcePath;
}
else {
// When using this function please catch this Error and throw a new specific Custom Error.
throw new InvalidUserPathError(`Failed to find a valid resource in the configured path: ${userResourcePath}`);
}
}
// Lookup in cache.
else {
const cachedResourcePath = path.join(iacCachePath, resourceName);
if (await validResourceCondition(cachedResourcePath)) {
return cachedResourcePath;
}
}
}
exports.lookupLocal = lookupLocal;
class InvalidUserPathError extends errors_1.CustomError {
constructor(message) {
super(message);
}
}
exports.InvalidUserPathError = InvalidUserPathError;
async function fetchCacheResource(url) {
const { res, body: cacheResourceBuffer } = await request_1.makeRequest({
url,
});
if (res.statusCode !== 200) {
throw new errors_1.CustomError(`Failed to download cache resource from ${url}`);
}
return cacheResourceBuffer;
}
exports.fetchCacheResource = fetchCacheResource;
/***/ }),
/***/ 79304:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getPackageJsonPathsContainingSnykDependency = exports.checkPackageJsonForSnykDependency = exports.packageJsonFileExistsInDirectory = exports.getProtectUpgradeWarningForPaths = void 0;
const os_1 = __webpack_require__(12087);
const theme = __webpack_require__(86988);
const fs = __webpack_require__(35747);
const path = __webpack_require__(85622);
const createDebug = __webpack_require__(15158);
const debug = createDebug('snyk-protect-update-notification');
function getProtectUpgradeWarningForPaths(packageJsonPaths) {
try {
if ((packageJsonPaths === null || packageJsonPaths === void 0 ? void 0 : packageJsonPaths.length) > 0) {
let message = theme.color.status.warn(`${theme.icon.WARNING} WARNING: It looks like you have the \`snyk\` dependency in the \`package.json\` file(s) at the following path(s):` +
os_1.EOL);
packageJsonPaths.forEach((p) => {
message += theme.color.status.warn(` - ${p}` + os_1.EOL);
});
const githubReadmeUrlShort = 'https://snyk.co/ud1cR'; // https://github.com/snyk/snyk/tree/master/packages/snyk-protect#migrating-from-snyk-protect-to-snykprotect
message += theme.color.status.warn(`For more information and migration instructions, see ${githubReadmeUrlShort}` +
os_1.EOL);
return message;
}
else {
return '';
}
}
catch (e) {
debug('Error in getProtectUpgradeWarningForPaths()', e);
return '';
}
}
exports.getProtectUpgradeWarningForPaths = getProtectUpgradeWarningForPaths;
function packageJsonFileExistsInDirectory(directoryPath) {
try {
const packageJsonPath = path.resolve(directoryPath, 'package.json');
const fileExists = fs.existsSync(packageJsonPath);
return fileExists;
}
catch (e) {
debug('Error in packageJsonFileExistsInDirectory()', e);
return false;
}
}
exports.packageJsonFileExistsInDirectory = packageJsonFileExistsInDirectory;
function checkPackageJsonForSnykDependency(packageJsonPath) {
try {
const fileExists = fs.existsSync(packageJsonPath);
if (fileExists) {
const packageJson = fs.readFileSync(packageJsonPath, 'utf8');
const packageJsonObject = JSON.parse(packageJson);
const snykDependency = packageJsonObject.dependencies['snyk'];
if (snykDependency) {
return true;
}
}
}
catch (e) {
debug('Error in checkPackageJsonForSnykDependency()', e);
}
return false;
}
exports.checkPackageJsonForSnykDependency = checkPackageJsonForSnykDependency;
function getPackageJsonPathsContainingSnykDependency(fileOption, paths) {
const packageJsonPathsWithSnykDepForProtect = [];
try {
if (fileOption) {
if (fileOption.endsWith('package.json') ||
fileOption.endsWith('package-lock.json')) {
const directoryWithPackageJson = path.dirname(fileOption);
if (packageJsonFileExistsInDirectory(directoryWithPackageJson)) {
const packageJsonPath = path.resolve(directoryWithPackageJson, 'package.json');
const packageJsonContainsSnykDep = checkPackageJsonForSnykDependency(packageJsonPath);
if (packageJsonContainsSnykDep) {
packageJsonPathsWithSnykDepForProtect.push(packageJsonPath);
}
}
}
}
else {
paths.forEach((testPath) => {
if (packageJsonFileExistsInDirectory(testPath)) {
const packageJsonPath = path.resolve(testPath, 'package.json');
const packageJsonContainsSnykDep = checkPackageJsonForSnykDependency(packageJsonPath);
if (packageJsonContainsSnykDep) {
packageJsonPathsWithSnykDepForProtect.push(packageJsonPath);
}
}
});
}
}
catch (e) {
debug('Error in getPackageJsonPathsContainingSnykDependency()', e);
}
return packageJsonPathsWithSnykDepForProtect;
}
exports.getPackageJsonPathsContainingSnykDependency = getPackageJsonPathsContainingSnykDependency;
/***/ }),
/***/ 46816:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.mapIacIssue = exports.mapIacTestResult = void 0;
const pick = __webpack_require__(25030);
const IAC_ISSUES_KEY = 'infrastructureAsCodeIssues';
function mapIacTestResult(iacTest) {
var _a;
if (iacTest instanceof Error) {
return {
ok: false,
error: iacTest.message,
path: iacTest.path,
};
}
const infrastructureAsCodeIssues = ((_a = iacTest === null || iacTest === void 0 ? void 0 : iacTest.result) === null || _a === void 0 ? void 0 : _a.cloudConfigResults.map(mapIacIssue)) || [];
const { result: { projectType }, ...filteredIacTest } = iacTest;
return {
...filteredIacTest,
projectType,
ok: infrastructureAsCodeIssues.length === 0,
[IAC_ISSUES_KEY]: infrastructureAsCodeIssues,
};
}
exports.mapIacTestResult = mapIacTestResult;
function mapIacIssue(iacIssue) {
// filters out & renames properties we're getting from registry and don't need for the JSON output.
return {
...pick(iacIssue, 'id', 'title', 'severity', 'isIgnored', 'type', 'subType', 'policyEngineType', 'documentation', 'isGeneratedByCustomRule', 'issue', 'impact', 'resolve', 'remediation', 'lineNumber', 'iacDescription', 'publicId', 'msg', 'description', 'references'),
path: iacIssue.cloudConfigPath,
compliance: [],
};
}
exports.mapIacIssue = mapIacIssue;
/***/ }),
/***/ 24083:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.notificationForSpotlightVulns = exports.containsSpotlightVulnIds = void 0;
const theme = __webpack_require__(86988);
const createDebug = __webpack_require__(15158);
const os_1 = __webpack_require__(12087);
const config_1 = __webpack_require__(25425);
const debug = createDebug('snyk-spotlight-vuln-notification');
const spotlightVulnIds = ['SNYK-JAVA-ORGAPACHELOGGINGLOG4J-2314720'];
function containsSpotlightVulnIds(results) {
try {
const spotlightVulnsFound = new Set();
for (const r of results) {
if (r.vulnerabilities) {
for (const v of r.vulnerabilities) {
if (spotlightVulnIds.includes(v.id)) {
spotlightVulnsFound.add(v.id);
}
}
}
}
return [...spotlightVulnsFound];
}
catch (err) {
debug('Error in containsSpotlightVulnIds()', err);
return [];
}
}
exports.containsSpotlightVulnIds = containsSpotlightVulnIds;
function notificationForSpotlightVulns(foundSpotlightVulnsIds) {
try {
if (foundSpotlightVulnsIds.length > 0) {
let message = '';
for (const vulnId of spotlightVulnIds) {
if (vulnId === 'SNYK-JAVA-ORGAPACHELOGGINGLOG4J-2314720') {
message += theme.color.severity.critical(`${theme.icon.WARNING} WARNING: Critical severity vulnerabilities were found with Log4j!` +
os_1.EOL);
for (const vulnId of foundSpotlightVulnsIds) {
message += ` - ${vulnId} (See ${config_1.default.PUBLIC_VULN_DB_URL}/vuln/${vulnId})`;
}
message += os_1.EOL + os_1.EOL;
message +=
theme.color.severity.critical(`We highly recommend fixing this vulnerability. If it cannot be fixed by upgrading, see mitigation information here:`) +
os_1.EOL +
` - ${config_1.default.PUBLIC_VULN_DB_URL}/vuln/SNYK-JAVA-ORGAPACHELOGGINGLOG4J-2314720` +
os_1.EOL +
` - https://snyk.io/blog/log4shell-remediation-cheat-sheet/` +
os_1.EOL;
}
}
return message;
}
return '';
}
catch (err) {
debug('Error in notificationForSpotlightVulns()', err);
return '';
}
}
exports.notificationForSpotlightVulns = notificationForSpotlightVulns;
/***/ }),
/***/ 14784:
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.isVulnFixable = exports.isVulnPatchable = exports.isVulnUpgradable = exports.hasPatches = exports.isPatchable = exports.hasUpgrades = exports.isUpgradable = exports.hasFixes = exports.isFixable = exports.isNewVuln = void 0;
// check if vuln was published in the last month
function isNewVuln(vuln) {
const MONTH = 30 * 24 * 60 * 60 * 1000;
const publicationTime = new Date(vuln.publicationTime).getTime();
return publicationTime > Date.now() - MONTH;
}
exports.isNewVuln = isNewVuln;
function isFixable(testResult) {
return isUpgradable(testResult) || isPatchable(testResult);
}
exports.isFixable = isFixable;
function hasFixes(testResults) {
return testResults.some(isFixable);
}
exports.hasFixes = hasFixes;
function isUpgradable(testResult) {
if (testResult.remediation) {
const { remediation: { upgrade = {}, pin = {} }, } = testResult;
return Object.keys(upgrade).length > 0 || Object.keys(pin).length > 0;
}
// if remediation is not available, fallback on vuln properties
const { vulnerabilities = {} } = testResult;
return vulnerabilities.some(isVulnUpgradable);
}
exports.isUpgradable = isUpgradable;
function hasUpgrades(testResults) {
return testResults.some(isUpgradable);
}
exports.hasUpgrades = hasUpgrades;
function isPatchable(testResult) {
if (testResult.remediation) {
const { remediation: { patch = {} }, } = testResult;
return Object.keys(patch).length > 0;
}
// if remediation is not available, fallback on vuln properties
const { vulnerabilities = {} } = testResult;
return vulnerabilities.some(isVulnPatchable);
}
exports.isPatchable = isPatchable;
function hasPatches(testResults) {
return testResults.some(isPatchable);
}
exports.hasPatches = hasPatches;
function isVulnUpgradable(vuln) {
return vuln.isUpgradable || vuln.isPinnable;
}
exports.isVulnUpgradable = isVulnUpgradable;
function isVulnPatchable(vuln) {
return vuln.isPatchable;
}
exports.isVulnPatchable = isVulnPatchable;
function isVulnFixable(vuln) {
return isVulnUpgradable(vuln) || isVulnPatchable(vuln);
}
exports.isVulnFixable = isVulnFixable;
/***/ }),
/***/ 61520:
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
"use strict";
/* module decorator */ module = __webpack_require__.nmd(module);
/* eslint-disable */
(function() {
var $goVersion = "go1.17.2";
var $global,$module;if(Error.stackTraceLimit=1/0,"undefined"!=typeof window?$global=window:"undefined"!=typeof self?$global=self:"undefined"!=typeof global?($global=global).require=__webpack_require__(43810):$global=this,void 0===$global||void 0===$global.Array)throw new Error("no global object found"); true&&($module=module);var $throwRuntimeError,$linknames={},$packages={},$idCounter=0,$keys=function(e){return e?Object.keys(e):[]},$flushConsole=function(){},$throwNilPointerError=function(){$throwRuntimeError("invalid memory address or nil pointer dereference")},$call=function(e,n,r){return e.apply(n,r)},$makeFunc=function(e){return function(){return $externalize(e(this,new($sliceType($jsObjectPtr))($global.Array.prototype.slice.call(arguments,[]))),$emptyInterface)}},$unused=function(e){},$print=console.log;if(void 0!==$global.process&&$global.require)try{var util=$global.require("util");$print=function(){$global.process.stderr.write(util.format.apply(this,arguments))}}catch(e){}var $println=console.log,$initAllLinknames=function(){for(var e=$keys($packages),n=0;n<e.length;n++){var r=$packages[e[n]].$initLinknames;"function"==typeof r&&r()}},$mapArray=function(e,n){for(var r=new e.constructor(e.length),t=0;t<e.length;t++)r[t]=n(e[t]);return r},$methodVal=function(e,n){var r=e.$methodVals||{};e.$methodVals=r;var t=r[n];if(void 0!==t)return t;var i=e[n];return t=function(){$stackDepthOffset--;try{return i.apply(e,arguments)}finally{$stackDepthOffset++}},r[n]=t,t},$methodExpr=function(e,n){var r=e.prototype[n];return void 0===r.$expr&&(r.$expr=function(){$stackDepthOffset--;try{return e.wrapped&&(arguments[0]=new e(arguments[0])),Function.call.apply(r,arguments)}finally{$stackDepthOffset++}}),r.$expr},$ifaceMethodExprs={},$ifaceMethodExpr=function(e){var n=$ifaceMethodExprs["$"+e];return void 0===n&&(n=$ifaceMethodExprs["$"+e]=function(){$stackDepthOffset--;try{return Function.call.apply(arguments[0][e],arguments)}finally{$stackDepthOffset++}}),n},$subslice=function(e,n,r,t){if(void 0===r&&(r=e.$length),void 0===t&&(t=e.$capacity),(n<0||r<n||t<r||r>e.$capacity||t>e.$capacity)&&$throwRuntimeError("slice bounds out of range"),e===e.constructor.nil)return e;var i=new e.constructor(e.$array);return i.$offset=e.$offset+n,i.$length=r-n,i.$capacity=t-n,i},$substring=function(e,n,r){return(n<0||r<n||r>e.length)&&$throwRuntimeError("slice bounds out of range"),e.substring(n,r)},$sliceToNativeArray=function(e){return e.$array.constructor!==Array?e.$array.subarray(e.$offset,e.$offset+e.$length):e.$array.slice(e.$offset,e.$offset+e.$length)},$sliceToGoArray=function(e,n){var r=n.elem;return void 0!==r&&e.$length<r.len&&$throwRuntimeError("cannot convert slice with length "+e.$length+" to pointer to array with length "+r.len),e==e.constructor.nil?n.nil:e.$array.constructor!==Array?e.$array.subarray(e.$offset,e.$offset+e.$length):0==e.$offset&&e.$length==e.$capacity&&e.$length==r.len?e.$array:0==r.len?new r([]):void $throwRuntimeError("gopherjs: non-numeric slice to underlying array conversion is not supported for subslices")},$convertSliceType=function(e,n){return e==e.constructor.nil?n.nil:$subslice(new n(e.$array),e.$offset,e.$offset+e.$length)},$decodeRune=function(e,n){var r=e.charCodeAt(n);if(r<128)return[r,1];if(r!=r||r<192)return[65533,1];var t=e.charCodeAt(n+1);if(t!=t||t<128||192<=t)return[65533,1];if(r<224)return(a=(31&r)<<6|63&t)<=127?[65533,1]:[a,2];var i=e.charCodeAt(n+2);if(i!=i||i<128||192<=i)return[65533,1];if(r<240)return(a=(15&r)<<12|(63&t)<<6|63&i)<=2047?[65533,1]:55296<=a&&a<=57343?[65533,1]:[a,3];var a,o=e.charCodeAt(n+3);return o!=o||o<128||192<=o?[65533,1]:r<248?(a=(7&r)<<18|(63&t)<<12|(63&i)<<6|63&o)<=65535||1114111<a?[65533,1]:[a,4]:[65533,1]},$encodeRune=function(e){return(e<0||e>1114111||55296<=e&&e<=57343)&&(e=65533),e<=127?String.fromCharCode(e):e<=2047?String.fromCharCode(192|e>>6,128|63&e):e<=65535?String.fromCharCode(224|e>>12,128|e>>6&63,128|63&e):String.fromCharCode(240|e>>18,128|e>>12&63,128|e>>6&63,128|63&e)},$stringToBytes=function(e){for(var n=new Uint8Array(e.length),r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return n},$bytesToString=function(e){if(0===e.$length)return"";for(var n="",r=0;r<e.$length;r+=1e4)n+=String.fromCharCode.apply(void 0,e.$array.subarray(e.$offset+r,e.$offset+Math.min(e.$length,r+1e4)));return n},$stringToRunes=function(e){for(var n,r=new Int32Array(e.length),t=0,i=0;i<e.length;i+=n[1],t++)n=$decodeRune(e,i),r[t]=n[0];return r.subarray(0,t)},$runesToString=function(e){if(0===e.$length)return"";for(var n="",r=0;r<e.$length;r++)n+=$encodeRune(e.$array[e.$offset+r]);return n},$copyString=function(e,n){for(var r=Math.min(n.length,e.$length),t=0;t<r;t++)e.$array[e.$offset+t]=n.charCodeAt(t);return r},$copySlice=function(e,n){var r=Math.min(n.$length,e.$length);return $copyArray(e.$array,n.$array,e.$offset,n.$offset,r,e.constructor.elem),r},$copyArray=function(e,n,r,t,i,a){if(0!==i&&(e!==n||r!==t))if(n.subarray)e.set(n.subarray(t,t+i),r);else{switch(a.kind){case $kindArray:case $kindStruct:if(e===n&&r>t){for(var o=i-1;o>=0;o--)a.copy(e[r+o],n[t+o]);return}for(o=0;o<i;o++)a.copy(e[r+o],n[t+o]);return}if(e===n&&r>t)for(o=i-1;o>=0;o--)e[r+o]=n[t+o];else for(o=0;o<i;o++)e[r+o]=n[t+o]}},$clone=function(e,n){var r=n.zero();return n.copy(r,e),r},$pointerOfStructConversion=function(e,n){void 0===e.$proxies&&(e.$proxies={},e.$proxies[e.constructor.string]=e);var r=e.$proxies[n.string];if(void 0===r){for(var t={},i=0;i<n.elem.fields.length;i++)!function(n){t[n]={get:function(){return e[n]},set:function(r){e[n]=r}}}(n.elem.fields[i].prop);(r=Object.create(n.prototype,t)).$val=r,e.$proxies[n.string]=r,r.$proxies=e.$proxies}return r},$append=function(e){return $internalAppend(e,arguments,1,arguments.length-1)},$appendSlice=function(e,n){if(n.constructor===String){var r=$stringToBytes(n);return $internalAppend(e,r,0,r.length)}return $internalAppend(e,n.$array,n.$offset,n.$length)},$internalAppend=function(e,n,r,t){if(0===t)return e;var i=e.$array,a=e.$offset,o=e.$length+t,$=e.$capacity;if(o>$)if(a=0,$=Math.max(o,e.$capacity<1024?2*e.$capacity:Math.floor(5*e.$capacity/4)),e.$array.constructor===Array){(i=e.$array.slice(e.$offset,e.$offset+e.$length)).length=$;for(var c=e.constructor.elem.zero,u=e.$length;u<$;u++)i[u]=c()}else(i=new e.$array.constructor($)).set(e.$array.subarray(e.$offset,e.$offset+e.$length));$copyArray(i,n,a+e.$length,r,t,e.constructor.elem);var l=new e.constructor(i);return l.$offset=a,l.$length=o,l.$capacity=$,l},$equal=function(e,n,r){if(r===$jsObjectPtr)return e===n;switch(r.kind){case $kindComplex64:case $kindComplex128:return e.$real===n.$real&&e.$imag===n.$imag;case $kindInt64:case $kindUint64:return e.$high===n.$high&&e.$low===n.$low;case $kindArray:if(e.length!==n.length)return!1;for(var t=0;t<e.length;t++)if(!$equal(e[t],n[t],r.elem))return!1;return!0;case $kindStruct:for(t=0;t<r.fields.length;t++){var i=r.fields[t];if(!$equal(e[i.prop],n[i.prop],i.typ))return!1}return!0;case $kindInterface:return $interfaceIsEqual(e,n);default:return e===n}},$interfaceIsEqual=function(e,n){return e===$ifaceNil||n===$ifaceNil?e===n:e.constructor===n.constructor&&(e.constructor===$jsObjectPtr?e.object===n.object:(e.constructor.comparable||$throwRuntimeError("comparing uncomparable type "+e.constructor.string),$equal(e.$val,n.$val,e.constructor)))},$min=Math.min,$mod=function(e,n){return e%n},$parseInt=parseInt,$parseFloat=function(e){return void 0!==e&&null!==e&&e.constructor===Number?e:parseFloat(e)},$froundBuf=new Float32Array(1),$fround=Math.fround||function(e){return $froundBuf[0]=e,$froundBuf[0]},$imul=Math.imul||function(e,n){var r=65535&e,t=65535&n;return r*t+((e>>>16&65535)*t+r*(n>>>16&65535)<<16>>>0)>>0},$floatKey=function(e){return e!=e?"NaN$"+ ++$idCounter:String(e)},$flatten64=function(e){return 4294967296*e.$high+e.$low},$shiftLeft64=function(e,n){return 0===n?e:n<32?new e.constructor(e.$high<<n|e.$low>>>32-n,e.$low<<n>>>0):n<64?new e.constructor(e.$low<<n-32,0):new e.constructor(0,0)},$shiftRightInt64=function(e,n){return 0===n?e:n<32?new e.constructor(e.$high>>n,(e.$low>>>n|e.$high<<32-n)>>>0):n<64?new e.constructor(e.$high>>31,e.$high>>n-32>>>0):e.$high<0?new e.constructor(-1,4294967295):new e.constructor(0,0)},$shiftRightUint64=function(e,n){return 0===n?e:n<32?new e.constructor(e.$high>>>n,(e.$low>>>n|e.$high<<32-n)>>>0):n<64?new e.constructor(0,e.$high>>>n-32):new e.constructor(0,0)},$mul64=function(e,n){var r=e.$high>>>16,t=65535&e.$high,i=e.$low>>>16,a=65535&e.$low,o=n.$high>>>16,$=65535&n.$high,c=n.$low>>>16,u=65535&n.$low,l=0,s=0,f=0,d=0;f+=(d+=a*u)>>>16,s+=(f+=i*u)>>>16,f&=65535,s+=(f+=a*c)>>>16,l+=(s+=t*u)>>>16,s&=65535,l+=(s+=i*c)>>>16,s&=65535,l+=(s+=a*$)>>>16,l+=r*u+t*c+i*$+a*o;var p=((l&=65535)<<16|(s&=65535))>>>0,h=((f&=65535)<<16|(d&=65535))>>>0;return new e.constructor(p,h)},$div64=function(e,n,r){0===n.$high&&0===n.$low&&$throwRuntimeError("integer divide by zero");var t=1,i=1,a=e.$high,o=e.$low;a<0&&(t=-1,i=-1,a=-a,0!==o&&(a--,o=4294967296-o));var $=n.$high,c=n.$low;n.$high<0&&(t*=-1,$=-$,0!==c&&($--,c=4294967296-c));for(var u=0,l=0,s=0;$<2147483648&&(a>$||a===$&&o>c);)$=($<<1|c>>>31)>>>0,c=c<<1>>>0,s++;for(var f=0;f<=s;f++)u=u<<1|l>>>31,l=l<<1>>>0,(a>$||a===$&&o>=c)&&(a-=$,(o-=c)<0&&(a--,o+=4294967296),4294967296===++l&&(u++,l=0)),c=(c>>>1|$<<31)>>>0,$>>>=1;return r?new e.constructor(a*i,o*i):new e.constructor(u*t,l*t)},$divComplex=function(e,n){var r=e.$real===1/0||e.$real===-1/0||e.$imag===1/0||e.$imag===-1/0,t=n.$real===1/0||n.$real===-1/0||n.$imag===1/0||n.$imag===-1/0,i=!r&&(e.$real!=e.$real||e.$imag!=e.$imag),a=!t&&(n.$real!=n.$real||n.$imag!=n.$imag);if(i||a)return new e.constructor(NaN,NaN);if(r&&!t)return new e.constructor(1/0,1/0);if(!r&&t)return new e.constructor(0,0);if(0===n.$real&&0===n.$imag)return 0===e.$real&&0===e.$imag?new e.constructor(NaN,NaN):new e.constructor(1/0,1/0);if(Math.abs(n.$real)<=Math.abs(n.$imag)){var o=n.$real/n.$imag,$=n.$real*o+n.$imag;return new e.constructor((e.$real*o+e.$imag)/$,(e.$imag*o-e.$real)/$)}o=n.$imag/n.$real,$=n.$imag*o+n.$real;return new e.constructor((e.$imag*o+e.$real)/$,(e.$imag-e.$real*o)/$)},$kindBool=1,$kindInt=2,$kindInt8=3,$kindInt16=4,$kindInt32=5,$kindInt64=6,$kindUint=7,$kindUint8=8,$kindUint16=9,$kindUint32=10,$kindUint64=11,$kindUintptr=12,$kindFloat32=13,$kindFloat64=14,$kindComplex64=15,$kindComplex128=16,$kindArray=17,$kindChan=18,$kindFunc=19,$kindInterface=20,$kindMap=21,$kindPtr=22,$kindSlice=23,$kindString=24,$kindStruct=25,$kindUnsafePointer=26,$methodSynthesizers=[],$addMethodSynthesizer=function(e){null!==$methodSynthesizers?$methodSynthesizers.push(e):e()},$synthesizeMethods=function(){$methodSynthesizers.forEach(function(e){e()}),$methodSynthesizers=null},$ifaceKeyFor=function(e){if(e===$ifaceNil)return"nil";var n=e.constructor;return n.string+"$"+n.keyFor(e.$val)},$identity=function(e){return e},$typeIDCounter=0,$idKey=function(e){return void 0===e.$id&&($idCounter++,e.$id=$idCounter),String(e.$id)},$arrayPtrCtor=function(){return function(e){this.$get=function(){return e},this.$set=function(e){typ.copy(this,e)},this.$val=e}},$newType=function(e,n,r,t,i,a,o){var $;switch(n){case $kindBool:case $kindInt:case $kindInt8:case $kindInt16:case $kindInt32:case $kindUint:case $kindUint8:case $kindUint16:case $kindUint32:case $kindUintptr:case $kindUnsafePointer:($=function(e){this.$val=e}).wrapped=!0,$.keyFor=$identity;break;case $kindString:($=function(e){this.$val=e}).wrapped=!0,$.keyFor=function(e){return"$"+e};break;case $kindFloat32:case $kindFloat64:($=function(e){this.$val=e}).wrapped=!0,$.keyFor=function(e){return $floatKey(e)};break;case $kindInt64:($=function(e,n){this.$high=e+Math.floor(Math.ceil(n)/4294967296)>>0,this.$low=n>>>0,this.$val=this}).keyFor=function(e){return e.$high+"$"+e.$low};break;case $kindUint64:($=function(e,n){this.$high=e+Math.floor(Math.ceil(n)/4294967296)>>>0,this.$low=n>>>0,this.$val=this}).keyFor=function(e){return e.$high+"$"+e.$low};break;case $kindComplex64:($=function(e,n){this.$real=$fround(e),this.$imag=$fround(n),this.$val=this}).keyFor=function(e){return e.$real+"$"+e.$imag};break;case $kindComplex128:($=function(e,n){this.$real=e,this.$imag=n,this.$val=this}).keyFor=function(e){return e.$real+"$"+e.$imag};break;case $kindArray:($=function(e){this.$val=e}).wrapped=!0,$.ptr=$newType(4,$kindPtr,"*"+r,!1,"",!1,$arrayPtrCtor()),$.init=function(e,n){$.elem=e,$.len=n,$.comparable=e.comparable,$.keyFor=function(n){return Array.prototype.join.call($mapArray(n,function(n){return String(e.keyFor(n)).replace(/\\/g,"\\\\").replace(/\$/g,"\\$")}),"$")},$.copy=function(n,r){$copyArray(n,r,0,0,r.length,e)},$.ptr.init($),Object.defineProperty($.ptr.nil,"nilCheck",{get:$throwNilPointerError})};break;case $kindChan:($=function(e){this.$val=e}).wrapped=!0,$.keyFor=$idKey,$.init=function(e,n,r){$.elem=e,$.sendOnly=n,$.recvOnly=r};break;case $kindFunc:($=function(e){this.$val=e}).wrapped=!0,$.init=function(e,n,r){$.params=e,$.results=n,$.variadic=r,$.comparable=!1};break;case $kindInterface:($={implementedBy:{},missingMethodFor:{}}).keyFor=$ifaceKeyFor,$.init=function(e){$.methods=e,e.forEach(function(e){$ifaceNil[e.prop]=$throwNilPointerError})};break;case $kindMap:($=function(e){this.$val=e}).wrapped=!0,$.init=function(e,n){$.key=e,$.elem=n,$.comparable=!1};break;case $kindPtr:($=o||function(e,n,r){this.$get=e,this.$set=n,this.$target=r,this.$val=this}).keyFor=$idKey,$.init=function(e){$.elem=e,$.wrapped=e.kind===$kindArray,$.nil=new $($throwNilPointerError,$throwNilPointerError)};break;case $kindSlice:($=function(e){e.constructor!==$.nativeArray&&(e=new $.nativeArray(e)),this.$array=e,this.$offset=0,this.$length=e.length,this.$capacity=e.length,this.$val=this}).init=function(e){$.elem=e,$.comparable=!1,$.nativeArray=$nativeArray(e.kind),$.nil=new $([])};break;case $kindStruct:($=function(e){this.$val=e}).wrapped=!0,$.ptr=$newType(4,$kindPtr,"*"+r,!1,i,a,o),$.ptr.elem=$,$.ptr.prototype.$get=function(){return this},$.ptr.prototype.$set=function(e){$.copy(this,e)},$.init=function(e,n){$.pkgPath=e,$.fields=n,n.forEach(function(e){e.typ.comparable||($.comparable=!1)}),$.keyFor=function(e){var r=e.$val;return $mapArray(n,function(e){return String(e.typ.keyFor(r[e.prop])).replace(/\\/g,"\\\\").replace(/\$/g,"\\$")}).join("$")},$.copy=function(e,r){for(var t=0;t<n.length;t++){var i=n[t];switch(i.typ.kind){case $kindArray:case $kindStruct:i.typ.copy(e[i.prop],r[i.prop]);continue;default:e[i.prop]=r[i.prop];continue}}};var r={};n.forEach(function(e){r[e.prop]={get:$throwNilPointerError,set:$throwNilPointerError}}),$.ptr.nil=Object.create(o.prototype,r),$.ptr.nil.$val=$.ptr.nil,$addMethodSynthesizer(function(){var e=function(e,n,r){void 0===e.prototype[n.prop]&&(e.prototype[n.prop]=function(){var e=this.$val[r.prop];return r.typ===$jsObjectPtr&&(e=new $jsObjectPtr(e)),void 0===e.$val&&(e=new r.typ(e)),e[n.prop].apply(e,arguments)})};n.forEach(function(n){n.embedded&&($methodSet(n.typ).forEach(function(r){e($,r,n),e($.ptr,r,n)}),$methodSet($ptrType(n.typ)).forEach(function(r){e($.ptr,r,n)}))})})};break;default:$panic(new $String("invalid kind: "+n))}switch(n){case $kindBool:case $kindMap:$.zero=function(){return!1};break;case $kindInt:case $kindInt8:case $kindInt16:case $kindInt32:case $kindUint:case $kindUint8:case $kindUint16:case $kindUint32:case $kindUintptr:case $kindUnsafePointer:case $kindFloat32:case $kindFloat64:$.zero=function(){return 0};break;case $kindString:$.zero=function(){return""};break;case $kindInt64:case $kindUint64:case $kindComplex64:case $kindComplex128:var c=new $(0,0);$.zero=function(){return c};break;case $kindPtr:case $kindSlice:$.zero=function(){return $.nil};break;case $kindChan:$.zero=function(){return $chanNil};break;case $kindFunc:$.zero=function(){return $throwNilPointerError};break;case $kindInterface:$.zero=function(){return $ifaceNil};break;case $kindArray:$.zero=function(){var e=$nativeArray($.elem.kind);if(e!==Array)return new e($.len);for(var n=new Array($.len),r=0;r<$.len;r++)n[r]=$.elem.zero();return n};break;case $kindStruct:$.zero=function(){return new $.ptr};break;default:$panic(new $String("invalid kind: "+n))}return $.id=$typeIDCounter,$typeIDCounter++,$.size=e,$.kind=n,$.string=r,$.named=t,$.pkg=i,$.exported=a,$.methods=[],$.methodSetCache=null,$.comparable=!0,$},$methodSet=function(e){if(null!==e.methodSetCache)return e.methodSetCache;var n={},r=e.kind===$kindPtr;if(r&&e.elem.kind===$kindInterface)return e.methodSetCache=[],[];for(var t=[{typ:r?e.elem:e,indirect:r}],i={};t.length>0;){var a=[],o=[];t.forEach(function(e){if(!i[e.typ.string])switch(i[e.typ.string]=!0,e.typ.named&&(o=o.concat(e.typ.methods),e.indirect&&(o=o.concat($ptrType(e.typ).methods))),e.typ.kind){case $kindStruct:e.typ.fields.forEach(function(n){if(n.embedded){var r=n.typ,t=r.kind===$kindPtr;a.push({typ:t?r.elem:r,indirect:e.indirect||t})}});break;case $kindInterface:o=o.concat(e.typ.methods)}}),o.forEach(function(e){void 0===n[e.name]&&(n[e.name]=e)}),t=a}return e.methodSetCache=[],Object.keys(n).sort().forEach(function(r){e.methodSetCache.push(n[r])}),e.methodSetCache},$Bool=$newType(1,$kindBool,"bool",!0,"",!1,null),$Int=$newType(4,$kindInt,"int",!0,"",!1,null),$Int8=$newType(1,$kindInt8,"int8",!0,"",!1,null),$Int16=$newType(2,$kindInt16,"int16",!0,"",!1,null),$Int32=$newType(4,$kindInt32,"int32",!0,"",!1,null),$Int64=$newType(8,$kindInt64,"int64",!0,"",!1,null),$Uint=$newType(4,$kindUint,"uint",!0,"",!1,null),$Uint8=$newType(1,$kindUint8,"uint8",!0,"",!1,null),$Uint16=$newType(2,$kindUint16,"uint16",!0,"",!1,null),$Uint32=$newType(4,$kindUint32,"uint32",!0,"",!1,null),$Uint64=$newType(8,$kindUint64,"uint64",!0,"",!1,null),$Uintptr=$newType(4,$kindUintptr,"uintptr",!0,"",!1,null),$Float32=$newType(4,$kindFloat32,"float32",!0,"",!1,null),$Float64=$newType(8,$kindFloat64,"float64",!0,"",!1,null),$Complex64=$newType(8,$kindComplex64,"complex64",!0,"",!1,null),$Complex128=$newType(16,$kindComplex128,"complex128",!0,"",!1,null),$String=$newType(8,$kindString,"string",!0,"",!1,null),$UnsafePointer=$newType(4,$kindUnsafePointer,"unsafe.Pointer",!0,"unsafe",!1,null),$nativeArray=function(e){switch(e){case $kindInt:return Int32Array;case $kindInt8:return Int8Array;case $kindInt16:return Int16Array;case $kindInt32:return Int32Array;case $kindUint:return Uint32Array;case $kindUint8:return Uint8Array;case $kindUint16:return Uint16Array;case $kindUint32:case $kindUintptr:return Uint32Array;case $kindFloat32:return Float32Array;case $kindFloat64:return Float64Array;default:return Array}},$toNativeArray=function(e,n){var r=$nativeArray(e);return r===Array?n:new r(n)},$arrayTypes={},$arrayType=function(e,n){var r=e.id+"$"+n,t=$arrayTypes[r];return void 0===t&&(t=$newType(12,$kindArray,"["+n+"]"+e.string,!1,"",!1,null),$arrayTypes[r]=t,t.init(e,n)),t},$chanType=function(e,n,r){var t=(r?"<-":"")+"chan"+(n?"<- ":" ");n||r||"<"!=e.string[0]?t+=e.string:t+="("+e.string+")";var i=n?"SendChan":r?"RecvChan":"Chan",a=e[i];return void 0===a&&(a=$newType(4,$kindChan,t,!1,"",!1,null),e[i]=a,a.init(e,n,r)),a},$Chan=function(e,n){(n<0||n>2147483647)&&$throwRuntimeError("makechan: size out of range"),this.$elem=e,this.$capacity=n,this.$buffer=[],this.$sendQueue=[],this.$recvQueue=[],this.$closed=!1},$chanNil=new $Chan(null,0);$chanNil.$sendQueue=$chanNil.$recvQueue={length:0,push:function(){},shift:function(){},indexOf:function(){return-1}};var $funcTypes={},$funcType=function(e,n,r){var t=$mapArray(e,function(e){return e.id}).join(",")+"$"+$mapArray(n,function(e){return e.id}).join(",")+"$"+r,i=$funcTypes[t];if(void 0===i){var a=$mapArray(e,function(e){return e.string});r&&(a[a.length-1]="..."+a[a.length-1].substr(2));var o="func("+a.join(", ")+")";1===n.length?o+=" "+n[0].string:n.length>1&&(o+=" ("+$mapArray(n,function(e){return e.string}).join(", ")+")"),i=$newType(4,$kindFunc,o,!1,"",!1,null),$funcTypes[t]=i,i.init(e,n,r)}return i},$interfaceTypes={},$interfaceType=function(e){var n=$mapArray(e,function(e){return e.pkg+","+e.name+","+e.typ.id}).join("$"),r=$interfaceTypes[n];if(void 0===r){var t="interface {}";0!==e.length&&(t="interface { "+$mapArray(e,function(e){return(""!==e.pkg?e.pkg+".":"")+e.name+e.typ.string.substr(4)}).join("; ")+" }"),r=$newType(8,$kindInterface,t,!1,"",!1,null),$interfaceTypes[n]=r,r.init(e)}return r},$emptyInterface=$interfaceType([]),$ifaceNil={},$error=$newType(8,$kindInterface,"error",!0,"",!1,null);$error.init([{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],!1)}]);var $panicValue,$jsObjectPtr,$jsErrorPtr,$mapTypes={},$mapType=function(e,n){var r=e.id+"$"+n.id,t=$mapTypes[r];return void 0===t&&(t=$newType(4,$kindMap,"map["+e.string+"]"+n.string,!1,"",!1,null),$mapTypes[r]=t,t.init(e,n)),t},$makeMap=function(e,n){for(var r={},t=0;t<n.length;t++){var i=n[t];r[e(i.k)]=i}return r},$ptrType=function(e){var n=e.ptr;return void 0===n&&(n=$newType(4,$kindPtr,"*"+e.string,!1,"",e.exported,null),e.ptr=n,n.init(e)),n},$newDataPointer=function(e,n){return n.elem.kind===$kindStruct?e:new n(function(){return e},function(n){e=n})},$indexPtr=function(e,n,r){if(e.buffer){var t=e.buffer.$ptr=e.buffer.$ptr||{},i=t[e.name]=t[e.name]||{},a=e.BYTES_PER_ELEMENT*n+e.byteOffset;return i[a]||(i[a]=new r(function(){return e[n]},function(r){e[n]=r}))}return e.$ptr=e.$ptr||{},e.$ptr[n]||(e.$ptr[n]=new r(function(){return e[n]},function(r){e[n]=r}))},$sliceType=function(e){var n=e.slice;return void 0===n&&(n=$newType(12,$kindSlice,"[]"+e.string,!1,"",!1,null),e.slice=n,n.init(e)),n},$makeSlice=function(e,n,r){r=r||n,(n<0||n>2147483647)&&$throwRuntimeError("makeslice: len out of range"),(r<0||r<n||r>2147483647)&&$throwRuntimeError("makeslice: cap out of range");var t=new e.nativeArray(r);if(e.nativeArray===Array)for(var i=0;i<r;i++)t[i]=e.elem.zero();var a=new e(t);return a.$length=n,a},$structTypes={},$structType=function(e,n){var r=$mapArray(n,function(e){return e.name+","+e.typ.id+","+e.tag}).join("$"),t=$structTypes[r];if(void 0===t){var i="struct { "+$mapArray(n,function(e){var n=e.typ.string+(""!==e.tag?' "'+e.tag.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"':"");return e.embedded?n:e.name+" "+n}).join("; ")+" }";0===n.length&&(i="struct {}"),t=$newType(0,$kindStruct,i,!1,"",!1,function(){this.$val=this;for(var e=0;e<n.length;e++){var r=n[e];if("_"!=r.name){var t=arguments[e];this[r.prop]=void 0!==t?t:r.typ.zero()}}}),$structTypes[r]=t,t.init(e,n)}return t},$assertType=function(e,n,r){var t,i=n.kind===$kindInterface,a="";if(e===$ifaceNil)t=!1;else if(i){var o=e.constructor.string;if(void 0===(t=n.implementedBy[o])){t=!0;for(var $=$methodSet(e.constructor),c=n.methods,u=0;u<c.length;u++){for(var l=c[u],s=!1,f=0;f<$.length;f++){var d=$[f];if(d.name===l.name&&d.pkg===l.pkg&&d.typ===l.typ){s=!0;break}}if(!s){t=!1,n.missingMethodFor[o]=l.name;break}}n.implementedBy[o]=t}t||(a=n.missingMethodFor[o])}else t=e.constructor===n;if(!t){if(r)return[n.zero(),!1];$panic(new $packages.runtime.TypeAssertionError.ptr($packages.runtime._type.ptr.nil,e===$ifaceNil?$packages.runtime._type.ptr.nil:new $packages.runtime._type.ptr(e.constructor.string),new $packages.runtime._type.ptr(n.string),a))}return i||(e=e.$val),n===$jsObjectPtr&&(e=e.object),r?[e,!0]:e},$stackDepthOffset=0,$getStackDepth=function(){var e=new Error;if(void 0!==e.stack)return $stackDepthOffset+e.stack.split("\n").length},$panicStackDepth=null,$callDeferred=function(e,n,r){if(!r&&null!==e&&-1==$curGoroutine.deferStack.indexOf(e))throw n;if(null===n){if(!$curGoroutine.asleep){$stackDepthOffset--;var t=$panicStackDepth,i=$panicValue,a=$curGoroutine.panicStack.pop();void 0!==a&&($panicStackDepth=$getStackDepth(),$panicValue=a);try{for(;;){if(null===e&&void 0===(e=$curGoroutine.deferStack[$curGoroutine.deferStack.length-1])){if($panicStackDepth=null,a.Object instanceof Error)throw a.Object;var o;throw o=a.constructor===$String?a.$val:void 0!==a.Error?a.Error():void 0!==a.String?a.String():a,new Error(o)}var $=e.pop();if(void 0===$){if($curGoroutine.deferStack.pop(),void 0!==a){e=null;continue}return}var c=$[0].apply($[2],$[1]);if(c&&void 0!==c.$blk){if(e.push([c.$blk,[],c]),r)throw null;return}if(void 0!==a&&null===$panicStackDepth){if(r)throw null;return}}}catch(n){if(r)throw n;$callDeferred(e,n,r)}finally{void 0!==a&&(null!==$panicStackDepth&&$curGoroutine.panicStack.push(a),$panicStackDepth=t,$panicValue=i),$stackDepthOffset++}}}else{var u=null;try{$panic(new $jsErrorPtr(n))}catch(e){u=e}$callDeferred(e,u)}},$panic=function(e){$curGoroutine.panicStack.push(e),$callDeferred(null,null,!0)},$recover=function(){return null===$panicStackDepth||void 0!==$panicStackDepth&&$panicStackDepth!==$getStackDepth()-2?$ifaceNil:($panicStackDepth=null,$panicValue)},$throw=function(e){throw e},$noGoroutine={asleep:!1,exit:!1,deferStack:[],panicStack:[]},$curGoroutine=$noGoroutine,$totalGoroutines=0,$awakeGoroutines=0,$checkForDeadlock=!0,$exportedFunctions=0,$mainFinished=!1,$go=function(e,n){$totalGoroutines++,$awakeGoroutines++;var r=function(){try{$curGoroutine=r;var t=e.apply(void 0,n);if(t&&void 0!==t.$blk)return e=function(){return t.$blk()},void(n=[]);r.exit=!0}catch(e){if(!r.exit)throw e}finally{$curGoroutine=$noGoroutine,r.exit&&($totalGoroutines--,r.asleep=!0),r.asleep&&($awakeGoroutines--,!$mainFinished&&0===$awakeGoroutines&&$checkForDeadlock&&0===$exportedFunctions&&(console.error("fatal error: all goroutines are asleep - deadlock!"),void 0!==$global.process&&$global.process.exit(2)))}};r.asleep=!1,r.exit=!1,r.deferStack=[],r.panicStack=[],$schedule(r)},$scheduled=[],$runScheduled=function(){var e=setTimeout($runScheduled);try{for(var n,r=Date.now();void 0!==(n=$scheduled.shift());){n();var t=Date.now()-r;if(t>4||t<0)break}}finally{0==$scheduled.length&&clearTimeout(e)}},$schedule=function(e){e.asleep&&(e.asleep=!1,$awakeGoroutines++),$scheduled.push(e),$curGoroutine===$noGoroutine&&$runScheduled()},$setTimeout=function(e,n){return $awakeGoroutines++,setTimeout(function(){$awakeGoroutines--,e()},n)},$block=function(){$curGoroutine===$noGoroutine&&$throwRuntimeError("cannot block in JavaScript callback, fix by wrapping code in goroutine"),$curGoroutine.asleep=!0},$send=function(e,n){e.$closed&&$throwRuntimeError("send on closed channel");var r=e.$recvQueue.shift();if(void 0===r){if(!(e.$buffer.length<e.$capacity)){var t,i=$curGoroutine;return e.$sendQueue.push(function(e){return t=e,$schedule(i),n}),$block(),{$blk:function(){t&&$throwRuntimeError("send on closed channel")}}}e.$buffer.push(n)}else r([n,!0])},$recv=function(e){var n=e.$sendQueue.shift();void 0!==n&&e.$buffer.push(n(!1));var r=e.$buffer.shift();if(void 0!==r)return[r,!0];if(e.$closed)return[e.$elem.zero(),!1];var t=$curGoroutine,i={$blk:function(){return this.value}};return e.$recvQueue.push(function(e){i.value=e,$schedule(t)}),$block(),i},$close=function(e){for(e.$closed&&$throwRuntimeError("close of closed channel"),e.$closed=!0;;){var n=e.$sendQueue.shift();if(void 0===n)break;n(!0)}for(;;){var r=e.$recvQueue.shift();if(void 0===r)break;r([e.$elem.zero(),!1])}},$select=function(e){for(var n=[],r=-1,t=0;t<e.length;t++){var i,a=(i=e[t])[0];switch(i.length){case 0:r=t;break;case 1:(0!==a.$sendQueue.length||0!==a.$buffer.length||a.$closed)&&n.push(t);break;case 2:a.$closed&&$throwRuntimeError("send on closed channel"),(0!==a.$recvQueue.length||a.$buffer.length<a.$capacity)&&n.push(t)}}if(0!==n.length&&(r=n[Math.floor(Math.random()*n.length)]),-1!==r)switch((i=e[r]).length){case 0:return[r];case 1:return[r,$recv(i[0])];case 2:return $send(i[0],i[1]),[r]}var o=[],$=$curGoroutine,c={$blk:function(){return this.selection}},u=function(){for(var e=0;e<o.length;e++){var n=o[e],r=n[0],t=r.indexOf(n[1]);-1!==t&&r.splice(t,1)}};for(t=0;t<e.length;t++)!function(n){var r=e[n];switch(r.length){case 1:var t=function(e){c.selection=[n,e],u(),$schedule($)};o.push([r[0].$recvQueue,t]),r[0].$recvQueue.push(t);break;case 2:t=function(){return r[0].$closed&&$throwRuntimeError("send on closed channel"),c.selection=[n],u(),$schedule($),r[1]};o.push([r[0].$sendQueue,t]),r[0].$sendQueue.push(t)}}(t);return $block(),c},$needsExternalization=function(e){switch(e.kind){case $kindBool:case $kindInt:case $kindInt8:case $kindInt16:case $kindInt32:case $kindUint:case $kindUint8:case $kindUint16:case $kindUint32:case $kindUintptr:case $kindFloat32:case $kindFloat64:return!1;default:return e!==$jsObjectPtr}},$externalize=function(e,n){if(n===$jsObjectPtr)return e;switch(n.kind){case $kindBool:case $kindInt:case $kindInt8:case $kindInt16:case $kindInt32:case $kindUint:case $kindUint8:case $kindUint16:case $kindUint32:case $kindUintptr:case $kindFloat32:case $kindFloat64:return e;case $kindInt64:case $kindUint64:return $flatten64(e);case $kindArray:return $needsExternalization(n.elem)?$mapArray(e,function(e){return $externalize(e,n.elem)}):e;case $kindFunc:return $externalizeFunction(e,n,!1);case $kindInterface:return e===$ifaceNil?null:e.constructor===$jsObjectPtr?e.$val.object:$externalize(e.$val,e.constructor);case $kindMap:for(var r={},t=$keys(e),i=0;i<t.length;i++){var a=e[t[i]];r[$externalize(a.k,n.key)]=$externalize(a.v,n.elem)}return r;case $kindPtr:return e===n.nil?null:$externalize(e.$get(),n.elem);case $kindSlice:return $needsExternalization(n.elem)?$mapArray($sliceToNativeArray(e),function(e){return $externalize(e,n.elem)}):$sliceToNativeArray(e);case $kindString:if($isASCII(e))return e;var o,$="";for(i=0;i<e.length;i+=o[1]){var c=(o=$decodeRune(e,i))[0];if(c>65535){var u=Math.floor((c-65536)/1024)+55296,l=(c-65536)%1024+56320;$+=String.fromCharCode(u,l)}else $+=String.fromCharCode(c)}return $;case $kindStruct:var s=$packages.time;if(void 0!==s&&e.constructor===s.Time.ptr){var f=$div64(e.UnixNano(),new $Int64(0,1e6));return new Date($flatten64(f))}var d={},p=function(e,n){if(n===$jsObjectPtr)return e;switch(n.kind){case $kindPtr:return e===n.nil?d:p(e.$get(),n.elem);case $kindStruct:var r=n.fields[0];return p(e[r.prop],r.typ);case $kindInterface:return p(e.$val,e.constructor);default:return d}},h=p(e,n);if(h!==d)return h;h={};for(i=0;i<n.fields.length;i++){var k=n.fields[i];k.exported&&(h[k.name]=$externalize(e[k.prop],k.typ))}return h}$throwRuntimeError("cannot externalize "+n.string)},$externalizeFunction=function(e,n,r){return e===$throwNilPointerError?null:(void 0===e.$externalizeWrapper&&($checkForDeadlock=!1,e.$externalizeWrapper=function(){for(var t=[],i=0;i<n.params.length;i++){if(n.variadic&&i===n.params.length-1){for(var a=n.params[i].elem,o=[],$=i;$<arguments.length;$++)o.push($internalize(arguments[$],a));t.push(new n.params[i](o));break}t.push($internalize(arguments[i],n.params[i]))}var c=e.apply(r?this:void 0,t);switch(n.results.length){case 0:return;case 1:return $externalize(c,n.results[0]);default:for(i=0;i<n.results.length;i++)c[i]=$externalize(c[i],n.results[i]);return c}}),e.$externalizeWrapper)},$internalize=function(e,n,r,t){if(n===$jsObjectPtr)return e;if(n===$jsObjectPtr.elem&&$throwRuntimeError("cannot internalize js.Object, use *js.Object instead"),e&&void 0!==e.__internal_object__)return $assertType(e.__internal_object__,n,!1);var i=$packages.time;if(void 0!==i&&n===i.Time)return null!==e&&void 0!==e&&e.constructor===Date||$throwRuntimeError("cannot internalize time.Time from "+typeof e+", must be Date"),i.Unix(new $Int64(0,0),new $Int64(0,1e6*e.getTime()));if(void 0===t&&(t=new Map),t.has(n)||t.set(n,new Map),t.get(n).has(e))return t.get(n).get(e);switch(n.kind){case $kindBool:return!!e;case $kindInt:return parseInt(e);case $kindInt8:return parseInt(e)<<24>>24;case $kindInt16:return parseInt(e)<<16>>16;case $kindInt32:return parseInt(e)>>0;case $kindUint:return parseInt(e);case $kindUint8:return parseInt(e)<<24>>>24;case $kindUint16:return parseInt(e)<<16>>>16;case $kindUint32:case $kindUintptr:return parseInt(e)>>>0;case $kindInt64:case $kindUint64:return new n(0,e);case $kindFloat32:case $kindFloat64:return parseFloat(e);case $kindArray:return e.length!==n.len&&$throwRuntimeError("got array with wrong size from JavaScript native"),$mapArray(e,function(e){return $internalize(e,n.elem)});case $kindFunc:return function(){for(var t=[],i=0;i<n.params.length;i++){if(n.variadic&&i===n.params.length-1){for(var a=n.params[i].elem,o=arguments[i],$=0;$<o.$length;$++)t.push($externalize(o.$array[o.$offset+$],a));break}t.push($externalize(arguments[i],n.params[i]))}var c=e.apply(r,t);switch(n.results.length){case 0:return;case 1:return $internalize(c,n.results[0]);default:for(i=0;i<n.results.length;i++)c[i]=$internalize(c[i],n.results[i]);return c}};case $kindInterface:if(0!==n.methods.length&&$throwRuntimeError("cannot internalize "+n.string),null===e)return $ifaceNil;if(void 0===e)return new $jsObjectPtr(void 0);switch(e.constructor){case Int8Array:return new($sliceType($Int8))(e);case Int16Array:return new($sliceType($Int16))(e);case Int32Array:return new($sliceType($Int))(e);case Uint8Array:return new($sliceType($Uint8))(e);case Uint16Array:return new($sliceType($Uint16))(e);case Uint32Array:return new($sliceType($Uint))(e);case Float32Array:return new($sliceType($Float32))(e);case Float64Array:return new($sliceType($Float64))(e);case Array:return $internalize(e,$sliceType($emptyInterface));case Boolean:return new $Bool(!!e);case Date:return void 0===i?new $jsObjectPtr(e):new i.Time($internalize(e,i.Time));case function(){}.constructor:var a=$funcType([$sliceType($emptyInterface)],[$jsObjectPtr],!0);return new a($internalize(e,a));case Number:return new $Float64(parseFloat(e));case String:return new $String($internalize(e,$String));default:if($global.Node&&e instanceof $global.Node)return new $jsObjectPtr(e);var o=$mapType($String,$emptyInterface);return new o($internalize(e,o,r,t))}case $kindMap:var $={};t.get(n).set(e,$);for(var c=$keys(e),u=0;u<c.length;u++){var l=$internalize(c[u],n.key,r,t);$[n.key.keyFor(l)]={k:l,v:$internalize(e[c[u]],n.elem,r,t)}}return $;case $kindPtr:if(n.elem.kind===$kindStruct)return $internalize(e,n.elem);case $kindSlice:return new n($mapArray(e,function(e){return $internalize(e,n.elem)}));case $kindString:if(e=String(e),$isASCII(e))return e;var s="";for(u=0;u<e.length;){var f=e.charCodeAt(u);if(55296<=f&&f<=56319){var d=e.charCodeAt(u+1);s+=$encodeRune(1024*(f-55296)+d-56320+65536),u+=2}else s+=$encodeRune(f),u++}return s;case $kindStruct:var p={},h=function(n){if(n===$jsObjectPtr)return e;switch(n===$jsObjectPtr.elem&&$throwRuntimeError("cannot internalize js.Object, use *js.Object instead"),n.kind){case $kindPtr:return h(n.elem);case $kindStruct:var r=n.fields[0],t=h(r.typ);if(t!==p){var i=new n.ptr;return i[r.prop]=t,i}return p;default:return p}},k=h(n);if(k!==p)return k}$throwRuntimeError("cannot internalize "+n.string)},$isASCII=function(e){for(var n=0;n<e.length;n++)if(e.charCodeAt(n)>=128)return!1;return!0};
$packages["github.com/gopherjs/gopherjs/js"]=(function(){var $pkg={},$init,A,B,L,N,Q,E,K;A=$pkg.Object=$newType(0,$kindStruct,"js.Object",true,"github.com/gopherjs/gopherjs/js",true,function(object_){this.$val=this;if(arguments.length===0){this.object=null;return;}this.object=object_;});B=$pkg.Error=$newType(0,$kindStruct,"js.Error",true,"github.com/gopherjs/gopherjs/js",true,function(Object_){this.$val=this;if(arguments.length===0){this.Object=null;return;}this.Object=Object_;});L=$sliceType($emptyInterface);N=$ptrType(A);Q=$ptrType(B);A.ptr.prototype.Get=function(a){var a,b;b=this;return b.object[$externalize(a,$String)];};A.prototype.Get=function(a){return this.$val.Get(a);};A.ptr.prototype.Set=function(a,b){var a,b,c;c=this;c.object[$externalize(a,$String)]=$externalize(b,$emptyInterface);};A.prototype.Set=function(a,b){return this.$val.Set(a,b);};A.ptr.prototype.Delete=function(a){var a,b;b=this;delete b.object[$externalize(a,$String)];};A.prototype.Delete=function(a){return this.$val.Delete(a);};A.ptr.prototype.Length=function(){var a;a=this;return $parseInt(a.object.length);};A.prototype.Length=function(){return this.$val.Length();};A.ptr.prototype.Index=function(a){var a,b;b=this;return b.object[a];};A.prototype.Index=function(a){return this.$val.Index(a);};A.ptr.prototype.SetIndex=function(a,b){var a,b,c;c=this;c.object[a]=$externalize(b,$emptyInterface);};A.prototype.SetIndex=function(a,b){return this.$val.SetIndex(a,b);};A.ptr.prototype.Call=function(a,b){var a,b,c,d;c=this;return(d=c.object,d[$externalize(a,$String)].apply(d,$externalize(b,L)));};A.prototype.Call=function(a,b){return this.$val.Call(a,b);};A.ptr.prototype.Invoke=function(a){var a,b;b=this;return b.object.apply(undefined,$externalize(a,L));};A.prototype.Invoke=function(a){return this.$val.Invoke(a);};A.ptr.prototype.New=function(a){var a,b;b=this;return new($global.Function.prototype.bind.apply(b.object,[undefined].concat($externalize(a,L))));};A.prototype.New=function(a){return this.$val.New(a);};A.ptr.prototype.Bool=function(){var a;a=this;return!!(a.object);};A.prototype.Bool=function(){return this.$val.Bool();};A.ptr.prototype.String=function(){var a;a=this;return $internalize(a.object,$String);};A.prototype.String=function(){return this.$val.String();};A.ptr.prototype.Int=function(){var a;a=this;return $parseInt(a.object)>>0;};A.prototype.Int=function(){return this.$val.Int();};A.ptr.prototype.Int64=function(){var a;a=this;return $internalize(a.object,$Int64);};A.prototype.Int64=function(){return this.$val.Int64();};A.ptr.prototype.Uint64=function(){var a;a=this;return $internalize(a.object,$Uint64);};A.prototype.Uint64=function(){return this.$val.Uint64();};A.ptr.prototype.Float=function(){var a;a=this;return $parseFloat(a.object);};A.prototype.Float=function(){return this.$val.Float();};A.ptr.prototype.Interface=function(){var a;a=this;return $internalize(a.object,$emptyInterface);};A.prototype.Interface=function(){return this.$val.Interface();};A.ptr.prototype.Unsafe=function(){var a;a=this;return a.object;};A.prototype.Unsafe=function(){return this.$val.Unsafe();};B.ptr.prototype.Error=function(){var a;a=this;return"JavaScript error: "+$internalize(a.Object.message,$String);};B.prototype.Error=function(){return this.$val.Error();};B.ptr.prototype.Stack=function(){var a;a=this;return $internalize(a.Object.stack,$String);};B.prototype.Stack=function(){return this.$val.Stack();};E=function(a){var a;return $makeFunc(a);};$pkg.MakeFunc=E;K=function(){var a;a=new B.ptr(null);$unused(a);};N.methods=[{prop:"Get",name:"Get",pkg:"",typ:$funcType([$String],[N],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([$String,$emptyInterface],[],false)},{prop:"Delete",name:"Delete",pkg:"",typ:$funcType([$String],[],false)},{prop:"Length",name:"Length",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Index",name:"Index",pkg:"",typ:$funcType([$Int],[N],false)},{prop:"SetIndex",name:"SetIndex",pkg:"",typ:$funcType([$Int,$emptyInterface],[],false)},{prop:"Call",name:"Call",pkg:"",typ:$funcType([$String,L],[N],true)},{prop:"Invoke",name:"Invoke",pkg:"",typ:$funcType([L],[N],true)},{prop:"New",name:"New",pkg:"",typ:$funcType([L],[N],true)},{prop:"Bool",name:"Bool",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Int",name:"Int",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Int64",name:"Int64",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([],[$Uint64],false)},{prop:"Float",name:"Float",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Interface",name:"Interface",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"Unsafe",name:"Unsafe",pkg:"",typ:$funcType([],[$Uintptr],false)}];Q.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Stack",name:"Stack",pkg:"",typ:$funcType([],[$String],false)}];A.init("github.com/gopherjs/gopherjs/js",[{prop:"object",name:"object",embedded:false,exported:false,typ:N,tag:""}]);B.init("",[{prop:"Object",name:"Object",embedded:true,exported:true,typ:N,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:K();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["runtime/internal/sys"]=(function(){var $pkg={},$init;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["runtime"]=(function(){var $pkg={},$init,B,A,D,E,M,T,U,AE,AS,AW,AX,AY,AZ,BA,BB,BC,BD,I,J,AL,F,G,K,L,N,O,P,Q,R,S,W,AD,AF,AI,AR,AT,AU,AV;B=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["runtime/internal/sys"];D=$pkg._type=$newType(0,$kindStruct,"runtime._type",true,"runtime",false,function(str_){this.$val=this;if(arguments.length===0){this.str="";return;}this.str=str_;});E=$pkg.TypeAssertionError=$newType(0,$kindStruct,"runtime.TypeAssertionError",true,"runtime",true,function(_interface_,concrete_,asserted_,missingMethod_){this.$val=this;if(arguments.length===0){this._interface=AY.nil;this.concrete=AY.nil;this.asserted=AY.nil;this.missingMethod="";return;}this._interface=_interface_;this.concrete=concrete_;this.asserted=asserted_;this.missingMethod=missingMethod_;});M=$pkg.basicFrame=$newType(0,$kindStruct,"runtime.basicFrame",true,"runtime",false,function(FuncName_,File_,Line_){this.$val=this;if(arguments.length===0){this.FuncName="";this.File="";this.Line=0;return;}this.FuncName=FuncName_;this.File=File_;this.Line=Line_;});T=$pkg.Frames=$newType(0,$kindStruct,"runtime.Frames",true,"runtime",true,function(frames_,current_){this.$val=this;if(arguments.length===0){this.frames=BB.nil;this.current=0;return;}this.frames=frames_;this.current=current_;});U=$pkg.Frame=$newType(0,$kindStruct,"runtime.Frame",true,"runtime",true,function(PC_,Func_,Function_,File_,Line_,Entry_){this.$val=this;if(arguments.length===0){this.PC=0;this.Func=AW.nil;this.Function="";this.File="";this.Line=0;this.Entry=0;return;}this.PC=PC_;this.Func=Func_;this.Function=Function_;this.File=File_;this.Line=Line_;this.Entry=Entry_;});AE=$pkg.Func=$newType(0,$kindStruct,"runtime.Func",true,"runtime",true,function(name_,file_,line_,opaque_){this.$val=this;if(arguments.length===0){this.name="";this.file="";this.line=0;this.opaque=new AZ.ptr();return;}this.name=name_;this.file=file_;this.line=line_;this.opaque=opaque_;});AS=$pkg.errorString=$newType(8,$kindString,"runtime.errorString",true,"runtime",false,null);AW=$ptrType(AE);AX=$sliceType(AW);AY=$ptrType(D);AZ=$structType("",[]);BA=$sliceType(M);BB=$sliceType(U);BC=$ptrType(E);BD=$ptrType(T);D.ptr.prototype.string=function(){var a;a=this;return a.str;};D.prototype.string=function(){return this.$val.string();};D.ptr.prototype.pkgpath=function(){var a;a=this;return"";};D.prototype.pkgpath=function(){return this.$val.pkgpath();};E.ptr.prototype.RuntimeError=function(){};E.prototype.RuntimeError=function(){return this.$val.RuntimeError();};E.ptr.prototype.Error=function(){var a,b,c,d,e;a=this;b="interface";if(!(a._interface===AY.nil)){b=a._interface.string();}c=a.asserted.string();if(a.concrete===AY.nil){return"interface conversion: "+b+" is nil, not "+c;}d=a.concrete.string();if(a.missingMethod===""){e="interface conversion: "+b+" is "+d+", not "+c;if(d===c){if(!(a.concrete.pkgpath()===a.asserted.pkgpath())){e=e+(" (types from different packages)");}else{e=e+(" (types from different scopes)");}}return e;}return"interface conversion: "+d+" is not "+c+": missing method "+a.missingMethod;};E.prototype.Error=function(){return this.$val.Error();};F=function(){var a,b;a=$packages[$externalize("github.com/gopherjs/gopherjs/js",$String)];$jsObjectPtr=a.Object.ptr;$jsErrorPtr=a.Error.ptr;$throwRuntimeError=AT;AL=$internalize($goVersion,$String);b=$ifaceNil;b=new E.ptr(AY.nil,AY.nil,AY.nil,"");$unused(b);};G=function(){var a,b,c;a=$global.process;if(a===undefined){return"/";}b=a.env.GOPHERJS_GOROOT;if(!(b===undefined)&&!($internalize(b,$String)==="")){return $internalize(b,$String);}else{c=a.env.GOROOT;if(!(c===undefined)&&!($internalize(c,$String)==="")){return $internalize(c,$String);}}return"/usr/local/go";};$pkg.GOROOT=G;K=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k;d=b+":"+L(c);e=(f=I[$String.keyFor(d)],f!==undefined?[f.v,true]:[0,false]);g=e[0];h=e[1];if(h){return g;}i=new AE.ptr(a,b,c,new AZ.ptr());j=((J.$length>>>0));J=$append(J,i);k=d;(I||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(k)]={k:k,v:j};return j;};L=function(a){var a;return $internalize(new($global.String)(a),$String);};N=function(a,b){var a,b,c;a=(a+1>>0)+1>>0;c=new($global.Error)().stack.split($externalize("\n",$String)).slice(a,a+b>>0);return O(c);};O=function(a){var a,b,c,d;b=new BA([]);c=$parseInt(a.length);d=0;while(true){if(!(d<c)){break;}b=$append(b,P(a[d]));d=d+(1)>>0;}return b;};P=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n;if(($parseInt(a.indexOf($externalize("@",$String)))>>0)>=0){b=new($global.RegExp)($externalize("[@:]",$String));c=a.split(b);return new M.ptr($internalize(c[0],$String),$internalize(c.slice(1,$parseInt(c.length)-2>>0).join($externalize(":",$String)),$String),$parseInt(c[($parseInt(c.length)-2>>0)])>>0);}d=$parseInt(a.lastIndexOf($externalize("(",$String)))>>0;if(d===-1){e=a.split($externalize(":",$String));return new M.ptr("<none>",$internalize(e.slice(0,$parseInt(e.length)-2>>0).join($externalize(":",$String)).replace(new($global.RegExp)($externalize("^\\s*at ",$String)),$externalize("",$String)),$String),$parseInt(e[($parseInt(e.length)-2>>0)])>>0);}f="";g="";h=f;i=g;j=0;k=a.substring(d+1>>0,$parseInt(a.indexOf($externalize(")",$String)))>>0);l=k.split($externalize(":",$String));if($internalize(k,$String)==="<anonymous>"){h="<anonymous>";}else{h=$internalize(l.slice(0,$parseInt(l.length)-2>>0).join($externalize(":",$String)),$String);j=$parseInt(l[($parseInt(l.length)-2>>0)])>>0;}m=a.substring(($parseInt(a.indexOf($externalize("at ",$String)))>>0)+3>>0,$parseInt(a.indexOf($externalize(" (",$String)))>>0);n=$parseInt(m.indexOf($externalize("[as ",$String)))>>0;if(n>0){m=m.substring(n+4>>0,m.indexOf($externalize("]",$String)));}i=$internalize(m,$String);return new M.ptr(i,h,j);};$pkg.ParseCallFrame=P;Q=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n;b=0;c="";d=0;e=false;a=a+1>>0;f=N(a,1);if(!((f.$length===1))){g=0;h="";i=0;j=false;b=g;c=h;d=i;e=j;return[b,c,d,e];}b=K((0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]).FuncName,(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]).File,(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]).Line);k=b;l=(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]).File;m=(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]).Line;n=true;b=k;c=l;d=m;e=n;return[b,c,d,e];};$pkg.Caller=Q;R=function(a,b){var a,b,c,d,e,f,g;c=N(a,b.$length);d=c;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=$clone(((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]),M);((f<0||f>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+f]=K(g.FuncName,g.File,g.Line));e++;}return c.$length;};$pkg.Callers=R;S=function(a){var a,b,c,d,e,f;b=new T.ptr(BB.nil,0);c=a;d=0;while(true){if(!(d<c.$length)){break;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);f=AF(e);b.frames=$append(b.frames,new U.ptr(e,f,f.name,f.file,f.line,f.Entry()));d++;}return b;};$pkg.CallersFrames=S;T.ptr.prototype.Next=function(){var a,b,c,d,e,f,g,h,i,j;a=new U.ptr(0,AW.nil,"","",0,0);b=false;c=this;if(c.current>=c.frames.$length){d=new U.ptr(0,AW.nil,"","",0,0);e=false;U.copy(a,d);b=e;return[a,b];}h=$clone((f=c.frames,g=c.current,((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g])),U);c.current=c.current+(1)>>0;i=$clone(h,U);j=c.current<c.frames.$length;U.copy(a,i);b=j;return[a,b];};T.prototype.Next=function(){return this.$val.Next();};W=function(){$curGoroutine.exit=$externalize(true,$Bool);$throw(null);};$pkg.Goexit=W;AD=function(a,b){var a,b;};$pkg.SetFinalizer=AD;AE.ptr.prototype.Entry=function(){return 0;};AE.prototype.Entry=function(){return this.$val.Entry();};AE.ptr.prototype.FileLine=function(a){var a,b,c,d,e,f,g,h;b="";c=0;d=this;if(d===AW.nil){e="";f=0;b=e;c=f;return[b,c];}g=d.file;h=d.line;b=g;c=h;return[b,c];};AE.prototype.FileLine=function(a){return this.$val.FileLine(a);};AE.ptr.prototype.Name=function(){var a;a=this;if(a===AW.nil||a.name===""){return"<unknown>";}return a.name;};AE.prototype.Name=function(){return this.$val.Name();};AF=function(a){var a,b;b=((a>>0));if(b>=J.$length){$panic(new $String("GopherJS: pc="+L(b)+" is out of range of known position counters"));}return((b<0||b>=J.$length)?($throwRuntimeError("index out of range"),undefined):J.$array[J.$offset+b]);};$pkg.FuncForPC=AF;AI=function(a,b){var a,b,c;c=new($global.Error)().stack;if(c===undefined){return 0;}return $copyString(a,$internalize(c.substr(($parseInt(c.indexOf($externalize("\n",$String)))>>0)+1>>0),$String));};$pkg.Stack=AI;AR=function(a){var a;};$pkg.KeepAlive=AR;AS.prototype.RuntimeError=function(){var a;a=this.$val;};$ptrType(AS).prototype.RuntimeError=function(){return new AS(this.$get()).RuntimeError();};AS.prototype.Error=function(){var a;a=this.$val;return"runtime error: "+(a);};$ptrType(AS).prototype.Error=function(){return new AS(this.$get()).Error();};AT=function(a){var a;$panic(new AS((a)));};AU=function(){return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};$linknames["runtime.nanotime"]=AU;AV=function(){return(($parseFloat($global.Math.random())*4.294967295e+09>>0));};$linknames["runtime.fastrand"]=AV;AY.methods=[{prop:"string",name:"string",pkg:"runtime",typ:$funcType([],[$String],false)},{prop:"pkgpath",name:"pkgpath",pkg:"runtime",typ:$funcType([],[$String],false)}];BC.methods=[{prop:"RuntimeError",name:"RuntimeError",pkg:"",typ:$funcType([],[],false)},{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];BD.methods=[{prop:"Next",name:"Next",pkg:"",typ:$funcType([],[U,$Bool],false)}];AW.methods=[{prop:"Entry",name:"Entry",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"FileLine",name:"FileLine",pkg:"",typ:$funcType([$Uintptr],[$String,$Int],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)}];AS.methods=[{prop:"RuntimeError",name:"RuntimeError",pkg:"",typ:$funcType([],[],false)},{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];D.init("runtime",[{prop:"str",name:"str",embedded:false,exported:false,typ:$String,tag:""}]);E.init("runtime",[{prop:"_interface",name:"_interface",embedded:false,exported:false,typ:AY,tag:""},{prop:"concrete",name:"concrete",embedded:false,exported:false,typ:AY,tag:""},{prop:"asserted",name:"asserted",embedded:false,exported:false,typ:AY,tag:""},{prop:"missingMethod",name:"missingMethod",embedded:false,exported:false,typ:$String,tag:""}]);M.init("",[{prop:"FuncName",name:"FuncName",embedded:false,exported:true,typ:$String,tag:""},{prop:"File",name:"File",embedded:false,exported:true,typ:$String,tag:""},{prop:"Line",name:"Line",embedded:false,exported:true,typ:$Int,tag:""}]);T.init("runtime",[{prop:"frames",name:"frames",embedded:false,exported:false,typ:BB,tag:""},{prop:"current",name:"current",embedded:false,exported:false,typ:$Int,tag:""}]);U.init("",[{prop:"PC",name:"PC",embedded:false,exported:true,typ:$Uintptr,tag:""},{prop:"Func",name:"Func",embedded:false,exported:true,typ:AW,tag:""},{prop:"Function",name:"Function",embedded:false,exported:true,typ:$String,tag:""},{prop:"File",name:"File",embedded:false,exported:true,typ:$String,tag:""},{prop:"Line",name:"Line",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Entry",name:"Entry",embedded:false,exported:true,typ:$Uintptr,tag:""}]);AE.init("runtime",[{prop:"name",name:"name",embedded:false,exported:false,typ:$String,tag:""},{prop:"file",name:"file",embedded:false,exported:false,typ:$String,tag:""},{prop:"line",name:"line",embedded:false,exported:false,typ:$Int,tag:""},{prop:"opaque",name:"opaque",embedded:false,exported:false,typ:AZ,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AL="";I=$makeMap($String.keyFor,[]);J=new AX([]);F();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["internal/unsafeheader"]=(function(){var $pkg={},$init,A;A=$pkg.Slice=$newType(0,$kindStruct,"unsafeheader.Slice",true,"internal/unsafeheader",true,function(Data_,Len_,Cap_){this.$val=this;if(arguments.length===0){this.Data=0;this.Len=0;this.Cap=0;return;}this.Data=Data_;this.Len=Len_;this.Cap=Cap_;});A.init("",[{prop:"Data",name:"Data",embedded:false,exported:true,typ:$UnsafePointer,tag:""},{prop:"Len",name:"Len",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Cap",name:"Cap",embedded:false,exported:true,typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["internal/reflectlite"]=(function(){var $pkg={},$init,C,A,B,D,E,H,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,AB,AF,AG,AH,AS,AU,BK,BM,BN,BO,CT,CV,DT,DU,DV,DW,DX,DY,DZ,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EN,ER,ES,ET,EU,EV,EW,EX,EY,AC,AQ,BA,BC,BD,BE,BF,BG,BL,BP,BR,BT,DG,DM,AJ,AK,AL,AM,AO,AP,AT,AZ,BB,BH,BI,BJ,BQ,BS,BU,BV,BW,BX,BY,CA,CB,CE,CG,CI,CL,CP,CQ,CU,CW,CX,CY,DB,DC,DD,DE,DF,DH,DI,DJ,DK,DL;C=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["internal/unsafeheader"];B=$packages["runtime"];D=$pkg.Value=$newType(0,$kindStruct,"reflectlite.Value",true,"internal/reflectlite",true,function(typ_,ptr_,flag_){this.$val=this;if(arguments.length===0){this.typ=DT.nil;this.ptr=0;this.flag=0;return;}this.typ=typ_;this.ptr=ptr_;this.flag=flag_;});E=$pkg.flag=$newType(4,$kindUintptr,"reflectlite.flag",true,"internal/reflectlite",false,null);H=$pkg.ValueError=$newType(0,$kindStruct,"reflectlite.ValueError",true,"internal/reflectlite",true,function(Method_,Kind_){this.$val=this;if(arguments.length===0){this.Method="";this.Kind=0;return;}this.Method=Method_;this.Kind=Kind_;});N=$pkg.Type=$newType(8,$kindInterface,"reflectlite.Type",true,"internal/reflectlite",true,null);O=$pkg.Kind=$newType(4,$kindUint,"reflectlite.Kind",true,"internal/reflectlite",true,null);P=$pkg.tflag=$newType(1,$kindUint8,"reflectlite.tflag",true,"internal/reflectlite",false,null);Q=$pkg.rtype=$newType(0,$kindStruct,"reflectlite.rtype",true,"internal/reflectlite",false,function(size_,ptrdata_,hash_,tflag_,align_,fieldAlign_,kind_,equal_,gcdata_,str_,ptrToThis_){this.$val=this;if(arguments.length===0){this.size=0;this.ptrdata=0;this.hash=0;this.tflag=0;this.align=0;this.fieldAlign=0;this.kind=0;this.equal=$throwNilPointerError;this.gcdata=EF.nil;this.str=0;this.ptrToThis=0;return;}this.size=size_;this.ptrdata=ptrdata_;this.hash=hash_;this.tflag=tflag_;this.align=align_;this.fieldAlign=fieldAlign_;this.kind=kind_;this.equal=equal_;this.gcdata=gcdata_;this.str=str_;this.ptrToThis=ptrToThis_;});R=$pkg.method=$newType(0,$kindStruct,"reflectlite.method",true,"internal/reflectlite",false,function(name_,mtyp_,ifn_,tfn_){this.$val=this;if(arguments.length===0){this.name=0;this.mtyp=0;this.ifn=0;this.tfn=0;return;}this.name=name_;this.mtyp=mtyp_;this.ifn=ifn_;this.tfn=tfn_;});S=$pkg.chanDir=$newType(4,$kindInt,"reflectlite.chanDir",true,"internal/reflectlite",false,null);T=$pkg.arrayType=$newType(0,$kindStruct,"reflectlite.arrayType",true,"internal/reflectlite",false,function(rtype_,elem_,slice_,len_){this.$val=this;if(arguments.length===0){this.rtype=new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0);this.elem=DT.nil;this.slice=DT.nil;this.len=0;return;}this.rtype=rtype_;this.elem=elem_;this.slice=slice_;this.len=len_;});U=$pkg.chanType=$newType(0,$kindStruct,"reflectlite.chanType",true,"internal/reflectlite",false,function(rtype_,elem_,dir_){this.$val=this;if(arguments.length===0){this.rtype=new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0);this.elem=DT.nil;this.dir=0;return;}this.rtype=rtype_;this.elem=elem_;this.dir=dir_;});V=$pkg.imethod=$newType(0,$kindStruct,"reflectlite.imethod",true,"internal/reflectlite",false,function(name_,typ_){this.$val=this;if(arguments.length===0){this.name=0;this.typ=0;return;}this.name=name_;this.typ=typ_;});W=$pkg.interfaceType=$newType(0,$kindStruct,"reflectlite.interfaceType",true,"internal/reflectlite",false,function(rtype_,pkgPath_,methods_){this.$val=this;if(arguments.length===0){this.rtype=new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0);this.pkgPath=new BN.ptr(EF.nil);this.methods=EJ.nil;return;}this.rtype=rtype_;this.pkgPath=pkgPath_;this.methods=methods_;});X=$pkg.mapType=$newType(0,$kindStruct,"reflectlite.mapType",true,"internal/reflectlite",false,function(rtype_,key_,elem_,bucket_,hasher_,keysize_,valuesize_,bucketsize_,flags_){this.$val=this;if(arguments.length===0){this.rtype=new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0);this.key=DT.nil;this.elem=DT.nil;this.bucket=DT.nil;this.hasher=$throwNilPointerError;this.keysize=0;this.valuesize=0;this.bucketsize=0;this.flags=0;return;}this.rtype=rtype_;this.key=key_;this.elem=elem_;this.bucket=bucket_;this.hasher=hasher_;this.keysize=keysize_;this.valuesize=valuesize_;this.bucketsize=bucketsize_;this.flags=flags_;});Y=$pkg.ptrType=$newType(0,$kindStruct,"reflectlite.ptrType",true,"internal/reflectlite",false,function(rtype_,elem_){this.$val=this;if(arguments.length===0){this.rtype=new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0);this.elem=DT.nil;return;}this.rtype=rtype_;this.elem=elem_;});Z=$pkg.sliceType=$newType(0,$kindStruct,"reflectlite.sliceType",true,"internal/reflectlite",false,function(rtype_,elem_){this.$val=this;if(arguments.length===0){this.rtype=new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0);this.elem=DT.nil;return;}this.rtype=rtype_;this.elem=elem_;});AA=$pkg.structField=$newType(0,$kindStruct,"reflectlite.structField",true,"internal/reflectlite",false,function(name_,typ_,offsetEmbed_){this.$val=this;if(arguments.length===0){this.name=new BN.ptr(EF.nil);this.typ=DT.nil;this.offsetEmbed=0;return;}this.name=name_;this.typ=typ_;this.offsetEmbed=offsetEmbed_;});AB=$pkg.structType=$newType(0,$kindStruct,"reflectlite.structType",true,"internal/reflectlite",false,function(rtype_,pkgPath_,fields_){this.$val=this;if(arguments.length===0){this.rtype=new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0);this.pkgPath=new BN.ptr(EF.nil);this.fields=EK.nil;return;}this.rtype=rtype_;this.pkgPath=pkgPath_;this.fields=fields_;});AF=$pkg.nameOff=$newType(4,$kindInt32,"reflectlite.nameOff",true,"internal/reflectlite",false,null);AG=$pkg.typeOff=$newType(4,$kindInt32,"reflectlite.typeOff",true,"internal/reflectlite",false,null);AH=$pkg.textOff=$newType(4,$kindInt32,"reflectlite.textOff",true,"internal/reflectlite",false,null);AS=$pkg.errorString=$newType(0,$kindStruct,"reflectlite.errorString",true,"internal/reflectlite",false,function(s_){this.$val=this;if(arguments.length===0){this.s="";return;}this.s=s_;});AU=$pkg.Method=$newType(0,$kindStruct,"reflectlite.Method",true,"internal/reflectlite",true,function(Name_,PkgPath_,Type_,Func_,Index_){this.$val=this;if(arguments.length===0){this.Name="";this.PkgPath="";this.Type=$ifaceNil;this.Func=new D.ptr(DT.nil,0,0);this.Index=0;return;}this.Name=Name_;this.PkgPath=PkgPath_;this.Type=Type_;this.Func=Func_;this.Index=Index_;});BK=$pkg.uncommonType=$newType(0,$kindStruct,"reflectlite.uncommonType",true,"internal/reflectlite",false,function(pkgPath_,mcount_,xcount_,moff_,_methods_){this.$val=this;if(arguments.length===0){this.pkgPath=0;this.mcount=0;this.xcount=0;this.moff=0;this._methods=EC.nil;return;}this.pkgPath=pkgPath_;this.mcount=mcount_;this.xcount=xcount_;this.moff=moff_;this._methods=_methods_;});BM=$pkg.funcType=$newType(0,$kindStruct,"reflectlite.funcType",true,"internal/reflectlite",false,function(rtype_,inCount_,outCount_,_in_,_out_){this.$val=this;if(arguments.length===0){this.rtype=new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0);this.inCount=0;this.outCount=0;this._in=DV.nil;this._out=DV.nil;return;}this.rtype=rtype_;this.inCount=inCount_;this.outCount=outCount_;this._in=_in_;this._out=_out_;});BN=$pkg.name=$newType(0,$kindStruct,"reflectlite.name",true,"internal/reflectlite",false,function(bytes_){this.$val=this;if(arguments.length===0){this.bytes=EF.nil;return;}this.bytes=bytes_;});BO=$pkg.nameData=$newType(0,$kindStruct,"reflectlite.nameData",true,"internal/reflectlite",false,function(name_,tag_,exported_){this.$val=this;if(arguments.length===0){this.name="";this.tag="";this.exported=false;return;}this.name=name_;this.tag=tag_;this.exported=exported_;});CT=$pkg.mapIter=$newType(0,$kindStruct,"reflectlite.mapIter",true,"internal/reflectlite",false,function(t_,m_,keys_,i_,last_){this.$val=this;if(arguments.length===0){this.t=$ifaceNil;this.m=null;this.keys=null;this.i=0;this.last=null;return;}this.t=t_;this.m=m_;this.keys=keys_;this.i=i_;this.last=last_;});CV=$pkg.TypeEx=$newType(8,$kindInterface,"reflectlite.TypeEx",true,"internal/reflectlite",true,null);DT=$ptrType(Q);DU=$sliceType(BN);DV=$sliceType(DT);DW=$sliceType($String);DX=$sliceType($emptyInterface);DY=$ptrType(C.Object);DZ=$funcType([DX],[DY],true);EB=$ptrType(BK);EC=$sliceType(R);ED=$ptrType(BM);EE=$sliceType(D);EF=$ptrType($Uint8);EG=$ptrType($UnsafePointer);EH=$sliceType(N);EI=$sliceType(DY);EJ=$sliceType(V);EK=$sliceType(AA);EL=$ptrType(BO);EM=$structType("internal/reflectlite",[{prop:"str",name:"str",embedded:false,exported:false,typ:$String,tag:""}]);EN=$ptrType(CT);ER=$arrayType($Uintptr,2);ES=$sliceType($Uint8);ET=$ptrType(H);EU=$funcType([$UnsafePointer,$UnsafePointer],[$Bool],false);EV=$ptrType(W);EW=$funcType([$UnsafePointer,$Uintptr],[$Uintptr],false);EX=$ptrType(AA);EY=$ptrType(AS);E.prototype.kind=function(){var m;m=this.$val;return((((m&31)>>>0)>>>0));};$ptrType(E).prototype.kind=function(){return new E(this.$get()).kind();};E.prototype.ro=function(){var m;m=this.$val;if(!((((m&96)>>>0)===0))){return 32;}return 0;};$ptrType(E).prototype.ro=function(){return new E(this.$get()).ro();};D.ptr.prototype.pointer=function(){var m;m=this;if(!((m.typ.size===4))||!m.typ.pointers()){$panic(new $String("can't call pointer on a non-pointer Value"));}if(!((((m.flag&128)>>>0)===0))){return(m.ptr).$get();}return m.ptr;};D.prototype.pointer=function(){return this.$val.pointer();};H.ptr.prototype.Error=function(){var m;m=this;if(m.Kind===0){return"reflect: call of "+m.Method+" on zero Value";}return"reflect: call of "+m.Method+" on "+new O(m.Kind).String()+" Value";};H.prototype.Error=function(){return this.$val.Error();};E.prototype.mustBeExported=function(){var m;m=this.$val;if(m===0){$panic(new H.ptr(DE(),0));}if(!((((m&96)>>>0)===0))){$panic(new $String("reflect: "+DE()+" using value obtained using unexported field"));}};$ptrType(E).prototype.mustBeExported=function(){return new E(this.$get()).mustBeExported();};E.prototype.mustBeAssignable=function(){var m;m=this.$val;if(m===0){$panic(new H.ptr(DE(),0));}if(!((((m&96)>>>0)===0))){$panic(new $String("reflect: "+DE()+" using value obtained using unexported field"));}if(((m&256)>>>0)===0){$panic(new $String("reflect: "+DE()+" using unaddressable value"));}};$ptrType(E).prototype.mustBeAssignable=function(){return new E(this.$get()).mustBeAssignable();};D.ptr.prototype.CanSet=function(){var m;m=this;return((m.flag&352)>>>0)===256;};D.prototype.CanSet=function(){return this.$val.CanSet();};D.ptr.prototype.IsValid=function(){var m;m=this;return!((m.flag===0));};D.prototype.IsValid=function(){return this.$val.IsValid();};D.ptr.prototype.Kind=function(){var m;m=this;return new E(m.flag).kind();};D.prototype.Kind=function(){return this.$val.Kind();};D.ptr.prototype.Type=function(){var m,n;m=this;n=m.flag;if(n===0){$panic(new H.ptr("reflectlite.Value.Type",0));}return m.typ;};D.prototype.Type=function(){return this.$val.Type();};AA.ptr.prototype.embedded=function(){var m;m=this;return!((((m.offsetEmbed&1)>>>0)===0));};AA.prototype.embedded=function(){return this.$val.embedded();};O.prototype.String=function(){var m;m=this.$val;if(((m>>0))<AC.$length){return((m<0||m>=AC.$length)?($throwRuntimeError("index out of range"),undefined):AC.$array[AC.$offset+m]);}return(0>=AC.$length?($throwRuntimeError("index out of range"),undefined):AC.$array[AC.$offset+0]);};$ptrType(O).prototype.String=function(){return new O(this.$get()).String();};Q.ptr.prototype.String=function(){var m,n;m=this;n=$clone(m.nameOff(m.str),BN).name();if(!((((m.tflag&2)>>>0)===0))){return $substring(n,1);}return n;};Q.prototype.String=function(){return this.$val.String();};Q.ptr.prototype.Size=function(){var m;m=this;return m.size;};Q.prototype.Size=function(){return this.$val.Size();};Q.ptr.prototype.Kind=function(){var m;m=this;return((((m.kind&31)>>>0)>>>0));};Q.prototype.Kind=function(){return this.$val.Kind();};Q.ptr.prototype.pointers=function(){var m;m=this;return!((m.ptrdata===0));};Q.prototype.pointers=function(){return this.$val.pointers();};Q.ptr.prototype.common=function(){var m;m=this;return m;};Q.prototype.common=function(){return this.$val.common();};Q.ptr.prototype.exportedMethods=function(){var m,n;m=this;n=m.uncommon();if(n===EB.nil){return EC.nil;}return n.exportedMethods();};Q.prototype.exportedMethods=function(){return this.$val.exportedMethods();};Q.ptr.prototype.NumMethod=function(){var m,n;m=this;if(m.Kind()===20){n=(m.kindType);return n.NumMethod();}return m.exportedMethods().$length;};Q.prototype.NumMethod=function(){return this.$val.NumMethod();};Q.ptr.prototype.PkgPath=function(){var m,n;m=this;if(((m.tflag&4)>>>0)===0){return"";}n=m.uncommon();if(n===EB.nil){return"";}return $clone(m.nameOff(n.pkgPath),BN).name();};Q.prototype.PkgPath=function(){return this.$val.PkgPath();};Q.ptr.prototype.hasName=function(){var m;m=this;return!((((m.tflag&4)>>>0)===0));};Q.prototype.hasName=function(){return this.$val.hasName();};Q.ptr.prototype.Name=function(){var m,n,o;m=this;if(!m.hasName()){return"";}n=m.String();o=n.length-1>>0;while(true){if(!(o>=0&&!((n.charCodeAt(o)===46)))){break;}o=o-(1)>>0;}return $substring(n,(o+1>>0));};Q.prototype.Name=function(){return this.$val.Name();};Q.ptr.prototype.chanDir=function(){var m,n;m=this;if(!((m.Kind()===18))){$panic(new $String("reflect: chanDir of non-chan type"));}n=(m.kindType);return((n.dir>>0));};Q.prototype.chanDir=function(){return this.$val.chanDir();};Q.ptr.prototype.Elem=function(){var m,n,o,p,q,r,s;m=this;n=m.Kind();if(n===(17)){o=(m.kindType);return AO(o.elem);}else if(n===(18)){p=(m.kindType);return AO(p.elem);}else if(n===(21)){q=(m.kindType);return AO(q.elem);}else if(n===(22)){r=(m.kindType);return AO(r.elem);}else if(n===(23)){s=(m.kindType);return AO(s.elem);}$panic(new $String("reflect: Elem of invalid type"));};Q.prototype.Elem=function(){return this.$val.Elem();};Q.ptr.prototype.In=function(m){var m,n,o,p;n=this;if(!((n.Kind()===19))){$panic(new $String("reflect: In of non-func type"));}o=(n.kindType);return AO((p=o.in$(),((m<0||m>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+m])));};Q.prototype.In=function(m){return this.$val.In(m);};Q.ptr.prototype.Len=function(){var m,n;m=this;if(!((m.Kind()===17))){$panic(new $String("reflect: Len of non-array type"));}n=(m.kindType);return((n.len>>0));};Q.prototype.Len=function(){return this.$val.Len();};Q.ptr.prototype.NumIn=function(){var m,n;m=this;if(!((m.Kind()===19))){$panic(new $String("reflect: NumIn of non-func type"));}n=(m.kindType);return((n.inCount>>0));};Q.prototype.NumIn=function(){return this.$val.NumIn();};Q.ptr.prototype.NumOut=function(){var m,n;m=this;if(!((m.Kind()===19))){$panic(new $String("reflect: NumOut of non-func type"));}n=(m.kindType);return n.out().$length;};Q.prototype.NumOut=function(){return this.$val.NumOut();};Q.ptr.prototype.Out=function(m){var m,n,o,p;n=this;if(!((n.Kind()===19))){$panic(new $String("reflect: Out of non-func type"));}o=(n.kindType);return AO((p=o.out(),((m<0||m>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+m])));};Q.prototype.Out=function(m){return this.$val.Out(m);};W.ptr.prototype.NumMethod=function(){var m;m=this;return m.methods.$length;};W.prototype.NumMethod=function(){return this.$val.NumMethod();};Q.ptr.prototype.Implements=function(m){var m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=this;if($interfaceIsEqual(m,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.Implements"));}o=m.Kind();$s=3;case 3:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}if(!((o===20))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect: non-interface type passed to Type.Implements"));case 2:$s=-1;return AJ($assertType(m,DT),n);}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.Implements};}$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.Implements=function(m){return this.$val.Implements(m);};Q.ptr.prototype.AssignableTo=function(m){var m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=this;if($interfaceIsEqual(m,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.AssignableTo"));}o=$assertType(m,DT);p=AK(o,n);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p||AJ(o,n);$s=2;case 2:return q;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.AssignableTo};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.AssignableTo=function(m){return this.$val.AssignableTo(m);};AJ=function(m,n){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,m,n,o,p,q,r,s,t,u,v,w,x,y,z;if(!((m.Kind()===20))){return false;}o=(m.kindType);if(o.methods.$length===0){return true;}if(n.Kind()===20){p=(n.kindType);q=0;r=0;while(true){if(!(r<p.methods.$length)){break;}t=(s=o.methods,((q<0||q>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+q]));u=$clone(o.rtype.nameOff(t.name),BN);w=(v=p.methods,((r<0||r>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+r]));x=$clone(n.nameOff(w.name),BN);if($clone(x,BN).name()===$clone(u,BN).name()&&n.typeOff(w.typ)===o.rtype.typeOff(t.typ)){if(!$clone(u,BN).isExported()){y=$clone(u,BN).pkgPath();if(y===""){y=$clone(o.pkgPath,BN).name();}z=$clone(x,BN).pkgPath();if(z===""){z=$clone(p.pkgPath,BN).name();}if(!(y===z)){r=r+(1)>>0;continue;}}q=q+(1)>>0;if(q>=o.methods.$length){return true;}}r=r+(1)>>0;}return false;}aa=n.uncommon();if(aa===EB.nil){return false;}ab=0;ac=aa.methods();ad=0;while(true){if(!(ad<((aa.mcount>>0)))){break;}af=(ae=o.methods,((ab<0||ab>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ab]));ag=$clone(o.rtype.nameOff(af.name),BN);ah=$clone(((ad<0||ad>=ac.$length)?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+ad]),R);ai=$clone(n.nameOff(ah.name),BN);if($clone(ai,BN).name()===$clone(ag,BN).name()&&n.typeOff(ah.mtyp)===o.rtype.typeOff(af.typ)){if(!$clone(ag,BN).isExported()){aj=$clone(ag,BN).pkgPath();if(aj===""){aj=$clone(o.pkgPath,BN).name();}ak=$clone(ai,BN).pkgPath();if(ak===""){ak=$clone(n.nameOff(aa.pkgPath),BN).name();}if(!(aj===ak)){ad=ad+(1)>>0;continue;}}ab=ab+(1)>>0;if(ab>=o.methods.$length){return true;}}ad=ad+(1)>>0;}return false;};AK=function(m,n){var m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(m===n){$s=-1;return true;}if(m.hasName()&&n.hasName()||!((m.Kind()===n.Kind()))){$s=-1;return false;}o=AM(m,n,true);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;$s=2;case 2:return p;}return;}if($f===undefined){$f={$blk:AK};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AL=function(m,n,o){var m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(o){$s=-1;return $interfaceIsEqual(m,n);}q=m.Name();$s=4;case 4:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=n.Name();$s=5;case 5:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(!(q===r)){p=true;$s=3;continue s;}s=m.Kind();$s=6;case 6:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=n.Kind();$s=7;case 7:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}p=!((s===t));case 3:if(p){$s=1;continue;}$s=2;continue;case 1:$s=-1;return false;case 2:u=m.common();$s=8;case 8:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;w=n.common();$s=9;case 9:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;y=AM(v,x,false);$s=10;case 10:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;$s=11;case 11:return z;}return;}if($f===undefined){$f={$blk:AL};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AM=function(m,n,o){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(m===n){$s=-1;return true;}p=m.Kind();if(!((p===n.Kind()))){$s=-1;return false;}if(1<=p&&p<=16||(p===24)||(p===26)){$s=-1;return true;}q=p;if(q===(17)){$s=2;continue;}if(q===(18)){$s=3;continue;}if(q===(19)){$s=4;continue;}if(q===(20)){$s=5;continue;}if(q===(21)){$s=6;continue;}if((q===(22))||(q===(23))){$s=7;continue;}if(q===(25)){$s=8;continue;}$s=9;continue;case 2:if(!(m.Len()===n.Len())){r=false;$s=10;continue s;}s=AL(m.Elem(),n.Elem(),o);$s=11;case 11:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;case 10:t=r;$s=12;case 12:return t;case 3:if(!(n.chanDir()===3)){u=false;$s=15;continue s;}v=AL(m.Elem(),n.Elem(),o);$s=16;case 16:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;case 15:if(u){$s=13;continue;}$s=14;continue;case 13:$s=-1;return true;case 14:if(!(n.chanDir()===m.chanDir())){w=false;$s=17;continue s;}x=AL(m.Elem(),n.Elem(),o);$s=18;case 18:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;case 17:y=w;$s=19;case 19:return y;case 4:z=(m.kindType);aa=(n.kindType);if(!((z.outCount===aa.outCount))||!((z.inCount===aa.inCount))){$s=-1;return false;}ab=0;case 20:if(!(ab<z.rtype.NumIn())){$s=21;continue;}ac=AL(z.rtype.In(ab),aa.rtype.In(ab),o);$s=24;case 24:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}if(!ac){$s=22;continue;}$s=23;continue;case 22:$s=-1;return false;case 23:ab=ab+(1)>>0;$s=20;continue;case 21:ad=0;case 25:if(!(ad<z.rtype.NumOut())){$s=26;continue;}ae=AL(z.rtype.Out(ad),aa.rtype.Out(ad),o);$s=29;case 29:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}if(!ae){$s=27;continue;}$s=28;continue;case 27:$s=-1;return false;case 28:ad=ad+(1)>>0;$s=25;continue;case 26:$s=-1;return true;case 5:af=(m.kindType);ag=(n.kindType);if((af.methods.$length===0)&&(ag.methods.$length===0)){$s=-1;return true;}$s=-1;return false;case 6:ai=AL(m.Key(),n.Key(),o);$s=31;case 31:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}if(!(ai)){ah=false;$s=30;continue s;}aj=AL(m.Elem(),n.Elem(),o);$s=32;case 32:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ah=aj;case 30:ak=ah;$s=33;case 33:return ak;case 7:al=AL(m.Elem(),n.Elem(),o);$s=34;case 34:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;$s=35;case 35:return am;case 8:an=(m.kindType);ao=(n.kindType);if(!((an.fields.$length===ao.fields.$length))){$s=-1;return false;}if(!($clone(an.pkgPath,BN).name()===$clone(ao.pkgPath,BN).name())){$s=-1;return false;}ap=an.fields;aq=0;case 36:if(!(aq<ap.$length)){$s=37;continue;}ar=aq;at=(as=an.fields,((ar<0||ar>=as.$length)?($throwRuntimeError("index out of range"),undefined):as.$array[as.$offset+ar]));av=(au=ao.fields,((ar<0||ar>=au.$length)?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+ar]));if(!($clone(at.name,BN).name()===$clone(av.name,BN).name())){$s=-1;return false;}aw=AL(at.typ,av.typ,o);$s=40;case 40:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}if(!aw){$s=38;continue;}$s=39;continue;case 38:$s=-1;return false;case 39:if(o&&!($clone(at.name,BN).tag()===$clone(av.name,BN).tag())){$s=-1;return false;}if(!((at.offsetEmbed===av.offsetEmbed))){$s=-1;return false;}aq++;$s=36;continue;case 37:$s=-1;return true;case 9:case 1:$s=-1;return false;}return;}if($f===undefined){$f={$blk:AM};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AO=function(m){var m;if(m===DT.nil){return $ifaceNil;}return m;};AP=function(m){var m;return((m.kind&32)>>>0)===0;};D.ptr.prototype.object=function(){var m,n,o,p;m=this;if((m.typ.Kind()===17)||(m.typ.Kind()===25)){return m.ptr;}if(!((((m.flag&128)>>>0)===0))){n=m.ptr.$get();if(!(n===$ifaceNil)&&!(n.constructor===BH(m.typ))){switch(0){default:o=m.typ.Kind();if((o===(11))||(o===(6))){n=new(BH(m.typ))(n.$high,n.$low);}else if((o===(15))||(o===(16))){n=new(BH(m.typ))(n.$real,n.$imag);}else if(o===(23)){if(n===n.constructor.nil){n=BH(m.typ).nil;break;}p=new(BH(m.typ))(n.$array);p.$offset=n.$offset;p.$length=n.$length;p.$capacity=n.$capacity;n=p;}}}return n;}return m.ptr;};D.prototype.object=function(){return this.$val.object();};D.ptr.prototype.assignTo=function(m,n,o){var m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;if(!((((p.flag&512)>>>0)===0))){$s=1;continue;}$s=2;continue;case 1:q=DF(m,$clone(p,D));$s=3;case 3:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}D.copy(p,q);case 2:r=AK(n,p.typ);$s=8;case 8:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(r){$s=5;continue;}if(AJ(n,p.typ)){$s=6;continue;}$s=7;continue;case 5:s=(((p.flag&384)>>>0)|new E(p.flag).ro())>>>0;s=(s|(((n.Kind()>>>0))))>>>0;$s=-1;return new D.ptr(n,p.ptr,s);case 6:if(o===0){o=CI(n);}t=DC($clone(p,D));$s=9;case 9:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t;if(n.NumMethod()===0){(o).$set(u);}else{DD(n,u,o);}$s=-1;return new D.ptr(n,o,148);case 7:case 4:$panic(new $String(m+": value of type "+p.typ.String()+" is not assignable to type "+n.String()));$s=-1;return new D.ptr(DT.nil,0,0);}return;}if($f===undefined){$f={$blk:D.ptr.prototype.assignTo};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.assignTo=function(m,n,o){return this.$val.assignTo(m,n,o);};D.ptr.prototype.Cap=function(){var m,n,o;m=this;n=new E(m.flag).kind();o=n;if(o===(17)){return m.typ.Len();}else if((o===(18))||(o===(23))){return $parseInt($clone(m,D).object().$capacity)>>0;}$panic(new H.ptr("reflect.Value.Cap",n));};D.prototype.Cap=function(){return this.$val.Cap();};D.ptr.prototype.Index=function(m){var aa,ab,ac,ad,ae,af,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=[m];n=[n];o=[o];p=[p];q=[q];r=[r];s=this;t=new E(s.flag).kind();u=t;if(u===(17)){$s=2;continue;}if(u===(23)){$s=3;continue;}if(u===(24)){$s=4;continue;}$s=5;continue;case 2:v=(s.typ.kindType);if(m[0]<0||m[0]>((v.len>>0))){$panic(new $String("reflect: array index out of range"));}q[0]=v.elem;w=(((((s.flag&384)>>>0)|new E(s.flag).ro())>>>0)|((q[0].Kind()>>>0)))>>>0;n[0]=s.ptr;if(!((((w&128)>>>0)===0))&&!((q[0].Kind()===17))&&!((q[0].Kind()===25))){$s=7;continue;}$s=8;continue;case 7:$s=-1;return new D.ptr(q[0],(new(BH(DK(q[0])))((function(m,n,o,p,q,r){return function(){return DH(q[0],n[0][m[0]]);};})(m,n,o,p,q,r),(function(m,n,o,p,q,r){return function(x){var x;n[0][m[0]]=DI(q[0],x);};})(m,n,o,p,q,r))),w);case 8:x=BY(q[0],DH(q[0],n[0][m[0]]),w);$s=9;case 9:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;$s=10;case 10:return y;case 3:z=$clone(s,D).object();if(m[0]<0||m[0]>=($parseInt(z.$length)>>0)){$panic(new $String("reflect: slice index out of range"));}aa=(s.typ.kindType);r[0]=aa.elem;ab=(((384|new E(s.flag).ro())>>>0)|((r[0].Kind()>>>0)))>>>0;m[0]=m[0]+(($parseInt(z.$offset)>>0))>>0;o[0]=z.$array;if(!((((ab&128)>>>0)===0))&&!((r[0].Kind()===17))&&!((r[0].Kind()===25))){$s=11;continue;}$s=12;continue;case 11:$s=-1;return new D.ptr(r[0],(new(BH(DK(r[0])))((function(m,n,o,p,q,r){return function(){return DH(r[0],o[0][m[0]]);};})(m,n,o,p,q,r),(function(m,n,o,p,q,r){return function(ac){var ac;o[0][m[0]]=DI(r[0],ac);};})(m,n,o,p,q,r))),ab);case 12:ac=BY(r[0],DH(r[0],o[0][m[0]]),ab);$s=13;case 13:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;$s=14;case 14:return ad;case 4:ae=(s.ptr).$get();if(m[0]<0||m[0]>=ae.length){$panic(new $String("reflect: string index out of range"));}af=(((new E(s.flag).ro()|8)>>>0)|128)>>>0;p[0]=ae.charCodeAt(m[0]);$s=-1;return new D.ptr(BC,((p.$ptr||(p.$ptr=new EF(function(){return this.$target[0];},function($v){this.$target[0]=$v;},p)))),af);case 5:$panic(new H.ptr("reflect.Value.Index",t));case 6:case 1:$s=-1;return new D.ptr(DT.nil,0,0);}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Index};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Index=function(m){return this.$val.Index(m);};D.ptr.prototype.InterfaceData=function(){var m;m=this;$panic(new $String("InterfaceData is not supported by GopherJS"));};D.prototype.InterfaceData=function(){return this.$val.InterfaceData();};D.ptr.prototype.IsNil=function(){var m,n,o;m=this;n=new E(m.flag).kind();o=n;if((o===(22))||(o===(23))){return $clone(m,D).object()===BH(m.typ).nil;}else if(o===(18)){return $clone(m,D).object()===$chanNil;}else if(o===(19)){return $clone(m,D).object()===$throwNilPointerError;}else if(o===(21)){return $clone(m,D).object()===false;}else if(o===(20)){return $clone(m,D).object()===$ifaceNil;}else if(o===(26)){return $clone(m,D).object()===0;}else{$panic(new H.ptr("reflect.Value.IsNil",n));}};D.prototype.IsNil=function(){return this.$val.IsNil();};D.ptr.prototype.Len=function(){var m,n,o;m=this;n=new E(m.flag).kind();o=n;if((o===(17))||(o===(24))){return $parseInt($clone(m,D).object().length);}else if(o===(23)){return $parseInt($clone(m,D).object().$length)>>0;}else if(o===(18)){return $parseInt($clone(m,D).object().$buffer.length)>>0;}else if(o===(21)){return $parseInt($keys($clone(m,D).object()).length);}else{$panic(new H.ptr("reflect.Value.Len",n));}};D.prototype.Len=function(){return this.$val.Len();};D.ptr.prototype.Pointer=function(){var m,n,o;m=this;n=new E(m.flag).kind();o=n;if((o===(18))||(o===(21))||(o===(22))||(o===(26))){if($clone(m,D).IsNil()){return 0;}return $clone(m,D).object();}else if(o===(19)){if($clone(m,D).IsNil()){return 0;}return 1;}else if(o===(23)){if($clone(m,D).IsNil()){return 0;}return $clone(m,D).object().$array;}else{$panic(new H.ptr("reflect.Value.Pointer",n));}};D.prototype.Pointer=function(){return this.$val.Pointer();};D.ptr.prototype.Set=function(m){var m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=this;new E(n.flag).mustBeAssignable();new E(m.flag).mustBeExported();o=$clone(m,D).assignTo("reflect.Set",n.typ,0);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}D.copy(m,o);if(!((((n.flag&128)>>>0)===0))){$s=2;continue;}$s=3;continue;case 2:p=n.typ.Kind();if(p===(17)){$s=5;continue;}if(p===(20)){$s=6;continue;}if(p===(25)){$s=7;continue;}$s=8;continue;case 5:BH(n.typ).copy(n.ptr,m.ptr);$s=9;continue;case 6:q=DC($clone(m,D));$s=10;case 10:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}n.ptr.$set(q);$s=9;continue;case 7:BX(n.ptr,m.ptr,n.typ);$s=9;continue;case 8:n.ptr.$set($clone(m,D).object());case 9:case 4:$s=-1;return;case 3:n.ptr=m.ptr;$s=-1;return;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Set};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Set=function(m){return this.$val.Set(m);};D.ptr.prototype.SetBytes=function(m){var m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=this;new E(n.flag).mustBeAssignable();new E(n.flag).mustBe(23);o=n.typ.Elem().Kind();$s=3;case 3:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}if(!((o===8))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.Value.SetBytes of non-byte slice"));case 2:p=m;if(!(n.typ.Name()==="")){q=true;$s=6;continue s;}r=n.typ.Elem().Name();$s=7;case 7:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=!(r==="");case 6:if(q){$s=4;continue;}$s=5;continue;case 4:s=new(BH(n.typ))(p.$array);s.$offset=p.$offset;s.$length=p.$length;s.$capacity=p.$capacity;p=s;case 5:n.ptr.$set(p);$s=-1;return;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.SetBytes};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.SetBytes=function(m){return this.$val.SetBytes(m);};D.ptr.prototype.SetCap=function(m){var m,n,o,p;n=this;new E(n.flag).mustBeAssignable();new E(n.flag).mustBe(23);o=n.ptr.$get();if(m<($parseInt(o.$length)>>0)||m>($parseInt(o.$capacity)>>0)){$panic(new $String("reflect: slice capacity out of range in SetCap"));}p=new(BH(n.typ))(o.$array);p.$offset=o.$offset;p.$length=o.$length;p.$capacity=m;n.ptr.$set(p);};D.prototype.SetCap=function(m){return this.$val.SetCap(m);};D.ptr.prototype.SetLen=function(m){var m,n,o,p;n=this;new E(n.flag).mustBeAssignable();new E(n.flag).mustBe(23);o=n.ptr.$get();if(m<0||m>($parseInt(o.$capacity)>>0)){$panic(new $String("reflect: slice length out of range in SetLen"));}p=new(BH(n.typ))(o.$array);p.$offset=o.$offset;p.$length=m;p.$capacity=o.$capacity;n.ptr.$set(p);};D.prototype.SetLen=function(m){return this.$val.SetLen(m);};D.ptr.prototype.Slice=function(m,n){var m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=this;p=0;q=$ifaceNil;r=null;s=new E(o.flag).kind();t=s;if(t===(17)){$s=2;continue;}if(t===(23)){$s=3;continue;}if(t===(24)){$s=4;continue;}$s=5;continue;case 2:if(((o.flag&256)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}u=(o.typ.kindType);p=((u.len>>0));q=CG(u.elem);r=new(BH(q))($clone(o,D).object());$s=6;continue;case 3:q=o.typ;r=$clone(o,D).object();p=$parseInt(r.$capacity)>>0;$s=6;continue;case 4:v=(o.ptr).$get();if(m<0||n<m||n>v.length){$panic(new $String("reflect.Value.Slice: string slice index out of bounds"));}w=CB(new $String($substring(v,m,n)));$s=7;case 7:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;$s=8;case 8:return x;case 5:$panic(new H.ptr("reflect.Value.Slice",s));case 6:case 1:if(m<0||n<m||n>p){$panic(new $String("reflect.Value.Slice: slice index out of bounds"));}y=BY(q,$subslice(r,m,n),new E(o.flag).ro());$s=9;case 9:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;$s=10;case 10:return z;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Slice};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Slice=function(m,n){return this.$val.Slice(m,n);};D.ptr.prototype.Slice3=function(m,n,o){var m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=this;q=0;r=$ifaceNil;s=null;t=new E(p.flag).kind();u=t;if(u===(17)){if(((p.flag&256)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}v=(p.typ.kindType);q=((v.len>>0));r=CG(v.elem);s=new(BH(r))($clone(p,D).object());}else if(u===(23)){r=p.typ;s=$clone(p,D).object();q=$parseInt(s.$capacity)>>0;}else{$panic(new H.ptr("reflect.Value.Slice3",t));}if(m<0||n<m||o<n||o>q){$panic(new $String("reflect.Value.Slice3: slice index out of bounds"));}w=BY(r,$subslice(s,m,n,o),new E(p.flag).ro());$s=1;case 1:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;$s=2;case 2:return x;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Slice3};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Slice3=function(m,n,o){return this.$val.Slice3(m,n,o);};D.ptr.prototype.Close=function(){var m;m=this;new E(m.flag).mustBe(18);new E(m.flag).mustBeExported();$close($clone(m,D).object());};D.prototype.Close=function(){return this.$val.Close();};D.ptr.prototype.Elem=function(){var m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=this;n=new E(m.flag).kind();o=n;if(o===(20)){$s=2;continue;}if(o===(22)){$s=3;continue;}$s=4;continue;case 2:p=$clone(m,D).object();if(p===$ifaceNil){$s=-1;return new D.ptr(DT.nil,0,0);}q=BI(p.constructor);r=BY(q,p.$val,new E(m.flag).ro());$s=6;case 6:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;$s=7;case 7:return s;case 3:if($clone(m,D).IsNil()){$s=-1;return new D.ptr(DT.nil,0,0);}t=$clone(m,D).object();u=(m.typ.kindType);v=(((((m.flag&96)>>>0)|128)>>>0)|256)>>>0;v=(v|(((u.elem.Kind()>>>0))))>>>0;$s=-1;return new D.ptr(u.elem,(DH(u.elem,t)),v);case 4:$panic(new H.ptr("reflect.Value.Elem",n));case 5:case 1:$s=-1;return new D.ptr(DT.nil,0,0);}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Elem};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Elem=function(){return this.$val.Elem();};D.ptr.prototype.NumField=function(){var m,n;m=this;new E(m.flag).mustBe(25);n=(m.typ.kindType);return n.fields.$length;};D.prototype.NumField=function(){return this.$val.NumField();};D.ptr.prototype.MapKeys=function(){var m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=this;new E(m.flag).mustBe(21);n=(m.typ.kindType);o=n.key;p=(new E(m.flag).ro()|((o.Kind()>>>0)))>>>0;q=$clone(m,D).pointer();r=0;if(!(q===0)){r=CY(q);}s=CU(m.typ,q);t=$makeSlice(EE,r);u=0;u=0;case 1:if(!(u<t.$length)){$s=2;continue;}v=CW(s);$s=3;case 3:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v;if(w===0){$s=2;continue;}D.copy(((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]),DL(o,p,w));CX(s);u=u+(1)>>0;$s=1;continue;case 2:$s=-1;return $subslice(t,0,u);}return;}if($f===undefined){$f={$blk:D.ptr.prototype.MapKeys};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.MapKeys=function(){return this.$val.MapKeys();};D.ptr.prototype.MapIndex=function(m){var m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=this;new E(n.flag).mustBe(21);o=(n.typ.kindType);p=$clone(m,D).assignTo("reflect.Value.MapIndex",o.key,0);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}D.copy(m,p);q=0;if(!((((m.flag&128)>>>0)===0))){q=m.ptr;}else{q=((m.$ptr_ptr||(m.$ptr_ptr=new EG(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},m))));}r=CQ(n.typ,$clone(n,D).pointer(),q);if(r===0){$s=-1;return new D.ptr(DT.nil,0,0);}s=o.elem;t=new E((((n.flag|m.flag)>>>0))).ro();t=(t|(((s.Kind()>>>0))))>>>0;$s=-1;return DL(s,t,r);}return;}if($f===undefined){$f={$blk:D.ptr.prototype.MapIndex};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.MapIndex=function(m){return this.$val.MapIndex(m);};D.ptr.prototype.Field=function(m){var aa,ab,ac,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=[n];o=[o];p=[p];q=[q];r=this;if(!((new E(r.flag).kind()===25))){$panic(new H.ptr("reflect.Value.Field",new E(r.flag).kind()));}s=(r.typ.kindType);if(((m>>>0))>=((s.fields.$length>>>0))){$panic(new $String("reflect: Field index out of range"));}o[0]=$internalize(BH(r.typ).fields[m].prop,$String);u=(t=s.fields,((m<0||m>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+m]));q[0]=u.typ;v=(((r.flag&416)>>>0)|((q[0].Kind()>>>0)))>>>0;if(!$clone(u.name,BN).isExported()){if(u.embedded()){v=(v|(64))>>>0;}else{v=(v|(32))>>>0;}}x=$clone((w=s.fields,((m<0||m>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+m])).name,BN).tag();if(!(x==="")&&!((m===0))){$s=1;continue;}$s=2;continue;case 1:n[0]=DJ(x);if(!(n[0]==="")){$s=3;continue;}$s=4;continue;case 3:case 5:y=[y];z=$clone(r,D).Field(0);$s=7;case 7:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}D.copy(r,z);if(r.typ===DG){$s=8;continue;}$s=9;continue;case 8:y[0]=$clone(r,D).object().object;$s=-1;return new D.ptr(q[0],(new(BH(DK(q[0])))((function(n,o,p,q,y){return function(){return $internalize(y[0][$externalize(n[0],$String)],BH(q[0]));};})(n,o,p,q,y),(function(n,o,p,q,y){return function(aa){var aa;y[0][$externalize(n[0],$String)]=$externalize(aa,BH(q[0]));};})(n,o,p,q,y))),v);case 9:if(r.typ.Kind()===22){$s=10;continue;}$s=11;continue;case 10:aa=$clone(r,D).Elem();$s=12;case 12:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}D.copy(r,aa);case 11:$s=5;continue;case 6:case 4:case 2:p[0]=r.ptr;if(!((((v&128)>>>0)===0))&&!((q[0].Kind()===17))&&!((q[0].Kind()===25))){$s=13;continue;}$s=14;continue;case 13:$s=-1;return new D.ptr(q[0],(new(BH(DK(q[0])))((function(n,o,p,q){return function(){return DH(q[0],p[0][$externalize(o[0],$String)]);};})(n,o,p,q),(function(n,o,p,q){return function(ab){var ab;p[0][$externalize(o[0],$String)]=DI(q[0],ab);};})(n,o,p,q))),v);case 14:ab=BY(q[0],DH(q[0],p[0][$externalize(o[0],$String)]),v);$s=15;case 15:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;$s=16;case 16:return ac;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Field};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Field=function(m){return this.$val.Field(m);};AS.ptr.prototype.Error=function(){var m;m=this;return m.s;};AS.prototype.Error=function(){return this.$val.Error();};AT=function(m){var m;if(m.length<2){return[m,$ifaceNil];}if((m.charCodeAt(0)===39)||(m.charCodeAt(0)===34)){if(m.charCodeAt((m.length-1>>0))===m.charCodeAt(0)){return[$substring(m,1,(m.length-1>>0)),$ifaceNil];}return["",$pkg.ErrSyntax];}return[m,$ifaceNil];};E.prototype.mustBe=function(m){var m,n;n=this.$val;if(!((((((n&31)>>>0)>>>0))===m))){$panic(new H.ptr(DE(),new E(n).kind()));}};$ptrType(E).prototype.mustBe=function(m){return new E(this.$get()).mustBe(m);};Q.ptr.prototype.Comparable=function(){var m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=this;n=m.Kind();if((n===(19))||(n===(23))||(n===(21))){$s=2;continue;}if(n===(17)){$s=3;continue;}if(n===(25)){$s=4;continue;}$s=5;continue;case 2:$s=-1;return false;case 3:o=m.Elem().Comparable();$s=6;case 6:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;$s=7;case 7:return p;case 4:q=0;case 8:if(!(q<m.NumField())){$s=9;continue;}r=$clone(m.Field(q),AA);s=r.typ.Comparable();$s=12;case 12:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}if(!s){$s=10;continue;}$s=11;continue;case 10:$s=-1;return false;case 11:q=q+(1)>>0;$s=8;continue;case 9:case 5:case 1:$s=-1;return true;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.Comparable};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.Comparable=function(){return this.$val.Comparable();};Q.ptr.prototype.IsVariadic=function(){var m,n;m=this;if(!((m.Kind()===19))){$panic(new $String("reflect: IsVariadic of non-func type"));}n=(m.kindType);return!((((n.outCount&32768)>>>0)===0));};Q.prototype.IsVariadic=function(){return this.$val.IsVariadic();};Q.ptr.prototype.Field=function(m){var m,n,o,p;n=this;if(!((n.Kind()===25))){$panic(new $String("reflect: Field of non-struct type"));}o=(n.kindType);if(m<0||m>=o.fields.$length){$panic(new $String("reflect: Field index out of bounds"));}return(p=o.fields,((m<0||m>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+m]));};Q.prototype.Field=function(m){return this.$val.Field(m);};Q.ptr.prototype.Key=function(){var m,n;m=this;if(!((m.Kind()===21))){$panic(new $String("reflect: Key of non-map type"));}n=(m.kindType);return AO(n.key);};Q.prototype.Key=function(){return this.$val.Key();};Q.ptr.prototype.NumField=function(){var m,n;m=this;if(!((m.Kind()===25))){$panic(new $String("reflect: NumField of non-struct type"));}n=(m.kindType);return n.fields.$length;};Q.prototype.NumField=function(){return this.$val.NumField();};Q.ptr.prototype.Method=function(m){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=[n];o=new AU.ptr("","",$ifaceNil,new D.ptr(DT.nil,0,0),0);p=this;if(p.Kind()===20){$s=1;continue;}$s=2;continue;case 1:q=(p.kindType);r=q.rtype.Method(m);$s=3;case 3:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}AU.copy(o,r);s=o;$s=4;case 4:return s;case 2:t=p.exportedMethods();if(m<0||m>=t.$length){$panic(new $String("reflect: Method index out of range"));}u=$clone(((m<0||m>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+m]),R);v=$clone(p.nameOff(u.name),BN);o.Name=$clone(v,BN).name();w=19;x=p.typeOff(u.mtyp);y=(x.kindType);z=$makeSlice(EH,0,(1+y.in$().$length>>0));z=$append(z,p);aa=y.in$();ab=0;while(true){if(!(ab<aa.$length)){break;}ac=((ab<0||ab>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+ab]);z=$append(z,ac);ab++;}ad=$makeSlice(EH,0,y.out().$length);ae=y.out();af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);ad=$append(ad,ag);af++;}ah=CE(z,ad,y.rtype.IsVariadic());$s=5;case 5:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;o.Type=ai;n[0]=$internalize($methodSet(p[$externalize(BD,$String)])[m].prop,$String);aj=C.MakeFunc((function(n){return function(aj,ak){var aj,ak,al;al=(0>=ak.$length?($throwRuntimeError("index out of range"),undefined):ak.$array[ak.$offset+0]);return new $jsObjectPtr(al[$externalize(n[0],$String)].apply(al,$externalize($subslice(ak,1),EI)));};})(n));D.copy(o.Func,new D.ptr($assertType(ai,DT),(aj),w));o.Index=m;AU.copy(o,o);$s=-1;return o;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.Method};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.Method=function(m){return this.$val.Method(m);};AZ=function(m){var m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=[n];o=[o];p=[p];q=CB(m);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=$clone(q,D);if(!(($clone(r,D).Kind()===23))){$panic(new H.ptr("Swapper",$clone(r,D).Kind()));}p[0]=(($clone(r,D).Len()>>>0));s=p[0];if(s===(0)){$s=-1;return(function(n,o,p){return function(t,u){var t,u;$panic(new $String("reflect: slice index out of range"));};})(n,o,p);}else if(s===(1)){$s=-1;return(function(n,o,p){return function(t,u){var t,u;if(!((t===0))||!((u===0))){$panic(new $String("reflect: slice index out of range"));}};})(n,o,p);}n[0]=m.$array;o[0]=$parseInt(m.$offset)>>0;$s=-1;return(function(n,o,p){return function(t,u){var t,u,v;if(((t>>>0))>=p[0]||((u>>>0))>=p[0]){$panic(new $String("reflect: slice index out of range"));}t=t+(o[0])>>0;u=u+(o[0])>>0;v=n[0][t];n[0][t]=n[0][u];n[0][u]=v;};})(n,o,p);}return;}if($f===undefined){$f={$blk:AZ};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Swapper=AZ;BB=function(){var m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=(function(m){var m;});$r=m((n=new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0),new n.constructor.elem(n)));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=m((o=new BK.ptr(0,0,0,0,EC.nil),new o.constructor.elem(o)));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=m((p=new R.ptr(0,0,0,0),new p.constructor.elem(p)));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=m((q=new T.ptr(new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0),DT.nil,DT.nil,0),new q.constructor.elem(q)));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=m((r=new U.ptr(new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0),DT.nil,0),new r.constructor.elem(r)));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=m((s=new BM.ptr(new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0),0,0,DV.nil,DV.nil),new s.constructor.elem(s)));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=m((t=new W.ptr(new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0),new BN.ptr(EF.nil),EJ.nil),new t.constructor.elem(t)));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=m((u=new X.ptr(new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0),DT.nil,DT.nil,DT.nil,$throwNilPointerError,0,0,0,0),new u.constructor.elem(u)));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=m((v=new Y.ptr(new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0),DT.nil),new v.constructor.elem(v)));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=m((w=new Z.ptr(new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0),DT.nil),new w.constructor.elem(w)));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=m((x=new AB.ptr(new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0),new BN.ptr(EF.nil),EK.nil),new x.constructor.elem(x)));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=m((y=new V.ptr(0,0),new y.constructor.elem(y)));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=m((z=new AA.ptr(new BN.ptr(EF.nil),DT.nil,0),new z.constructor.elem(z)));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}BA=true;BC=$assertType(CA(new $Uint8(0)),DT);$s=-1;return;}return;}if($f===undefined){$f={$blk:BB};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BH=function(m){var m;return m[$externalize(BD,$String)];};BI=function(m){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,m,n,o,p,q,r,s,t,u,v,w,x,y,z;if(m[$externalize(BE,$String)]===undefined){n=new Q.ptr(((($parseInt(m.size)>>0)>>>0)),0,0,0,0,0,((($parseInt(m.kind)>>0)<<24>>>24)),$throwNilPointerError,EF.nil,BS($clone(BQ(BV(m.string),"",!!(m.exported)),BN)),0);n[$externalize(BD,$String)]=m;m[$externalize(BE,$String)]=n;o=$methodSet(m);if(!(($parseInt(o.length)===0))||!!(m.named)){n.tflag=(n.tflag|(1))>>>0;if(!!(m.named)){n.tflag=(n.tflag|(4))>>>0;}p=EC.nil;q=0;while(true){if(!(q<$parseInt(o.length))){break;}r=o[q];s=BV(r.pkg)==="";if(!s){q=q+(1)>>0;continue;}p=$append(p,new R.ptr(BS($clone(BQ(BV(r.name),"",s),BN)),BU(BI(r.typ)),0,0));q=q+(1)>>0;}t=((p.$length<<16>>>16));u=0;while(true){if(!(u<$parseInt(o.length))){break;}v=o[u];w=BV(v.pkg)==="";if(w){u=u+(1)>>0;continue;}p=$append(p,new R.ptr(BS($clone(BQ(BV(v.name),"",w),BN)),BU(BI(v.typ)),0,0));u=u+(1)>>0;}x=new BK.ptr(BS($clone(BQ(BV(m.pkg),"",false),BN)),(($parseInt(o.length)<<16>>>16)),t,0,p);y=n;(BL||$throwRuntimeError("assignment to entry in nil map"))[DT.keyFor(y)]={k:y,v:x};x[$externalize(BD,$String)]=m;}z=n.Kind();if(z===(17)){BJ(n,new T.ptr(new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0),BI(m.elem),DT.nil,((($parseInt(m.len)>>0)>>>0))));}else if(z===(18)){aa=3;if(!!(m.sendOnly)){aa=2;}if(!!(m.recvOnly)){aa=1;}BJ(n,new U.ptr(new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0),BI(m.elem),((aa>>>0))));}else if(z===(19)){ab=m.params;ac=$makeSlice(DV,$parseInt(ab.length));ad=ac;ae=0;while(true){if(!(ae<ad.$length)){break;}af=ae;((af<0||af>=ac.$length)?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+af]=BI(ab[af]));ae++;}ag=m.results;ah=$makeSlice(DV,$parseInt(ag.length));ai=ah;aj=0;while(true){if(!(aj<ai.$length)){break;}ak=aj;((ak<0||ak>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ak]=BI(ag[ak]));aj++;}al=(($parseInt(ag.length)<<16>>>16));if(!!(m.variadic)){al=(al|(32768))>>>0;}BJ(n,new BM.ptr($clone(n,Q),(($parseInt(ab.length)<<16>>>16)),al,ac,ah));}else if(z===(20)){am=m.methods;an=$makeSlice(EJ,$parseInt(am.length));ao=an;ap=0;while(true){if(!(ap<ao.$length)){break;}aq=ap;ar=am[aq];V.copy(((aq<0||aq>=an.$length)?($throwRuntimeError("index out of range"),undefined):an.$array[an.$offset+aq]),new V.ptr(BS($clone(BQ(BV(ar.name),"",BV(ar.pkg)===""),BN)),BU(BI(ar.typ))));ap++;}BJ(n,new W.ptr($clone(n,Q),$clone(BQ(BV(m.pkg),"",false),BN),an));}else if(z===(21)){BJ(n,new X.ptr(new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0),BI(m.key),BI(m.elem),DT.nil,$throwNilPointerError,0,0,0,0));}else if(z===(22)){BJ(n,new Y.ptr(new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0),BI(m.elem)));}else if(z===(23)){BJ(n,new Z.ptr(new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0),BI(m.elem)));}else if(z===(25)){as=m.fields;at=$makeSlice(EK,$parseInt(as.length));au=at;av=0;while(true){if(!(av<au.$length)){break;}aw=av;ax=as[aw];ay=((aw>>>0))<<1>>>0;if(!!(ax.embedded)){ay=(ay|(1))>>>0;}AA.copy(((aw<0||aw>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+aw]),new AA.ptr($clone(BQ(BV(ax.name),BV(ax.tag),!!(ax.exported)),BN),BI(ax.typ),ay));av++;}BJ(n,new AB.ptr($clone(n,Q),$clone(BQ(BV(m.pkgPath),"",false),BN),at));}}return((m[$externalize(BE,$String)]));};BJ=function(m,n){var m,n;m[$externalize(BF,$String)]=n;n[$externalize(BG,$String)]=m;};BK.ptr.prototype.methods=function(){var m;m=this;return m._methods;};BK.prototype.methods=function(){return this.$val.methods();};BK.ptr.prototype.exportedMethods=function(){var m;m=this;return $subslice(m._methods,0,m.xcount,m.xcount);};BK.prototype.exportedMethods=function(){return this.$val.exportedMethods();};Q.ptr.prototype.uncommon=function(){var m,n;m=this;return(n=BL[DT.keyFor(m)],n!==undefined?n.v:EB.nil);};Q.prototype.uncommon=function(){return this.$val.uncommon();};BM.ptr.prototype.in$=function(){var m;m=this;return m._in;};BM.prototype.in$=function(){return this.$val.in$();};BM.ptr.prototype.out=function(){var m;m=this;return m._out;};BM.prototype.out=function(){return this.$val.out();};BN.ptr.prototype.name=function(){var m,n,o;m="";n=this;m=(o=BP[EF.keyFor(n.bytes)],o!==undefined?o.v:EL.nil).name;return m;};BN.prototype.name=function(){return this.$val.name();};BN.ptr.prototype.tag=function(){var m,n,o;m="";n=this;m=(o=BP[EF.keyFor(n.bytes)],o!==undefined?o.v:EL.nil).tag;return m;};BN.prototype.tag=function(){return this.$val.tag();};BN.ptr.prototype.pkgPath=function(){var m;m=this;return"";};BN.prototype.pkgPath=function(){return this.$val.pkgPath();};BN.ptr.prototype.isExported=function(){var m,n;m=this;return(n=BP[EF.keyFor(m.bytes)],n!==undefined?n.v:EL.nil).exported;};BN.prototype.isExported=function(){return this.$val.isExported();};BQ=function(m,n,o){var m,n,o,p,q;p=$newDataPointer(0,EF);q=p;(BP||$throwRuntimeError("assignment to entry in nil map"))[EF.keyFor(q)]={k:q,v:new BO.ptr(m,n,o)};return new BN.ptr(p);};Q.ptr.prototype.nameOff=function(m){var m,n,o;n=this;return(o=((m>>0)),((o<0||o>=BR.$length)?($throwRuntimeError("index out of range"),undefined):BR.$array[BR.$offset+o]));};Q.prototype.nameOff=function(m){return this.$val.nameOff(m);};BS=function(m){var m,n;n=BR.$length;BR=$append(BR,m);return((n>>0));};Q.ptr.prototype.typeOff=function(m){var m,n,o;n=this;return(o=((m>>0)),((o<0||o>=BT.$length)?($throwRuntimeError("index out of range"),undefined):BT.$array[BT.$offset+o]));};Q.prototype.typeOff=function(m){return this.$val.typeOff(m);};BU=function(m){var m,n;n=BT.$length;BT=$append(BT,m);return((n>>0));};BV=function(m){var m,n;n=new EM.ptr("");n.str=m;return n.str;};BW=function(m){var m;return!!(BH(m).wrapped);};BX=function(m,n,o){var m,n,o,p,q,r;p=BH(o).fields;q=0;while(true){if(!(q<$parseInt(p.length))){break;}r=$internalize(p[q].prop,$String);m[$externalize(r,$String)]=n[$externalize(r,$String)];q=q+(1)>>0;}};BY=function(m,n,o){var m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=m.common();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;t=m.Kind();$s=6;case 6:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}if(t===17){s=true;$s=5;continue s;}u=m.Kind();$s=7;case 7:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}s=u===25;case 5:if(s){r=true;$s=4;continue s;}v=m.Kind();$s=8;case 8:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}r=v===22;case 4:if(r){$s=2;continue;}$s=3;continue;case 2:w=m.Kind();$s=9;case 9:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=new D.ptr(q,(n),(o|((w>>>0)))>>>0);$s=10;case 10:return x;case 3:y=m.Kind();$s=11;case 11:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=new D.ptr(q,($newDataPointer(n,BH(q.ptrTo()))),(((o|((y>>>0)))>>>0)|128)>>>0);$s=12;case 12:return z;}return;}if($f===undefined){$f={$blk:BY};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CA=function(m){var m;if(!BA){return new Q.ptr(0,0,0,0,0,0,0,$throwNilPointerError,EF.nil,0,0);}if($interfaceIsEqual(m,$ifaceNil)){return $ifaceNil;}return BI(m.constructor);};$pkg.TypeOf=CA;CB=function(m){var m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($interfaceIsEqual(m,$ifaceNil)){$s=-1;return new D.ptr(DT.nil,0,0);}n=BY(BI(m.constructor),m.$val,0);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;$s=2;case 2:return o;}return;}if($f===undefined){$f={$blk:CB};}$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ValueOf=CB;CE=function(m,n,o){var aa,ab,ac,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!(o)){p=false;$s=3;continue s;}if(m.$length===0){q=true;$s=4;continue s;}s=(r=m.$length-1>>0,((r<0||r>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+r])).Kind();$s=5;case 5:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}q=!((s===23));case 4:p=q;case 3:if(p){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.FuncOf: last arg of variadic func must be slice"));case 2:t=$makeSlice(EI,m.$length);u=m;v=0;while(true){if(!(v<u.$length)){break;}w=v;x=((v<0||v>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+v]);((w<0||w>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+w]=BH(x));v++;}y=$makeSlice(EI,n.$length);z=n;aa=0;while(true){if(!(aa<z.$length)){break;}ab=aa;ac=((aa<0||aa>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+aa]);((ab<0||ab>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+ab]=BH(ac));aa++;}$s=-1;return BI($funcType($externalize(t,EI),$externalize(y,EI),$externalize(o,$Bool)));}return;}if($f===undefined){$f={$blk:CE};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.FuncOf=CE;Q.ptr.prototype.ptrTo=function(){var m;m=this;return BI($ptrType(BH(m)));};Q.prototype.ptrTo=function(){return this.$val.ptrTo();};CG=function(m){var m;return BI($sliceType(BH(m)));};$pkg.SliceOf=CG;CI=function(m){var m,n;n=m.Kind();if(n===(25)){return(new(BH(m).ptr)());}else if(n===(17)){return(BH(m).zero());}else{return($newDataPointer(BH(m).zero(),BH(m.ptrTo())));}};CL=function(m,n,o){var m,n,o;n.$set(o.$get());};CP=function(m,n){var m,n,o,p;o=n;if(!(o.$get===undefined)){o=o.$get();}p=$internalize(BH(m.Key()).keyFor(o),$String);return[o,p];};CQ=function(m,n,o){var m,n,o,p,q,r;p=CP(m,o);q=p[1];r=n[$externalize(q,$String)];if(r===undefined){return 0;}return($newDataPointer(r.v,BH(DK(m.Elem()))));};CT.ptr.prototype.skipUntilValidKey=function(){var m,n;m=this;while(true){if(!(m.i<$parseInt(m.keys.length))){break;}n=m.keys[m.i];if(!(m.m[$externalize($internalize(n,$String),$String)]===undefined)){break;}m.i=m.i+(1)>>0;}};CT.prototype.skipUntilValidKey=function(){return this.$val.skipUntilValidKey();};CU=function(m,n){var m,n;return(new CT.ptr(m,n,$keys(n),0,null));};CW=function(m){var m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=($pointerOfStructConversion(m,EN));o=null;if(!(n.last===null)){o=n.last;}else{n.skipUntilValidKey();if(n.i===$parseInt(n.keys.length)){$s=-1;return 0;}p=n.keys[n.i];o=n.m[$externalize($internalize(p,$String),$String)];n.last=o;}q=$assertType(n.t,CV).Key();$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=DK(q);$s=2;case 2:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=BH(r);$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=($newDataPointer(o.k,s));$s=4;case 4:return t;}return;}if($f===undefined){$f={$blk:CW};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};CX=function(m){var m,n;n=($pointerOfStructConversion(m,EN));n.last=null;n.i=n.i+(1)>>0;};CY=function(m){var m;return $parseInt($keys(m).length);};DB=function(m,n,o){var m,n,o,p,q,r,s,t,u,v,w,x,y;p=DT.nil;q=ED.nil;r=0;s="";if(n.typ.Kind()===20){t=(n.typ.kindType);if(o<0||o>=t.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}v=(u=t.methods,((o<0||o>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+o]));if(!$clone(t.rtype.nameOff(v.name),BN).isExported()){$panic(new $String("reflect: "+m+" of unexported method"));}q=(t.rtype.typeOff(v.typ).kindType);s=$clone(t.rtype.nameOff(v.name),BN).name();}else{w=n.typ.exportedMethods();if(((o>>>0))>=((w.$length>>>0))){$panic(new $String("reflect: internal error: invalid method index"));}x=$clone(((o<0||o>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+o]),R);if(!$clone(n.typ.nameOff(x.name),BN).isExported()){$panic(new $String("reflect: "+m+" of unexported method"));}q=(n.typ.typeOff(x.mtyp).kindType);s=$internalize($methodSet(BH(n.typ))[o].prop,$String);}y=$clone(n,D).object();if(BW(n.typ)){y=new(BH(n.typ))(y);}r=(y[$externalize(s,$String)]);return[p,q,r];};DC=function(m){var m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(m.flag===0){$panic(new H.ptr("reflect.Value.Interface",0));}if(!((((m.flag&512)>>>0)===0))){$s=1;continue;}$s=2;continue;case 1:n=DF("Interface",$clone(m,D));$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}D.copy(m,n);case 2:if(BW(m.typ)){$s=-1;return((new(BH(m.typ))($clone(m,D).object())));}$s=-1;return(($clone(m,D).object()));}return;}if($f===undefined){$f={$blk:DC};}$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};DD=function(m,n,o){var m,n,o;o.$set(n);};DE=function(){return"?FIXME?";};DF=function(m,n){var m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=[o];p=[p];if(((n.flag&512)>>>0)===0){$panic(new $String("reflect: internal error: invalid use of makePartialFunc"));}q=DB(m,$clone(n,D),((n.flag>>0))>>10>>0);o[0]=q[2];p[0]=$clone(n,D).object();if(BW(n.typ)){p[0]=new(BH(n.typ))(p[0]);}r=C.MakeFunc((function(o,p){return function(r,s){var r,s;return new $jsObjectPtr(o[0].apply(p[0],$externalize(s,EI)));};})(o,p));s=$clone(n,D).Type().common();$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=new D.ptr(s,(r),(new E(n.flag).ro()|19)>>>0);$s=2;case 2:return t;}return;}if($f===undefined){$f={$blk:DF};}$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};DH=function(m,n){var m,n;if($interfaceIsEqual(m,DG)){return new(BH(DG))(n);}return n;};DI=function(m,n){var m,n;if($interfaceIsEqual(m,DG)){return n.object;}return n;};DJ=function(m){var m,n,o,p,q,r;while(true){if(!(!(m===""))){break;}n=0;while(true){if(!(n<m.length&&(m.charCodeAt(n)===32))){break;}n=n+(1)>>0;}m=$substring(m,n);if(m===""){break;}n=0;while(true){if(!(n<m.length&&!((m.charCodeAt(n)===32))&&!((m.charCodeAt(n)===58))&&!((m.charCodeAt(n)===34)))){break;}n=n+(1)>>0;}if((n+1>>0)>=m.length||!((m.charCodeAt(n)===58))||!((m.charCodeAt((n+1>>0))===34))){break;}o=($substring(m,0,n));m=$substring(m,(n+1>>0));n=1;while(true){if(!(n<m.length&&!((m.charCodeAt(n)===34)))){break;}if(m.charCodeAt(n)===92){n=n+(1)>>0;}n=n+(1)>>0;}if(n>=m.length){break;}p=($substring(m,0,(n+1>>0)));m=$substring(m,(n+1>>0));if(o==="js"){q=AT(p);r=q[0];return r;}}return"";};DK=function(m){var m;return $assertType(m,DT).ptrTo();};$pkg.PtrTo=DK;DL=function(m,n,o){var m,n,o,p;if(AP(m)){p=CI(m);CL(m,p,o);return new D.ptr(m,p,(n|128)>>>0);}return new D.ptr(m,(o).$get(),n);};D.methods=[{prop:"pointer",name:"pointer",pkg:"internal/reflectlite",typ:$funcType([],[$UnsafePointer],false)},{prop:"CanSet",name:"CanSet",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsValid",name:"IsValid",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Kind",name:"Kind",pkg:"",typ:$funcType([],[O],false)},{prop:"numMethod",name:"numMethod",pkg:"internal/reflectlite",typ:$funcType([],[$Int],false)},{prop:"Type",name:"Type",pkg:"",typ:$funcType([],[N],false)},{prop:"object",name:"object",pkg:"internal/reflectlite",typ:$funcType([],[DY],false)},{prop:"assignTo",name:"assignTo",pkg:"internal/reflectlite",typ:$funcType([$String,DT,$UnsafePointer],[D],false)},{prop:"call",name:"call",pkg:"internal/reflectlite",typ:$funcType([$String,EE],[EE],false)},{prop:"Cap",name:"Cap",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Index",name:"Index",pkg:"",typ:$funcType([$Int],[D],false)},{prop:"InterfaceData",name:"InterfaceData",pkg:"",typ:$funcType([],[ER],false)},{prop:"IsNil",name:"IsNil",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Pointer",name:"Pointer",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([D],[],false)},{prop:"SetBytes",name:"SetBytes",pkg:"",typ:$funcType([ES],[],false)},{prop:"SetCap",name:"SetCap",pkg:"",typ:$funcType([$Int],[],false)},{prop:"SetLen",name:"SetLen",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Slice",name:"Slice",pkg:"",typ:$funcType([$Int,$Int],[D],false)},{prop:"Slice3",name:"Slice3",pkg:"",typ:$funcType([$Int,$Int,$Int],[D],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[],false)},{prop:"Elem",name:"Elem",pkg:"",typ:$funcType([],[D],false)},{prop:"NumField",name:"NumField",pkg:"",typ:$funcType([],[$Int],false)},{prop:"MapKeys",name:"MapKeys",pkg:"",typ:$funcType([],[EE],false)},{prop:"MapIndex",name:"MapIndex",pkg:"",typ:$funcType([D],[D],false)},{prop:"Field",name:"Field",pkg:"",typ:$funcType([$Int],[D],false)}];E.methods=[{prop:"kind",name:"kind",pkg:"internal/reflectlite",typ:$funcType([],[O],false)},{prop:"ro",name:"ro",pkg:"internal/reflectlite",typ:$funcType([],[E],false)},{prop:"mustBeExported",name:"mustBeExported",pkg:"internal/reflectlite",typ:$funcType([],[],false)},{prop:"mustBeAssignable",name:"mustBeAssignable",pkg:"internal/reflectlite",typ:$funcType([],[],false)},{prop:"mustBe",name:"mustBe",pkg:"internal/reflectlite",typ:$funcType([O],[],false)}];ET.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];O.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];DT.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"Kind",name:"Kind",pkg:"",typ:$funcType([],[O],false)},{prop:"pointers",name:"pointers",pkg:"internal/reflectlite",typ:$funcType([],[$Bool],false)},{prop:"common",name:"common",pkg:"internal/reflectlite",typ:$funcType([],[DT],false)},{prop:"exportedMethods",name:"exportedMethods",pkg:"internal/reflectlite",typ:$funcType([],[EC],false)},{prop:"NumMethod",name:"NumMethod",pkg:"",typ:$funcType([],[$Int],false)},{prop:"PkgPath",name:"PkgPath",pkg:"",typ:$funcType([],[$String],false)},{prop:"hasName",name:"hasName",pkg:"internal/reflectlite",typ:$funcType([],[$Bool],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"chanDir",name:"chanDir",pkg:"internal/reflectlite",typ:$funcType([],[S],false)},{prop:"Elem",name:"Elem",pkg:"",typ:$funcType([],[N],false)},{prop:"In",name:"In",pkg:"",typ:$funcType([$Int],[N],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumIn",name:"NumIn",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumOut",name:"NumOut",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Out",name:"Out",pkg:"",typ:$funcType([$Int],[N],false)},{prop:"Implements",name:"Implements",pkg:"",typ:$funcType([N],[$Bool],false)},{prop:"AssignableTo",name:"AssignableTo",pkg:"",typ:$funcType([N],[$Bool],false)},{prop:"Comparable",name:"Comparable",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsVariadic",name:"IsVariadic",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"kindType",name:"kindType",pkg:"internal/reflectlite",typ:$funcType([],[DT],false)},{prop:"Field",name:"Field",pkg:"",typ:$funcType([$Int],[AA],false)},{prop:"Key",name:"Key",pkg:"",typ:$funcType([],[N],false)},{prop:"NumField",name:"NumField",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Method",name:"Method",pkg:"",typ:$funcType([$Int],[AU],false)},{prop:"uncommon",name:"uncommon",pkg:"internal/reflectlite",typ:$funcType([],[EB],false)},{prop:"nameOff",name:"nameOff",pkg:"internal/reflectlite",typ:$funcType([AF],[BN],false)},{prop:"typeOff",name:"typeOff",pkg:"internal/reflectlite",typ:$funcType([AG],[DT],false)},{prop:"ptrTo",name:"ptrTo",pkg:"internal/reflectlite",typ:$funcType([],[DT],false)}];EV.methods=[{prop:"NumMethod",name:"NumMethod",pkg:"",typ:$funcType([],[$Int],false)}];EX.methods=[{prop:"offset",name:"offset",pkg:"internal/reflectlite",typ:$funcType([],[$Uintptr],false)},{prop:"embedded",name:"embedded",pkg:"internal/reflectlite",typ:$funcType([],[$Bool],false)}];EY.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];EB.methods=[{prop:"methods",name:"methods",pkg:"internal/reflectlite",typ:$funcType([],[EC],false)},{prop:"exportedMethods",name:"exportedMethods",pkg:"internal/reflectlite",typ:$funcType([],[EC],false)}];ED.methods=[{prop:"in$",name:"in",pkg:"internal/reflectlite",typ:$funcType([],[DV],false)},{prop:"out",name:"out",pkg:"internal/reflectlite",typ:$funcType([],[DV],false)}];BN.methods=[{prop:"data",name:"data",pkg:"internal/reflectlite",typ:$funcType([$Int,$String],[EF],false)},{prop:"hasTag",name:"hasTag",pkg:"internal/reflectlite",typ:$funcType([],[$Bool],false)},{prop:"readVarint",name:"readVarint",pkg:"internal/reflectlite",typ:$funcType([$Int],[$Int,$Int],false)},{prop:"name",name:"name",pkg:"internal/reflectlite",typ:$funcType([],[$String],false)},{prop:"tag",name:"tag",pkg:"internal/reflectlite",typ:$funcType([],[$String],false)},{prop:"pkgPath",name:"pkgPath",pkg:"internal/reflectlite",typ:$funcType([],[$String],false)},{prop:"isExported",name:"isExported",pkg:"internal/reflectlite",typ:$funcType([],[$Bool],false)}];EN.methods=[{prop:"skipUntilValidKey",name:"skipUntilValidKey",pkg:"internal/reflectlite",typ:$funcType([],[],false)}];D.init("internal/reflectlite",[{prop:"typ",name:"typ",embedded:false,exported:false,typ:DT,tag:""},{prop:"ptr",name:"ptr",embedded:false,exported:false,typ:$UnsafePointer,tag:""},{prop:"flag",name:"flag",embedded:true,exported:false,typ:E,tag:""}]);H.init("",[{prop:"Method",name:"Method",embedded:false,exported:true,typ:$String,tag:""},{prop:"Kind",name:"Kind",embedded:false,exported:true,typ:O,tag:""}]);N.init([{prop:"AssignableTo",name:"AssignableTo",pkg:"",typ:$funcType([N],[$Bool],false)},{prop:"Comparable",name:"Comparable",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Elem",name:"Elem",pkg:"",typ:$funcType([],[N],false)},{prop:"Implements",name:"Implements",pkg:"",typ:$funcType([N],[$Bool],false)},{prop:"Kind",name:"Kind",pkg:"",typ:$funcType([],[O],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"PkgPath",name:"PkgPath",pkg:"",typ:$funcType([],[$String],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"common",name:"common",pkg:"internal/reflectlite",typ:$funcType([],[DT],false)},{prop:"uncommon",name:"uncommon",pkg:"internal/reflectlite",typ:$funcType([],[EB],false)}]);Q.init("internal/reflectlite",[{prop:"size",name:"size",embedded:false,exported:false,typ:$Uintptr,tag:""},{prop:"ptrdata",name:"ptrdata",embedded:false,exported:false,typ:$Uintptr,tag:""},{prop:"hash",name:"hash",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"tflag",name:"tflag",embedded:false,exported:false,typ:P,tag:""},{prop:"align",name:"align",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"fieldAlign",name:"fieldAlign",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"kind",name:"kind",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"equal",name:"equal",embedded:false,exported:false,typ:EU,tag:""},{prop:"gcdata",name:"gcdata",embedded:false,exported:false,typ:EF,tag:""},{prop:"str",name:"str",embedded:false,exported:false,typ:AF,tag:""},{prop:"ptrToThis",name:"ptrToThis",embedded:false,exported:false,typ:AG,tag:""}]);R.init("internal/reflectlite",[{prop:"name",name:"name",embedded:false,exported:false,typ:AF,tag:""},{prop:"mtyp",name:"mtyp",embedded:false,exported:false,typ:AG,tag:""},{prop:"ifn",name:"ifn",embedded:false,exported:false,typ:AH,tag:""},{prop:"tfn",name:"tfn",embedded:false,exported:false,typ:AH,tag:""}]);T.init("internal/reflectlite",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:Q,tag:""},{prop:"elem",name:"elem",embedded:false,exported:false,typ:DT,tag:""},{prop:"slice",name:"slice",embedded:false,exported:false,typ:DT,tag:""},{prop:"len",name:"len",embedded:false,exported:false,typ:$Uintptr,tag:""}]);U.init("internal/reflectlite",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:Q,tag:""},{prop:"elem",name:"elem",embedded:false,exported:false,typ:DT,tag:""},{prop:"dir",name:"dir",embedded:false,exported:false,typ:$Uintptr,tag:""}]);V.init("internal/reflectlite",[{prop:"name",name:"name",embedded:false,exported:false,typ:AF,tag:""},{prop:"typ",name:"typ",embedded:false,exported:false,typ:AG,tag:""}]);W.init("internal/reflectlite",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:Q,tag:""},{prop:"pkgPath",name:"pkgPath",embedded:false,exported:false,typ:BN,tag:""},{prop:"methods",name:"methods",embedded:false,exported:false,typ:EJ,tag:""}]);X.init("internal/reflectlite",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:Q,tag:""},{prop:"key",name:"key",embedded:false,exported:false,typ:DT,tag:""},{prop:"elem",name:"elem",embedded:false,exported:false,typ:DT,tag:""},{prop:"bucket",name:"bucket",embedded:false,exported:false,typ:DT,tag:""},{prop:"hasher",name:"hasher",embedded:false,exported:false,typ:EW,tag:""},{prop:"keysize",name:"keysize",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"valuesize",name:"valuesize",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"bucketsize",name:"bucketsize",embedded:false,exported:false,typ:$Uint16,tag:""},{prop:"flags",name:"flags",embedded:false,exported:false,typ:$Uint32,tag:""}]);Y.init("internal/reflectlite",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:Q,tag:""},{prop:"elem",name:"elem",embedded:false,exported:false,typ:DT,tag:""}]);Z.init("internal/reflectlite",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:Q,tag:""},{prop:"elem",name:"elem",embedded:false,exported:false,typ:DT,tag:""}]);AA.init("internal/reflectlite",[{prop:"name",name:"name",embedded:false,exported:false,typ:BN,tag:""},{prop:"typ",name:"typ",embedded:false,exported:false,typ:DT,tag:""},{prop:"offsetEmbed",name:"offsetEmbed",embedded:false,exported:false,typ:$Uintptr,tag:""}]);AB.init("internal/reflectlite",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:Q,tag:""},{prop:"pkgPath",name:"pkgPath",embedded:false,exported:false,typ:BN,tag:""},{prop:"fields",name:"fields",embedded:false,exported:false,typ:EK,tag:""}]);AS.init("internal/reflectlite",[{prop:"s",name:"s",embedded:false,exported:false,typ:$String,tag:""}]);AU.init("",[{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"PkgPath",name:"PkgPath",embedded:false,exported:true,typ:$String,tag:""},{prop:"Type",name:"Type",embedded:false,exported:true,typ:N,tag:""},{prop:"Func",name:"Func",embedded:false,exported:true,typ:D,tag:""},{prop:"Index",name:"Index",embedded:false,exported:true,typ:$Int,tag:""}]);BK.init("internal/reflectlite",[{prop:"pkgPath",name:"pkgPath",embedded:false,exported:false,typ:AF,tag:""},{prop:"mcount",name:"mcount",embedded:false,exported:false,typ:$Uint16,tag:""},{prop:"xcount",name:"xcount",embedded:false,exported:false,typ:$Uint16,tag:""},{prop:"moff",name:"moff",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"_methods",name:"_methods",embedded:false,exported:false,typ:EC,tag:""}]);BM.init("internal/reflectlite",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:Q,tag:"reflect:\"func\""},{prop:"inCount",name:"inCount",embedded:false,exported:false,typ:$Uint16,tag:""},{prop:"outCount",name:"outCount",embedded:false,exported:false,typ:$Uint16,tag:""},{prop:"_in",name:"_in",embedded:false,exported:false,typ:DV,tag:""},{prop:"_out",name:"_out",embedded:false,exported:false,typ:DV,tag:""}]);BN.init("internal/reflectlite",[{prop:"bytes",name:"bytes",embedded:false,exported:false,typ:EF,tag:""}]);BO.init("internal/reflectlite",[{prop:"name",name:"name",embedded:false,exported:false,typ:$String,tag:""},{prop:"tag",name:"tag",embedded:false,exported:false,typ:$String,tag:""},{prop:"exported",name:"exported",embedded:false,exported:false,typ:$Bool,tag:""}]);CT.init("internal/reflectlite",[{prop:"t",name:"t",embedded:false,exported:false,typ:N,tag:""},{prop:"m",name:"m",embedded:false,exported:false,typ:DY,tag:""},{prop:"keys",name:"keys",embedded:false,exported:false,typ:DY,tag:""},{prop:"i",name:"i",embedded:false,exported:false,typ:$Int,tag:""},{prop:"last",name:"last",embedded:false,exported:false,typ:DY,tag:""}]);CV.init([{prop:"AssignableTo",name:"AssignableTo",pkg:"",typ:$funcType([N],[$Bool],false)},{prop:"Comparable",name:"Comparable",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Elem",name:"Elem",pkg:"",typ:$funcType([],[N],false)},{prop:"Implements",name:"Implements",pkg:"",typ:$funcType([N],[$Bool],false)},{prop:"Key",name:"Key",pkg:"",typ:$funcType([],[N],false)},{prop:"Kind",name:"Kind",pkg:"",typ:$funcType([],[O],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"PkgPath",name:"PkgPath",pkg:"",typ:$funcType([],[$String],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"common",name:"common",pkg:"internal/reflectlite",typ:$funcType([],[DT],false)},{prop:"uncommon",name:"uncommon",pkg:"internal/reflectlite",typ:$funcType([],[EB],false)}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}BC=DT.nil;BR=DU.nil;BT=DV.nil;AC=new DW(["invalid","bool","int","int8","int16","int32","int64","uint","uint8","uint16","uint32","uint64","uintptr","float32","float64","complex64","complex128","array","chan","func","interface","map","ptr","slice","string","struct","unsafe.Pointer"]);AQ=$assertType($internalize($call,$emptyInterface),DZ);$pkg.ErrSyntax=new AS.ptr("invalid syntax");BA=false;BD="_jsType";BE="_reflectType";BF="kindType";BG="_rtype";BL={};BP={};DG=BI($jsObjectPtr);DM=$assertType($internalize($select,$emptyInterface),DZ);$r=BB();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["errors"]=(function(){var $pkg={},$init,A,G,H,L,E,a,F;A=$packages["internal/reflectlite"];G=$pkg.errorString=$newType(0,$kindStruct,"errors.errorString",true,"errors",false,function(s_){this.$val=this;if(arguments.length===0){this.s="";return;}this.s=s_;});H=$ptrType($error);L=$ptrType(G);F=function(b){var b;return new G.ptr(b);};$pkg.New=F;G.ptr.prototype.Error=function(){var b;b=this;return b.s;};G.prototype.Error=function(){return this.$val.Error();};L.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];G.init("errors",[{prop:"s",name:"s",embedded:false,exported:false,typ:$String,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a=A.TypeOf((H.nil)).Elem();$s=2;case 2:if($c){$c=false;a=a.$blk();}if(a&&a.$blk!==undefined){break s;}E=a;}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["internal/cpu"]=(function(){var $pkg={},$init;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["internal/bytealg"]=(function(){var $pkg={},$init,A,C,D,F,G,N,R;A=$packages["internal/cpu"];C=function(b,c){var b,c,d;d=0;while(true){if(!(d<b.length)){break;}if(b.charCodeAt(d)===c){return d;}d=d+(1)>>0;}return-1;};$pkg.IndexByteString=C;D=function(b,c){var b,c;$panic(new $String("unimplemented"));};$pkg.Index=D;F=function(b){var b;$panic(new $String("unimplemented"));};$pkg.Cutover=F;G=function(b,c){var b,c,d,e,f,g;if(!((b.$length===c.$length))){return false;}d=b;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(!((g===((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f])))){return false;}e++;}return true;};$pkg.Equal=G;N=function(b){var b,c,d,e,f,g,h,i;c=0;d=0;while(true){if(!(d<b.$length)){break;}c=($imul(c,16777619)>>>0)+((((d<0||d>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d])>>>0))>>>0;d=d+(1)>>0;}e=1;f=16777619;g=e;h=f;i=b.$length;while(true){if(!(i>0)){break;}if(!(((i&1)===0))){g=$imul(g,(h))>>>0;}h=$imul(h,(h))>>>0;i=(i>>$min((1),31))>>0;}return[c,g];};$pkg.HashStrBytes=N;R=function(b,c){var b,c,d,e,f,g,h,i,j,k;d=N(c);e=d[0];f=d[1];g=c.$length;h=0;i=0;while(true){if(!(i<g)){break;}h=($imul(h,16777619)>>>0)+((((i<0||i>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+i])>>>0))>>>0;i=i+(1)>>0;}if((h===e)&&G($subslice(b,0,g),c)){return 0;}j=g;while(true){if(!(j<b.$length)){break;}h=$imul(h,(16777619))>>>0;h=h+(((((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j])>>>0)))>>>0;h=h-(($imul(f,(((k=j-g>>0,((k<0||k>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+k]))>>>0)))>>>0))>>>0;j=j+(1)>>0;if((h===e)&&G($subslice(b,(j-g>>0),j),c)){return j-g>>0;}}return-1;};$pkg.IndexRabinKarpBytes=R;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.MaxLen=0;}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["internal/race"]=(function(){var $pkg={},$init,A,B,C,D,E,H,I;A=function(a){var a;};$pkg.Acquire=A;B=function(a){var a;};$pkg.Release=B;C=function(a){var a;};$pkg.ReleaseMerge=C;D=function(){};$pkg.Disable=D;E=function(){};$pkg.Enable=E;H=function(a,b){var a,b;};$pkg.ReadRange=H;I=function(a,b){var a,b;};$pkg.WriteRange=I;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["sync/atomic"]=(function(){var $pkg={},$init,A,B,AJ,L,O,R,W,Y,Z,AC,AE,AI;A=$packages["github.com/gopherjs/gopherjs/js"];B=$pkg.Value=$newType(0,$kindStruct,"atomic.Value",true,"sync/atomic",true,function(v_){this.$val=this;if(arguments.length===0){this.v=$ifaceNil;return;}this.v=v_;});AJ=$ptrType(B);L=function(ad,ae,af){var ad,ae,af;if(ad.$get()===ae){ad.$set(af);return true;}return false;};$pkg.CompareAndSwapInt32=L;O=function(ad,ae,af){var ad,ae,af,ag;if((ag=ad.$get(),(ag.$high===ae.$high&&ag.$low===ae.$low))){ad.$set(af);return true;}return false;};$pkg.CompareAndSwapUint64=O;R=function(ad,ae){var ad,ae,af;af=ad.$get()+ae>>0;ad.$set(af);return af;};$pkg.AddInt32=R;W=function(ad){var ad;return ad.$get();};$pkg.LoadInt32=W;Y=function(ad){var ad;return ad.$get();};$pkg.LoadUint32=Y;Z=function(ad){var ad;return ad.$get();};$pkg.LoadUint64=Z;AC=function(ad,ae){var ad,ae;ad.$set(ae);};$pkg.StoreInt32=AC;AE=function(ad,ae){var ad,ae;ad.$set(ae);};$pkg.StoreUint32=AE;B.ptr.prototype.Load=function(){var ad,ae;ad=$ifaceNil;ae=this;ad=ae.v;return ad;};B.prototype.Load=function(){return this.$val.Load();};B.ptr.prototype.Store=function(ad){var ad,ae;ae=this;ae.checkNew("store",ad);ae.v=ad;};B.prototype.Store=function(ad){return this.$val.Store(ad);};B.ptr.prototype.Swap=function(ad){var ad,ae,af,ag,ah;ae=$ifaceNil;af=this;af.checkNew("swap",ad);ag=af.v;ah=ad;ae=ag;af.v=ah;ae=ae;return ae;};B.prototype.Swap=function(ad){return this.$val.Swap(ad);};B.ptr.prototype.CompareAndSwap=function(ad,ae){var ad,ae,af,ag;af=false;ag=this;ag.checkNew("compare and swap",ae);if(!($interfaceIsEqual(ag.v,$ifaceNil)&&$interfaceIsEqual(ad,$ifaceNil))&&!AI(ad,ae)){$panic(new $String("sync/atomic: compare and swap of inconsistently typed values into Value"));}if(!($interfaceIsEqual(ag.v,ad))){af=false;return af;}ag.v=ae;af=true;return af;};B.prototype.CompareAndSwap=function(ad,ae){return this.$val.CompareAndSwap(ad,ae);};B.ptr.prototype.checkNew=function(ad,ae){var ad,ae,af;af=this;if($interfaceIsEqual(ae,$ifaceNil)){$panic(new $String("sync/atomic: "+ad+" of nil value into Value"));}if(!($interfaceIsEqual(af.v,$ifaceNil))&&!AI(ae,af.v)){$panic(new $String("sync/atomic: "+ad+" of inconsistently typed value into Value"));}};B.prototype.checkNew=function(ad,ae){return this.$val.checkNew(ad,ae);};AI=function(ad,ae){var ad,ae;return ad.constructor===ae.constructor;};AJ.methods=[{prop:"Load",name:"Load",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"Store",name:"Store",pkg:"",typ:$funcType([$emptyInterface],[],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$emptyInterface],[$emptyInterface],false)},{prop:"CompareAndSwap",name:"CompareAndSwap",pkg:"",typ:$funcType([$emptyInterface,$emptyInterface],[$Bool],false)},{prop:"checkNew",name:"checkNew",pkg:"sync/atomic",typ:$funcType([$String,$emptyInterface],[],false)}];B.init("sync/atomic",[{prop:"v",name:"v",embedded:false,exported:false,typ:$emptyInterface,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["sync"]=(function(){var $pkg={},$init,C,A,B,D,E,F,T,U,V,AL,AT,AV,AW,AX,BG,BH,BM,BN,BO,BU,BV,BW,Y,AC,AD,K,L,AF,AG,AH,AI,AJ,AK;C=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["internal/race"];B=$packages["sync/atomic"];D=$pkg.RWMutex=$newType(0,$kindStruct,"sync.RWMutex",true,"sync",true,function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;if(arguments.length===0){this.w=new U.ptr(0,0);this.writerSem=0;this.readerSem=0;this.readerCount=0;this.readerWait=0;return;}this.w=w_;this.writerSem=writerSem_;this.readerSem=readerSem_;this.readerCount=readerCount_;this.readerWait=readerWait_;});E=$pkg.rlocker=$newType(0,$kindStruct,"sync.rlocker",true,"sync",false,function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;if(arguments.length===0){this.w=new U.ptr(0,0);this.writerSem=0;this.readerSem=0;this.readerCount=0;this.readerWait=0;return;}this.w=w_;this.writerSem=writerSem_;this.readerSem=readerSem_;this.readerCount=readerCount_;this.readerWait=readerWait_;});F=$pkg.notifyList=$newType(0,$kindStruct,"sync.notifyList",true,"sync",false,function(wait_,notify_,lock_,head_,tail_){this.$val=this;if(arguments.length===0){this.wait=0;this.notify=0;this.lock=0;this.head=0;this.tail=0;return;}this.wait=wait_;this.notify=notify_;this.lock=lock_;this.head=head_;this.tail=tail_;});T=$pkg.Once=$newType(0,$kindStruct,"sync.Once",true,"sync",true,function(done_,m_){this.$val=this;if(arguments.length===0){this.done=0;this.m=new U.ptr(0,0);return;}this.done=done_;this.m=m_;});U=$pkg.Mutex=$newType(0,$kindStruct,"sync.Mutex",true,"sync",true,function(state_,sema_){this.$val=this;if(arguments.length===0){this.state=0;this.sema=0;return;}this.state=state_;this.sema=sema_;});V=$pkg.Locker=$newType(8,$kindInterface,"sync.Locker",true,"sync",true,null);AL=$pkg.Pool=$newType(0,$kindStruct,"sync.Pool",true,"sync",true,function(store_,New_){this.$val=this;if(arguments.length===0){this.store=BU.nil;this.New=$throwNilPointerError;return;}this.store=store_;this.New=New_;});AT=$ptrType($Uint32);AV=$ptrType($Int32);AW=$ptrType(E);AX=$ptrType(D);BG=$chanType($Bool,false,false);BH=$sliceType(BG);BM=$funcType([],[],false);BN=$ptrType(T);BO=$ptrType(U);BU=$sliceType($emptyInterface);BV=$ptrType(AL);BW=$funcType([],[$emptyInterface],false);D.ptr.prototype.RLock=function(){var j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;if(false){}if(B.AddInt32((j.$ptr_readerCount||(j.$ptr_readerCount=new AV(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},j))),1)<0){$s=1;continue;}$s=2;continue;case 1:$r=AF((j.$ptr_readerSem||(j.$ptr_readerSem=new AT(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},j))),false,0);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(false){}$s=-1;return;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.RLock};}$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.RLock=function(){return this.$val.RLock();};D.ptr.prototype.RUnlock=function(){var j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;if(false){}k=B.AddInt32((j.$ptr_readerCount||(j.$ptr_readerCount=new AV(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},j))),-1);if(k<0){$s=1;continue;}$s=2;continue;case 1:$r=j.rUnlockSlow(k);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(false){}$s=-1;return;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.RUnlock};}$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.RUnlock=function(){return this.$val.RUnlock();};D.ptr.prototype.rUnlockSlow=function(j){var j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;if(((j+1>>0)===0)||((j+1>>0)===-1073741824)){A.Enable();AK("sync: RUnlock of unlocked RWMutex");}if(B.AddInt32((k.$ptr_readerWait||(k.$ptr_readerWait=new AV(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},k))),-1)===0){$s=1;continue;}$s=2;continue;case 1:$r=AG((k.$ptr_writerSem||(k.$ptr_writerSem=new AT(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},k))),false,1);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.rUnlockSlow};}$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.rUnlockSlow=function(j){return this.$val.rUnlockSlow(j);};D.ptr.prototype.Lock=function(){var j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;if(false){}$r=j.w.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}k=B.AddInt32((j.$ptr_readerCount||(j.$ptr_readerCount=new AV(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},j))),-1073741824)+1073741824>>0;if(!((k===0))&&!((B.AddInt32((j.$ptr_readerWait||(j.$ptr_readerWait=new AV(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},j))),k)===0))){$s=2;continue;}$s=3;continue;case 2:$r=AF((j.$ptr_writerSem||(j.$ptr_writerSem=new AT(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},j))),false,0);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:if(false){}$s=-1;return;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Lock};}$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Lock=function(){return this.$val.Lock();};D.ptr.prototype.Unlock=function(){var j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;if(false){}k=B.AddInt32((j.$ptr_readerCount||(j.$ptr_readerCount=new AV(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},j))),1073741824);if(k>=1073741824){A.Enable();AK("sync: Unlock of unlocked RWMutex");}l=0;case 1:if(!(l<((k>>0)))){$s=2;continue;}$r=AG((j.$ptr_readerSem||(j.$ptr_readerSem=new AT(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},j))),false,0);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=l+(1)>>0;$s=1;continue;case 2:$r=j.w.Unlock();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(false){}$s=-1;return;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Unlock};}$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Unlock=function(){return this.$val.Unlock();};D.ptr.prototype.RLocker=function(){var j;j=this;return($pointerOfStructConversion(j,AW));};D.prototype.RLocker=function(){return this.$val.RLocker();};E.ptr.prototype.Lock=function(){var j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;$r=($pointerOfStructConversion(j,AX)).RLock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Lock};}$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Lock=function(){return this.$val.Lock();};E.ptr.prototype.Unlock=function(){var j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;$r=($pointerOfStructConversion(j,AX)).RUnlock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Unlock};}$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Unlock=function(){return this.$val.Unlock();};K=function(){var j;j=new F.ptr(0,0,0,0,0);AH(20);};L=function(){$throwRuntimeError("native function not implemented: sync.runtime_doSpin");};T.ptr.prototype.Do=function(j){var j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;if(B.LoadUint32((k.$ptr_done||(k.$ptr_done=new AT(function(){return this.$target.done;},function($v){this.$target.done=$v;},k))))===0){$s=1;continue;}$s=2;continue;case 1:$r=k.doSlow(j);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.Do};}$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.Do=function(j){return this.$val.Do(j);};T.ptr.prototype.doSlow=function(j){var j,k,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;k=$f.k;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);k=this;$r=k.m.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(k.m,"Unlock"),[]]);if(k.done===0){$s=2;continue;}$s=3;continue;case 2:$deferred.push([B.StoreUint32,[(k.$ptr_done||(k.$ptr_done=new AT(function(){return this.$target.done;},function($v){this.$target.done=$v;},k))),1]]);$r=j();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.doSlow};}$f.j=j;$f.k=k;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.doSlow=function(j){return this.$val.doSlow(j);};U.ptr.prototype.Lock=function(){var j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;if(B.CompareAndSwapInt32((j.$ptr_state||(j.$ptr_state=new AV(function(){return this.$target.state;},function($v){this.$target.state=$v;},j))),0,1)){if(false){}$s=-1;return;}$r=j.lockSlow();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Lock};}$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Lock=function(){return this.$val.Lock();};U.ptr.prototype.lockSlow=function(){var j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;k=new $Int64(0,0);l=false;m=false;n=0;o=j.state;case 1:if(((o&5)===1)&&AI(n)){$s=3;continue;}$s=4;continue;case 3:if(!m&&((o&2)===0)&&!(((o>>3>>0)===0))&&B.CompareAndSwapInt32((j.$ptr_state||(j.$ptr_state=new AV(function(){return this.$target.state;},function($v){this.$target.state=$v;},j))),o,o|2)){m=true;}$r=L();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}n=n+(1)>>0;o=j.state;$s=1;continue;case 4:p=o;if((o&4)===0){p=p|(1);}if(!(((o&5)===0))){p=p+(8)>>0;}if(l&&!(((o&1)===0))){p=p|(4);}if(m){if((p&2)===0){AK("sync: inconsistent mutex state");}p=(p&~(2))>>0;}if(B.CompareAndSwapInt32((j.$ptr_state||(j.$ptr_state=new AV(function(){return this.$target.state;},function($v){this.$target.state=$v;},j))),o,p)){$s=6;continue;}$s=7;continue;case 6:if((o&5)===0){$s=2;continue;}q=!((k.$high===0&&k.$low===0));if((k.$high===0&&k.$low===0)){k=AJ();}$r=AF((j.$ptr_sema||(j.$ptr_sema=new AT(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},j))),q,1);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=l||(r=(s=AJ(),new $Int64(s.$high-k.$high,s.$low-k.$low)),(r.$high>0||(r.$high===0&&r.$low>1000000)));o=j.state;if(!(((o&4)===0))){if(!(((o&3)===0))||((o>>3>>0)===0)){AK("sync: inconsistent mutex state");}t=-7;if(!l||((o>>3>>0)===1)){t=t-(4)>>0;}B.AddInt32((j.$ptr_state||(j.$ptr_state=new AV(function(){return this.$target.state;},function($v){this.$target.state=$v;},j))),t);$s=2;continue;}m=true;n=0;$s=8;continue;case 7:o=j.state;case 8:$s=1;continue;case 2:if(false){}$s=-1;return;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.lockSlow};}$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.lockSlow=function(){return this.$val.lockSlow();};U.ptr.prototype.Unlock=function(){var j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;if(false){}k=B.AddInt32((j.$ptr_state||(j.$ptr_state=new AV(function(){return this.$target.state;},function($v){this.$target.state=$v;},j))),-1);if(!((k===0))){$s=1;continue;}$s=2;continue;case 1:$r=j.unlockSlow(k);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Unlock};}$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Unlock=function(){return this.$val.Unlock();};U.ptr.prototype.unlockSlow=function(j){var j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;if((((j+1>>0))&1)===0){AK("sync: unlock of unlocked mutex");}if((j&4)===0){$s=1;continue;}$s=2;continue;case 1:l=j;case 4:if(((l>>3>>0)===0)||!(((l&7)===0))){$s=-1;return;}j=((l-8>>0))|2;if(B.CompareAndSwapInt32((k.$ptr_state||(k.$ptr_state=new AV(function(){return this.$target.state;},function($v){this.$target.state=$v;},k))),l,j)){$s=6;continue;}$s=7;continue;case 6:$r=AG((k.$ptr_sema||(k.$ptr_sema=new AT(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},k))),false,1);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 7:l=k.state;$s=4;continue;case 5:$s=3;continue;case 2:$r=AG((k.$ptr_sema||(k.$ptr_sema=new AT(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},k))),true,1);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:$s=-1;return;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.unlockSlow};}$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.unlockSlow=function(j){return this.$val.unlockSlow(j);};AF=function(j,k,l){var j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(((j.$get()-(m=AD[AT.keyFor(j)],m!==undefined?m.v:0)>>>0))===0){$s=1;continue;}$s=2;continue;case 1:n=new $Chan($Bool,0);if(k){o=j;(AC||$throwRuntimeError("assignment to entry in nil map"))[AT.keyFor(o)]={k:o,v:$appendSlice(new BH([n]),(p=AC[AT.keyFor(j)],p!==undefined?p.v:BH.nil))};}else{q=j;(AC||$throwRuntimeError("assignment to entry in nil map"))[AT.keyFor(q)]={k:q,v:$append((r=AC[AT.keyFor(j)],r!==undefined?r.v:BH.nil),n)};}s=$recv(n);$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}s[0];t=j;(AD||$throwRuntimeError("assignment to entry in nil map"))[AT.keyFor(t)]={k:t,v:(u=AD[AT.keyFor(j)],u!==undefined?u.v:0)-(1)>>>0};if((v=AD[AT.keyFor(j)],v!==undefined?v.v:0)===0){delete AD[AT.keyFor(j)];}case 2:j.$set(j.$get()-(1)>>>0);$s=-1;return;}return;}if($f===undefined){$f={$blk:AF};}$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};AG=function(j,k,l){var j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j.$set(j.$get()+(1)>>>0);n=(m=AC[AT.keyFor(j)],m!==undefined?m.v:BH.nil);if(n.$length===0){$s=-1;return;}o=(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0]);n=$subslice(n,1);p=j;(AC||$throwRuntimeError("assignment to entry in nil map"))[AT.keyFor(p)]={k:p,v:n};if(n.$length===0){delete AC[AT.keyFor(j)];}q=j;(AD||$throwRuntimeError("assignment to entry in nil map"))[AT.keyFor(q)]={k:q,v:(r=AD[AT.keyFor(j)],r!==undefined?r.v:0)+(1)>>>0};$r=$send(o,true);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AG};}$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};AH=function(j){var j;};AI=function(j){var j;return false;};AJ=function(){return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};AK=function(j){var j;$throwRuntimeError($externalize(j,$String));};AL.ptr.prototype.Get=function(){var j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;if(j.store.$length===0){$s=1;continue;}$s=2;continue;case 1:if(!(j.New===$throwNilPointerError)){$s=3;continue;}$s=4;continue;case 3:k=j.New();$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=6;case 6:return l;case 4:$s=-1;return $ifaceNil;case 2:o=(m=j.store,n=j.store.$length-1>>0,((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]));j.store=$subslice(j.store,0,(j.store.$length-1>>0));$s=-1;return o;}return;}if($f===undefined){$f={$blk:AL.ptr.prototype.Get};}$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};AL.prototype.Get=function(){return this.$val.Get();};AL.ptr.prototype.Put=function(j){var j,k;k=this;if($interfaceIsEqual(j,$ifaceNil)){return;}k.store=$append(k.store,j);};AL.prototype.Put=function(j){return this.$val.Put(j);};AX.methods=[{prop:"RLock",name:"RLock",pkg:"",typ:$funcType([],[],false)},{prop:"RUnlock",name:"RUnlock",pkg:"",typ:$funcType([],[],false)},{prop:"rUnlockSlow",name:"rUnlockSlow",pkg:"sync",typ:$funcType([$Int32],[],false)},{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)},{prop:"RLocker",name:"RLocker",pkg:"",typ:$funcType([],[V],false)}];AW.methods=[{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)}];BN.methods=[{prop:"Do",name:"Do",pkg:"",typ:$funcType([BM],[],false)},{prop:"doSlow",name:"doSlow",pkg:"sync",typ:$funcType([BM],[],false)}];BO.methods=[{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"lockSlow",name:"lockSlow",pkg:"sync",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)},{prop:"unlockSlow",name:"unlockSlow",pkg:"sync",typ:$funcType([$Int32],[],false)}];BV.methods=[{prop:"Get",name:"Get",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"Put",name:"Put",pkg:"",typ:$funcType([$emptyInterface],[],false)}];D.init("sync",[{prop:"w",name:"w",embedded:false,exported:false,typ:U,tag:""},{prop:"writerSem",name:"writerSem",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"readerSem",name:"readerSem",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"readerCount",name:"readerCount",embedded:false,exported:false,typ:$Int32,tag:""},{prop:"readerWait",name:"readerWait",embedded:false,exported:false,typ:$Int32,tag:""}]);E.init("sync",[{prop:"w",name:"w",embedded:false,exported:false,typ:U,tag:""},{prop:"writerSem",name:"writerSem",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"readerSem",name:"readerSem",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"readerCount",name:"readerCount",embedded:false,exported:false,typ:$Int32,tag:""},{prop:"readerWait",name:"readerWait",embedded:false,exported:false,typ:$Int32,tag:""}]);F.init("sync",[{prop:"wait",name:"wait",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"notify",name:"notify",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"lock",name:"lock",embedded:false,exported:false,typ:$Uintptr,tag:""},{prop:"head",name:"head",embedded:false,exported:false,typ:$UnsafePointer,tag:""},{prop:"tail",name:"tail",embedded:false,exported:false,typ:$UnsafePointer,tag:""}]);T.init("sync",[{prop:"done",name:"done",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"m",name:"m",embedded:false,exported:false,typ:U,tag:""}]);U.init("sync",[{prop:"state",name:"state",embedded:false,exported:false,typ:$Int32,tag:""},{prop:"sema",name:"sema",embedded:false,exported:false,typ:$Uint32,tag:""}]);V.init([{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)}]);AL.init("sync",[{prop:"store",name:"store",embedded:false,exported:false,typ:BU,tag:""},{prop:"New",name:"New",embedded:false,exported:true,typ:BW,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}Y=(new Uint8Array(8));AC={};AD={};K();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["io"]=(function(){var $pkg={},$init,A,B,N,O,T,Z,AA,AD,AE,AG,AH,AI,AR,BE,BF,BG,BL,M,AU,AV,AZ,AJ,AK,AL,AN,AP;A=$packages["errors"];B=$packages["sync"];N=$pkg.Reader=$newType(8,$kindInterface,"io.Reader",true,"io",true,null);O=$pkg.Writer=$newType(8,$kindInterface,"io.Writer",true,"io",true,null);T=$pkg.WriteCloser=$newType(8,$kindInterface,"io.WriteCloser",true,"io",true,null);Z=$pkg.ReaderFrom=$newType(8,$kindInterface,"io.ReaderFrom",true,"io",true,null);AA=$pkg.WriterTo=$newType(8,$kindInterface,"io.WriterTo",true,"io",true,null);AD=$pkg.ByteReader=$newType(8,$kindInterface,"io.ByteReader",true,"io",true,null);AE=$pkg.ByteScanner=$newType(8,$kindInterface,"io.ByteScanner",true,"io",true,null);AG=$pkg.RuneReader=$newType(8,$kindInterface,"io.RuneReader",true,"io",true,null);AH=$pkg.RuneScanner=$newType(8,$kindInterface,"io.RuneScanner",true,"io",true,null);AI=$pkg.StringWriter=$newType(8,$kindInterface,"io.StringWriter",true,"io",true,null);AR=$pkg.LimitedReader=$newType(0,$kindStruct,"io.LimitedReader",true,"io",true,function(R_,N_){this.$val=this;if(arguments.length===0){this.R=$ifaceNil;this.N=new $Int64(0,0);return;}this.R=R_;this.N=N_;});BE=$sliceType($emptyInterface);BF=$sliceType($Uint8);BG=$ptrType(BF);BL=$ptrType(AR);AJ=function(c,d){var c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=0;f=$ifaceNil;g=$assertType(c,AI,true);h=g[0];i=g[1];if(i){$s=1;continue;}$s=2;continue;case 1:k=h.WriteString(d);$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;e=j[0];f=j[1];l=[e,f];$s=4;case 4:return l;case 2:n=c.Write((new BF($stringToBytes(d))));$s=5;case 5:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;e=m[0];f=m[1];o=[e,f];$s=6;case 6:return o;}return;}if($f===undefined){$f={$blk:AJ};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};$pkg.WriteString=AJ;AK=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=0;g=$ifaceNil;if(d.$length<e){h=0;i=$pkg.ErrShortBuffer;f=h;g=i;$s=-1;return[f,g];}case 1:if(!(f<e&&$interfaceIsEqual(g,$ifaceNil))){$s=2;continue;}j=0;l=c.Read($subslice(d,f));$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;j=k[0];g=k[1];f=f+(j)>>0;$s=1;continue;case 2:if(f>=e){g=$ifaceNil;}else if(f>0&&$interfaceIsEqual(g,$pkg.EOF)){g=$pkg.ErrUnexpectedEOF;}$s=-1;return[f,g];}return;}if($f===undefined){$f={$blk:AK};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ReadAtLeast=AK;AL=function(c,d){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=0;f=$ifaceNil;h=AK(c,d,d.$length);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;e=g[0];f=g[1];i=[e,f];$s=2;case 2:return i;}return;}if($f===undefined){$f={$blk:AL};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ReadFull=AL;AN=function(c,d){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=new $Int64(0,0);f=$ifaceNil;h=AP(c,d,BF.nil);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;e=g[0];f=g[1];i=[e,f];$s=2;case 2:return i;}return;}if($f===undefined){$f={$blk:AN};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Copy=AN;AP=function(c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=new $Int64(0,0);g=$ifaceNil;h=$assertType(d,AA,true);i=h[0];j=h[1];if(j){$s=1;continue;}$s=2;continue;case 1:l=i.WriteTo(c);$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;f=k[0];g=k[1];m=[f,g];$s=4;case 4:return m;case 2:n=$assertType(c,Z,true);o=n[0];p=n[1];if(p){$s=5;continue;}$s=6;continue;case 5:r=o.ReadFrom(d);$s=7;case 7:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;f=q[0];g=q[1];s=[f,g];$s=8;case 8:return s;case 6:if(e===BF.nil){t=32768;u=$assertType(d,BL,true);v=u[0];w=u[1];if(w&&(x=(new $Int64(0,t)),y=v.N,(x.$high>y.$high||(x.$high===y.$high&&x.$low>y.$low)))){if((z=v.N,(z.$high<0||(z.$high===0&&z.$low<1)))){t=1;}else{t=(((aa=v.N,aa.$low+((aa.$high>>31)*4294967296))>>0));}}e=$makeSlice(BF,t);}case 9:ac=d.Read(e);$s=11;case 11:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=ab[0];ae=ab[1];if(ad>0){$s=12;continue;}$s=13;continue;case 12:ag=c.Write($subslice(e,0,ad));$s=14;case 14:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;ah=af[0];ai=af[1];if(ah<0||ad<ah){ah=0;if($interfaceIsEqual(ai,$ifaceNil)){ai=M;}}f=(aj=(new $Int64(0,ah)),new $Int64(f.$high+aj.$high,f.$low+aj.$low));if(!($interfaceIsEqual(ai,$ifaceNil))){g=ai;$s=10;continue;}if(!((ad===ah))){g=$pkg.ErrShortWrite;$s=10;continue;}case 13:if(!($interfaceIsEqual(ae,$ifaceNil))){if(!($interfaceIsEqual(ae,$pkg.EOF))){g=ae;}$s=10;continue;}$s=9;continue;case 10:ak=f;al=g;f=ak;g=al;$s=-1;return[f,g];}return;}if($f===undefined){$f={$blk:AP};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AR.ptr.prototype.Read=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=0;e=$ifaceNil;f=this;if((g=f.N,(g.$high<0||(g.$high===0&&g.$low<=0)))){h=0;i=$pkg.EOF;d=h;e=i;$s=-1;return[d,e];}if((j=(new $Int64(0,c.$length)),k=f.N,(j.$high>k.$high||(j.$high===k.$high&&j.$low>k.$low)))){c=$subslice(c,0,$flatten64(f.N));}m=f.R.Read(c);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;d=l[0];e=l[1];f.N=(n=f.N,o=(new $Int64(0,d)),new $Int64(n.$high-o.$high,n.$low-o.$low));$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.Read};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.Read=function(c){return this.$val.Read(c);};BL.methods=[{prop:"Read",name:"Read",pkg:"",typ:$funcType([BF],[$Int,$error],false)}];N.init([{prop:"Read",name:"Read",pkg:"",typ:$funcType([BF],[$Int,$error],false)}]);O.init([{prop:"Write",name:"Write",pkg:"",typ:$funcType([BF],[$Int,$error],false)}]);T.init([{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([BF],[$Int,$error],false)}]);Z.init([{prop:"ReadFrom",name:"ReadFrom",pkg:"",typ:$funcType([N],[$Int64,$error],false)}]);AA.init([{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([O],[$Int64,$error],false)}]);AD.init([{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)}]);AE.init([{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"UnreadByte",name:"UnreadByte",pkg:"",typ:$funcType([],[$error],false)}]);AG.init([{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)}]);AH.init([{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)}]);AI.init([{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[$Int,$error],false)}]);AR.init("",[{prop:"R",name:"R",embedded:false,exported:true,typ:N,tag:""},{prop:"N",name:"N",embedded:false,exported:true,typ:$Int64,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrClosedPipe=A.New("io: read/write on closed pipe");$pkg.ErrShortWrite=A.New("short write");M=A.New("invalid write result");$pkg.ErrShortBuffer=A.New("short buffer");$pkg.EOF=A.New("EOF");$pkg.ErrUnexpectedEOF=A.New("unexpected EOF");$pkg.ErrNoProgress=A.New("multiple Read calls return no data or error");AU=A.New("Seek: invalid whence");AV=A.New("Seek: invalid offset");AZ=new B.Pool.ptr(BE.nil,(function(){var c,d;c=$makeSlice(BF,8192);return(d||(d=new BG(function(){return c;},function($v){c=$convertSliceType($v,BF);})));}));}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["unicode"]=(function(){var $pkg={},$init,IF,IG,IH,II,IK,IW,JM,JN,JO,JP,JQ,JR,JS,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,CY,CZ,DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,DK,DL,DM,DN,DO,DP,DQ,DR,DS,DT,DU,DV,DW,DX,DY,DZ,EA,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EN,EO,EP,EQ,ER,ES,ET,EU,EV,EW,EX,EY,EZ,FA,FB,FC,FD,FE,FF,FG,FH,FI,FJ,FK,FL,FM,FN,FO,FP,FQ,FR,FS,FT,FU,FV,FW,FX,FY,FZ,GA,GB,GC,GD,GE,GF,GG,GH,GI,GJ,HR,HS,HT,HU,HV,HW,HX,HY,HZ,IA,IB,IC,ID,IE,IL,IM,IN,IO,IP,IS,IT,IU,IV,IX,IZ,JB,JD,JH,JJ,JK;IF=$pkg.RangeTable=$newType(0,$kindStruct,"unicode.RangeTable",true,"unicode",true,function(R16_,R32_,LatinOffset_){this.$val=this;if(arguments.length===0){this.R16=JM.nil;this.R32=JN.nil;this.LatinOffset=0;return;}this.R16=R16_;this.R32=R32_;this.LatinOffset=LatinOffset_;});IG=$pkg.Range16=$newType(0,$kindStruct,"unicode.Range16",true,"unicode",true,function(Lo_,Hi_,Stride_){this.$val=this;if(arguments.length===0){this.Lo=0;this.Hi=0;this.Stride=0;return;}this.Lo=Lo_;this.Hi=Hi_;this.Stride=Stride_;});IH=$pkg.Range32=$newType(0,$kindStruct,"unicode.Range32",true,"unicode",true,function(Lo_,Hi_,Stride_){this.$val=this;if(arguments.length===0){this.Lo=0;this.Hi=0;this.Stride=0;return;}this.Lo=Lo_;this.Hi=Hi_;this.Stride=Stride_;});II=$pkg.CaseRange=$newType(0,$kindStruct,"unicode.CaseRange",true,"unicode",true,function(Lo_,Hi_,Delta_){this.$val=this;if(arguments.length===0){this.Lo=0;this.Hi=0;this.Delta=JQ.zero();return;}this.Lo=Lo_;this.Hi=Hi_;this.Delta=Delta_;});IK=$pkg.d=$newType(12,$kindArray,"unicode.d",true,"unicode",false,null);IW=$pkg.foldPair=$newType(0,$kindStruct,"unicode.foldPair",true,"unicode",false,function(From_,To_){this.$val=this;if(arguments.length===0){this.From=0;this.To=0;return;}this.From=From_;this.To=To_;});JM=$sliceType(IG);JN=$sliceType(IH);JO=$sliceType(IW);JP=$sliceType(II);JQ=$arrayType($Int32,3);JR=$ptrType(IF);JS=$sliceType(JR);IL=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n;if(b.$length<=18||c<=255){d=b;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((f<0||f>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+f]);if(c<g.Lo){return false;}if(c<=g.Hi){return(g.Stride===1)||((h=((c-g.Lo<<16>>>16))%g.Stride,h===h?h:$throwRuntimeError("integer divide by zero"))===0);}e++;}return false;}i=0;j=b.$length;while(true){if(!(i<j)){break;}l=i+(k=((j-i>>0))/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))>>0;m=((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]);if(m.Lo<=c&&c<=m.Hi){return(m.Stride===1)||((n=((c-m.Lo<<16>>>16))%m.Stride,n===n?n:$throwRuntimeError("integer divide by zero"))===0);}if(c<m.Lo){j=l;}else{i=l+1>>0;}}return false;};IM=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n;if(b.$length<=18){d=b;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((f<0||f>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+f]);if(c<g.Lo){return false;}if(c<=g.Hi){return(g.Stride===1)||((h=((c-g.Lo>>>0))%g.Stride,h===h?h:$throwRuntimeError("integer divide by zero"))===0);}e++;}return false;}i=0;j=b.$length;while(true){if(!(i<j)){break;}l=i+(k=((j-i>>0))/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))>>0;m=$clone(((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]),IH);if(m.Lo<=c&&c<=m.Hi){return(m.Stride===1)||((n=((c-m.Lo>>>0))%m.Stride,n===n?n:$throwRuntimeError("integer divide by zero"))===0);}if(c<m.Lo){j=l;}else{i=l+1>>0;}}return false;};IN=function(b,c){var b,c,d,e,f;d=b.R16;if(d.$length>0&&((c>>>0))<=(((e=d.$length-1>>0,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e])).Hi>>>0))){return IL(d,((c<<16>>>16)));}f=b.R32;if(f.$length>0&&c>=(((0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]).Lo>>0))){return IM(f,((c>>>0)));}return false;};$pkg.Is=IN;IO=function(b,c){var b,c,d,e,f,g;d=b.R16;e=b.LatinOffset;if(d.$length>e&&((c>>>0))<=(((f=d.$length-1>>0,((f<0||f>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+f])).Hi>>>0))){return IL($subslice(d,e),((c<<16>>>16)));}g=b.R32;if(g.$length>0&&c>=(((0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]).Lo>>0))){return IM(g,((c>>>0)));}return false;};IP=function(b){var b,c;if(((b>>>0))<=255){return(((c=((b<<24>>>24)),((c<0||c>=HT.length)?($throwRuntimeError("index out of range"),undefined):HT[c]))&96)>>>0)===32;}return IO($pkg.Upper,b);};$pkg.IsUpper=IP;IS=function(b,c){var b,c,d;d=JJ(b,c,$pkg.CaseRanges);c=d[0];return c;};$pkg.To=IS;IT=function(b){var b;if(b<=127){if(97<=b&&b<=122){b=b-(32)>>0;}return b;}return IS(0,b);};$pkg.ToUpper=IT;IU=function(b){var b;if(b<=127){if(65<=b&&b<=90){b=b+(32)>>0;}return b;}return IS(1,b);};$pkg.ToLower=IU;IV=function(b){var b;if(b<=127){if(97<=b&&b<=122){b=b-(32)>>0;}return b;}return IS(2,b);};$pkg.ToTitle=IV;IX=function(b){var b,c,d,e,f,g;if(b<0||b>1114111){return b;}if(((b>>0))<128){return((((b<0||b>=HU.length)?($throwRuntimeError("index out of range"),undefined):HU[b])>>0));}c=0;d=HV.$length;while(true){if(!(c<d)){break;}f=c+(e=((d-c>>0))/2,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero"))>>0;if(((((f<0||f>=HV.$length)?($throwRuntimeError("index out of range"),undefined):HV.$array[HV.$offset+f]).From>>0))<b){c=f+1>>0;}else{d=f;}}if(c<HV.$length&&(((((c<0||c>=HV.$length)?($throwRuntimeError("index out of range"),undefined):HV.$array[HV.$offset+c]).From>>0))===b)){return((((c<0||c>=HV.$length)?($throwRuntimeError("index out of range"),undefined):HV.$array[HV.$offset+c]).To>>0));}g=IU(b);if(!((g===b))){return g;}return IT(b);};$pkg.SimpleFold=IX;IZ=function(b){var b,c;if(((b>>>0))<=255){return!(((((c=((b<<24>>>24)),((c<0||c>=HT.length)?($throwRuntimeError("index out of range"),undefined):HT[c]))&128)>>>0)===0));}return JB(b,$pkg.PrintRanges);};$pkg.IsPrint=IZ;JB=function(b,c){var b,c,d,e,f;d=c;e=0;while(true){if(!(e<d.$length)){break;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(IN(f,b)){return true;}e++;}return false;};$pkg.In=JB;JD=function(b){var b,c;if(((b>>>0))<=255){return!(((((c=((b<<24>>>24)),((c<0||c>=HT.length)?($throwRuntimeError("index out of range"),undefined):HT[c]))&96)>>>0)===0));}return IO($pkg.Letter,b);};$pkg.IsLetter=JD;JH=function(b){var b,c;if(((b>>>0))<=255){c=b;if((c===(9))||(c===(10))||(c===(11))||(c===(12))||(c===(13))||(c===(32))||(c===(133))||(c===(160))){return true;}return false;}return IO($pkg.White_Space,b);};$pkg.IsSpace=JH;JJ=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;e=0;f=false;if(b<0||3<=b){g=65533;h=false;e=g;f=h;return[e,f];}i=0;j=d.$length;while(true){if(!(i<j)){break;}l=i+(k=((j-i>>0))/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))>>0;m=((l<0||l>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+l]);if(((m.Lo>>0))<=c&&c<=((m.Hi>>0))){o=((n=m.Delta,((b<0||b>=n.length)?($throwRuntimeError("index out of range"),undefined):n[b])));if(o>1114111){p=((m.Lo>>0))+((((((c-((m.Lo>>0))>>0))&~1)>>0)|(((b&1)>>0))))>>0;q=true;e=p;f=q;return[e,f];}r=c+o>>0;s=true;e=r;f=s;return[e,f];}if(c<((m.Lo>>0))){j=l;}else{i=l+1>>0;}}t=c;u=false;e=t;f=u;return[e,f];};JK=function(b){var b;if(b<=255){return 48<=b&&b<=57;}return IO($pkg.Digit,b);};$pkg.IsDigit=JK;IF.init("",[{prop:"R16",name:"R16",embedded:false,exported:true,typ:JM,tag:""},{prop:"R32",name:"R32",embedded:false,exported:true,typ:JN,tag:""},{prop:"LatinOffset",name:"LatinOffset",embedded:false,exported:true,typ:$Int,tag:""}]);IG.init("",[{prop:"Lo",name:"Lo",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Hi",name:"Hi",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Stride",name:"Stride",embedded:false,exported:true,typ:$Uint16,tag:""}]);IH.init("",[{prop:"Lo",name:"Lo",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"Hi",name:"Hi",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"Stride",name:"Stride",embedded:false,exported:true,typ:$Uint32,tag:""}]);II.init("",[{prop:"Lo",name:"Lo",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"Hi",name:"Hi",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"Delta",name:"Delta",embedded:false,exported:true,typ:IK,tag:""}]);IK.init($Int32,3);IW.init("",[{prop:"From",name:"From",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"To",name:"To",embedded:false,exported:true,typ:$Uint16,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:A=new IF.ptr(new JM([new IG.ptr(0,31,1),new IG.ptr(127,159,1),new IG.ptr(173,1536,1363),new IG.ptr(1537,1541,1),new IG.ptr(1564,1757,193),new IG.ptr(1807,2274,467),new IG.ptr(6158,8203,2045),new IG.ptr(8204,8207,1),new IG.ptr(8234,8238,1),new IG.ptr(8288,8292,1),new IG.ptr(8294,8303,1),new IG.ptr(55296,63743,1),new IG.ptr(65279,65529,250),new IG.ptr(65530,65531,1)]),new JN([new IH.ptr(69821,69837,16),new IH.ptr(78896,78904,1),new IH.ptr(113824,113827,1),new IH.ptr(119155,119162,1),new IH.ptr(917505,917536,31),new IH.ptr(917537,917631,1),new IH.ptr(983040,1048573,1),new IH.ptr(1048576,1114109,1)]),2);B=new IF.ptr(new JM([new IG.ptr(0,31,1),new IG.ptr(127,159,1)]),JN.nil,2);C=new IF.ptr(new JM([new IG.ptr(173,1536,1363),new IG.ptr(1537,1541,1),new IG.ptr(1564,1757,193),new IG.ptr(1807,2274,467),new IG.ptr(6158,8203,2045),new IG.ptr(8204,8207,1),new IG.ptr(8234,8238,1),new IG.ptr(8288,8292,1),new IG.ptr(8294,8303,1),new IG.ptr(65279,65529,250),new IG.ptr(65530,65531,1)]),new JN([new IH.ptr(69821,69837,16),new IH.ptr(78896,78904,1),new IH.ptr(113824,113827,1),new IH.ptr(119155,119162,1),new IH.ptr(917505,917536,31),new IH.ptr(917537,917631,1)]),0);D=new IF.ptr(new JM([new IG.ptr(57344,63743,1)]),new JN([new IH.ptr(983040,1048573,1),new IH.ptr(1048576,1114109,1)]),0);E=new IF.ptr(new JM([new IG.ptr(55296,57343,1)]),JN.nil,0);F=new IF.ptr(new JM([new IG.ptr(65,90,1),new IG.ptr(97,122,1),new IG.ptr(170,181,11),new IG.ptr(186,192,6),new IG.ptr(193,214,1),new IG.ptr(216,246,1),new IG.ptr(248,705,1),new IG.ptr(710,721,1),new IG.ptr(736,740,1),new IG.ptr(748,750,2),new IG.ptr(880,884,1),new IG.ptr(886,887,1),new IG.ptr(890,893,1),new IG.ptr(895,902,7),new IG.ptr(904,906,1),new IG.ptr(908,910,2),new IG.ptr(911,929,1),new IG.ptr(931,1013,1),new IG.ptr(1015,1153,1),new IG.ptr(1162,1327,1),new IG.ptr(1329,1366,1),new IG.ptr(1369,1376,7),new IG.ptr(1377,1416,1),new IG.ptr(1488,1514,1),new IG.ptr(1519,1522,1),new IG.ptr(1568,1610,1),new IG.ptr(1646,1647,1),new IG.ptr(1649,1747,1),new IG.ptr(1749,1765,16),new IG.ptr(1766,1774,8),new IG.ptr(1775,1786,11),new IG.ptr(1787,1788,1),new IG.ptr(1791,1808,17),new IG.ptr(1810,1839,1),new IG.ptr(1869,1957,1),new IG.ptr(1969,1994,25),new IG.ptr(1995,2026,1),new IG.ptr(2036,2037,1),new IG.ptr(2042,2048,6),new IG.ptr(2049,2069,1),new IG.ptr(2074,2084,10),new IG.ptr(2088,2112,24),new IG.ptr(2113,2136,1),new IG.ptr(2144,2154,1),new IG.ptr(2208,2228,1),new IG.ptr(2230,2247,1),new IG.ptr(2308,2361,1),new IG.ptr(2365,2384,19),new IG.ptr(2392,2401,1),new IG.ptr(2417,2432,1),new IG.ptr(2437,2444,1),new IG.ptr(2447,2448,1),new IG.ptr(2451,2472,1),new IG.ptr(2474,2480,1),new IG.ptr(2482,2486,4),new IG.ptr(2487,2489,1),new IG.ptr(2493,2510,17),new IG.ptr(2524,2525,1),new IG.ptr(2527,2529,1),new IG.ptr(2544,2545,1),new IG.ptr(2556,2565,9),new IG.ptr(2566,2570,1),new IG.ptr(2575,2576,1),new IG.ptr(2579,2600,1),new IG.ptr(2602,2608,1),new IG.ptr(2610,2611,1),new IG.ptr(2613,2614,1),new IG.ptr(2616,2617,1),new IG.ptr(2649,2652,1),new IG.ptr(2654,2674,20),new IG.ptr(2675,2676,1),new IG.ptr(2693,2701,1),new IG.ptr(2703,2705,1),new IG.ptr(2707,2728,1),new IG.ptr(2730,2736,1),new IG.ptr(2738,2739,1),new IG.ptr(2741,2745,1),new IG.ptr(2749,2768,19),new IG.ptr(2784,2785,1),new IG.ptr(2809,2821,12),new IG.ptr(2822,2828,1),new IG.ptr(2831,2832,1),new IG.ptr(2835,2856,1),new IG.ptr(2858,2864,1),new IG.ptr(2866,2867,1),new IG.ptr(2869,2873,1),new IG.ptr(2877,2908,31),new IG.ptr(2909,2911,2),new IG.ptr(2912,2913,1),new IG.ptr(2929,2947,18),new IG.ptr(2949,2954,1),new IG.ptr(2958,2960,1),new IG.ptr(2962,2965,1),new IG.ptr(2969,2970,1),new IG.ptr(2972,2974,2),new IG.ptr(2975,2979,4),new IG.ptr(2980,2984,4),new IG.ptr(2985,2986,1),new IG.ptr(2990,3001,1),new IG.ptr(3024,3077,53),new IG.ptr(3078,3084,1),new IG.ptr(3086,3088,1),new IG.ptr(3090,3112,1),new IG.ptr(3114,3129,1),new IG.ptr(3133,3160,27),new IG.ptr(3161,3162,1),new IG.ptr(3168,3169,1),new IG.ptr(3200,3205,5),new IG.ptr(3206,3212,1),new IG.ptr(3214,3216,1),new IG.ptr(3218,3240,1),new IG.ptr(3242,3251,1),new IG.ptr(3253,3257,1),new IG.ptr(3261,3294,33),new IG.ptr(3296,3297,1),new IG.ptr(3313,3314,1),new IG.ptr(3332,3340,1),new IG.ptr(3342,3344,1),new IG.ptr(3346,3386,1),new IG.ptr(3389,3406,17),new IG.ptr(3412,3414,1),new IG.ptr(3423,3425,1),new IG.ptr(3450,3455,1),new IG.ptr(3461,3478,1),new IG.ptr(3482,3505,1),new IG.ptr(3507,3515,1),new IG.ptr(3517,3520,3),new IG.ptr(3521,3526,1),new IG.ptr(3585,3632,1),new IG.ptr(3634,3635,1),new IG.ptr(3648,3654,1),new IG.ptr(3713,3714,1),new IG.ptr(3716,3718,2),new IG.ptr(3719,3722,1),new IG.ptr(3724,3747,1),new IG.ptr(3749,3751,2),new IG.ptr(3752,3760,1),new IG.ptr(3762,3763,1),new IG.ptr(3773,3776,3),new IG.ptr(3777,3780,1),new IG.ptr(3782,3804,22),new IG.ptr(3805,3807,1),new IG.ptr(3840,3904,64),new IG.ptr(3905,3911,1),new IG.ptr(3913,3948,1),new IG.ptr(3976,3980,1),new IG.ptr(4096,4138,1),new IG.ptr(4159,4176,17),new IG.ptr(4177,4181,1),new IG.ptr(4186,4189,1),new IG.ptr(4193,4197,4),new IG.ptr(4198,4206,8),new IG.ptr(4207,4208,1),new IG.ptr(4213,4225,1),new IG.ptr(4238,4256,18),new IG.ptr(4257,4293,1),new IG.ptr(4295,4301,6),new IG.ptr(4304,4346,1),new IG.ptr(4348,4680,1),new IG.ptr(4682,4685,1),new IG.ptr(4688,4694,1),new IG.ptr(4696,4698,2),new IG.ptr(4699,4701,1),new IG.ptr(4704,4744,1),new IG.ptr(4746,4749,1),new IG.ptr(4752,4784,1),new IG.ptr(4786,4789,1),new IG.ptr(4792,4798,1),new IG.ptr(4800,4802,2),new IG.ptr(4803,4805,1),new IG.ptr(4808,4822,1),new IG.ptr(4824,4880,1),new IG.ptr(4882,4885,1),new IG.ptr(4888,4954,1),new IG.ptr(4992,5007,1),new IG.ptr(5024,5109,1),new IG.ptr(5112,5117,1),new IG.ptr(5121,5740,1),new IG.ptr(5743,5759,1),new IG.ptr(5761,5786,1),new IG.ptr(5792,5866,1),new IG.ptr(5873,5880,1),new IG.ptr(5888,5900,1),new IG.ptr(5902,5905,1),new IG.ptr(5920,5937,1),new IG.ptr(5952,5969,1),new IG.ptr(5984,5996,1),new IG.ptr(5998,6000,1),new IG.ptr(6016,6067,1),new IG.ptr(6103,6108,5),new IG.ptr(6176,6264,1),new IG.ptr(6272,6276,1),new IG.ptr(6279,6312,1),new IG.ptr(6314,6320,6),new IG.ptr(6321,6389,1),new IG.ptr(6400,6430,1),new IG.ptr(6480,6509,1),new IG.ptr(6512,6516,1),new IG.ptr(6528,6571,1),new IG.ptr(6576,6601,1),new IG.ptr(6656,6678,1),new IG.ptr(6688,6740,1),new IG.ptr(6823,6917,94),new IG.ptr(6918,6963,1),new IG.ptr(6981,6987,1),new IG.ptr(7043,7072,1),new IG.ptr(7086,7087,1),new IG.ptr(7098,7141,1),new IG.ptr(7168,7203,1),new IG.ptr(7245,7247,1),new IG.ptr(7258,7293,1),new IG.ptr(7296,7304,1),new IG.ptr(7312,7354,1),new IG.ptr(7357,7359,1),new IG.ptr(7401,7404,1),new IG.ptr(7406,7411,1),new IG.ptr(7413,7414,1),new IG.ptr(7418,7424,6),new IG.ptr(7425,7615,1),new IG.ptr(7680,7957,1),new IG.ptr(7960,7965,1),new IG.ptr(7968,8005,1),new IG.ptr(8008,8013,1),new IG.ptr(8016,8023,1),new IG.ptr(8025,8031,2),new IG.ptr(8032,8061,1),new IG.ptr(8064,8116,1),new IG.ptr(8118,8124,1),new IG.ptr(8126,8130,4),new IG.ptr(8131,8132,1),new IG.ptr(8134,8140,1),new IG.ptr(8144,8147,1),new IG.ptr(8150,8155,1),new IG.ptr(8160,8172,1),new IG.ptr(8178,8180,1),new IG.ptr(8182,8188,1),new IG.ptr(8305,8319,14),new IG.ptr(8336,8348,1),new IG.ptr(8450,8455,5),new IG.ptr(8458,8467,1),new IG.ptr(8469,8473,4),new IG.ptr(8474,8477,1),new IG.ptr(8484,8490,2),new IG.ptr(8491,8493,1),new IG.ptr(8495,8505,1),new IG.ptr(8508,8511,1),new IG.ptr(8517,8521,1),new IG.ptr(8526,8579,53),new IG.ptr(8580,11264,2684),new IG.ptr(11265,11310,1),new IG.ptr(11312,11358,1),new IG.ptr(11360,11492,1),new IG.ptr(11499,11502,1),new IG.ptr(11506,11507,1),new IG.ptr(11520,11557,1),new IG.ptr(11559,11565,6),new IG.ptr(11568,11623,1),new IG.ptr(11631,11648,17),new IG.ptr(11649,11670,1),new IG.ptr(11680,11686,1),new IG.ptr(11688,11694,1),new IG.ptr(11696,11702,1),new IG.ptr(11704,11710,1),new IG.ptr(11712,11718,1),new IG.ptr(11720,11726,1),new IG.ptr(11728,11734,1),new IG.ptr(11736,11742,1),new IG.ptr(11823,12293,470),new IG.ptr(12294,12337,43),new IG.ptr(12338,12341,1),new IG.ptr(12347,12348,1),new IG.ptr(12353,12438,1),new IG.ptr(12445,12447,1),new IG.ptr(12449,12538,1),new IG.ptr(12540,12543,1),new IG.ptr(12549,12591,1),new IG.ptr(12593,12686,1),new IG.ptr(12704,12735,1),new IG.ptr(12784,12799,1),new IG.ptr(13312,19903,1),new IG.ptr(19968,40956,1),new IG.ptr(40960,42124,1),new IG.ptr(42192,42237,1),new IG.ptr(42240,42508,1),new IG.ptr(42512,42527,1),new IG.ptr(42538,42539,1),new IG.ptr(42560,42606,1),new IG.ptr(42623,42653,1),new IG.ptr(42656,42725,1),new IG.ptr(42775,42783,1),new IG.ptr(42786,42888,1),new IG.ptr(42891,42943,1),new IG.ptr(42946,42954,1),new IG.ptr(42997,43009,1),new IG.ptr(43011,43013,1),new IG.ptr(43015,43018,1),new IG.ptr(43020,43042,1),new IG.ptr(43072,43123,1),new IG.ptr(43138,43187,1),new IG.ptr(43250,43255,1),new IG.ptr(43259,43261,2),new IG.ptr(43262,43274,12),new IG.ptr(43275,43301,1),new IG.ptr(43312,43334,1),new IG.ptr(43360,43388,1),new IG.ptr(43396,43442,1),new IG.ptr(43471,43488,17),new IG.ptr(43489,43492,1),new IG.ptr(43494,43503,1),new IG.ptr(43514,43518,1),new IG.ptr(43520,43560,1),new IG.ptr(43584,43586,1),new IG.ptr(43588,43595,1),new IG.ptr(43616,43638,1),new IG.ptr(43642,43646,4),new IG.ptr(43647,43695,1),new IG.ptr(43697,43701,4),new IG.ptr(43702,43705,3),new IG.ptr(43706,43709,1),new IG.ptr(43712,43714,2),new IG.ptr(43739,43741,1),new IG.ptr(43744,43754,1),new IG.ptr(43762,43764,1),new IG.ptr(43777,43782,1),new IG.ptr(43785,43790,1),new IG.ptr(43793,43798,1),new IG.ptr(43808,43814,1),new IG.ptr(43816,43822,1),new IG.ptr(43824,43866,1),new IG.ptr(43868,43881,1),new IG.ptr(43888,44002,1),new IG.ptr(44032,55203,1),new IG.ptr(55216,55238,1),new IG.ptr(55243,55291,1),new IG.ptr(63744,64109,1),new IG.ptr(64112,64217,1),new IG.ptr(64256,64262,1),new IG.ptr(64275,64279,1),new IG.ptr(64285,64287,2),new IG.ptr(64288,64296,1),new IG.ptr(64298,64310,1),new IG.ptr(64312,64316,1),new IG.ptr(64318,64320,2),new IG.ptr(64321,64323,2),new IG.ptr(64324,64326,2),new IG.ptr(64327,64433,1),new IG.ptr(64467,64829,1),new IG.ptr(64848,64911,1),new IG.ptr(64914,64967,1),new IG.ptr(65008,65019,1),new IG.ptr(65136,65140,1),new IG.ptr(65142,65276,1),new IG.ptr(65313,65338,1),new IG.ptr(65345,65370,1),new IG.ptr(65382,65470,1),new IG.ptr(65474,65479,1),new IG.ptr(65482,65487,1),new IG.ptr(65490,65495,1),new IG.ptr(65498,65500,1)]),new JN([new IH.ptr(65536,65547,1),new IH.ptr(65549,65574,1),new IH.ptr(65576,65594,1),new IH.ptr(65596,65597,1),new IH.ptr(65599,65613,1),new IH.ptr(65616,65629,1),new IH.ptr(65664,65786,1),new IH.ptr(66176,66204,1),new IH.ptr(66208,66256,1),new IH.ptr(66304,66335,1),new IH.ptr(66349,66368,1),new IH.ptr(66370,66377,1),new IH.ptr(66384,66421,1),new IH.ptr(66432,66461,1),new IH.ptr(66464,66499,1),new IH.ptr(66504,66511,1),new IH.ptr(66560,66717,1),new IH.ptr(66736,66771,1),new IH.ptr(66776,66811,1),new IH.ptr(66816,66855,1),new IH.ptr(66864,66915,1),new IH.ptr(67072,67382,1),new IH.ptr(67392,67413,1),new IH.ptr(67424,67431,1),new IH.ptr(67584,67589,1),new IH.ptr(67592,67594,2),new IH.ptr(67595,67637,1),new IH.ptr(67639,67640,1),new IH.ptr(67644,67647,3),new IH.ptr(67648,67669,1),new IH.ptr(67680,67702,1),new IH.ptr(67712,67742,1),new IH.ptr(67808,67826,1),new IH.ptr(67828,67829,1),new IH.ptr(67840,67861,1),new IH.ptr(67872,67897,1),new IH.ptr(67968,68023,1),new IH.ptr(68030,68031,1),new IH.ptr(68096,68112,16),new IH.ptr(68113,68115,1),new IH.ptr(68117,68119,1),new IH.ptr(68121,68149,1),new IH.ptr(68192,68220,1),new IH.ptr(68224,68252,1),new IH.ptr(68288,68295,1),new IH.ptr(68297,68324,1),new IH.ptr(68352,68405,1),new IH.ptr(68416,68437,1),new IH.ptr(68448,68466,1),new IH.ptr(68480,68497,1),new IH.ptr(68608,68680,1),new IH.ptr(68736,68786,1),new IH.ptr(68800,68850,1),new IH.ptr(68864,68899,1),new IH.ptr(69248,69289,1),new IH.ptr(69296,69297,1),new IH.ptr(69376,69404,1),new IH.ptr(69415,69424,9),new IH.ptr(69425,69445,1),new IH.ptr(69552,69572,1),new IH.ptr(69600,69622,1),new IH.ptr(69635,69687,1),new IH.ptr(69763,69807,1),new IH.ptr(69840,69864,1),new IH.ptr(69891,69926,1),new IH.ptr(69956,69959,3),new IH.ptr(69968,70002,1),new IH.ptr(70006,70019,13),new IH.ptr(70020,70066,1),new IH.ptr(70081,70084,1),new IH.ptr(70106,70108,2),new IH.ptr(70144,70161,1),new IH.ptr(70163,70187,1),new IH.ptr(70272,70278,1),new IH.ptr(70280,70282,2),new IH.ptr(70283,70285,1),new IH.ptr(70287,70301,1),new IH.ptr(70303,70312,1),new IH.ptr(70320,70366,1),new IH.ptr(70405,70412,1),new IH.ptr(70415,70416,1),new IH.ptr(70419,70440,1),new IH.ptr(70442,70448,1),new IH.ptr(70450,70451,1),new IH.ptr(70453,70457,1),new IH.ptr(70461,70480,19),new IH.ptr(70493,70497,1),new IH.ptr(70656,70708,1),new IH.ptr(70727,70730,1),new IH.ptr(70751,70753,1),new IH.ptr(70784,70831,1),new IH.ptr(70852,70853,1),new IH.ptr(70855,71040,185),new IH.ptr(71041,71086,1),new IH.ptr(71128,71131,1),new IH.ptr(71168,71215,1),new IH.ptr(71236,71296,60),new IH.ptr(71297,71338,1),new IH.ptr(71352,71424,72),new IH.ptr(71425,71450,1),new IH.ptr(71680,71723,1),new IH.ptr(71840,71903,1),new IH.ptr(71935,71942,1),new IH.ptr(71945,71948,3),new IH.ptr(71949,71955,1),new IH.ptr(71957,71958,1),new IH.ptr(71960,71983,1),new IH.ptr(71999,72001,2),new IH.ptr(72096,72103,1),new IH.ptr(72106,72144,1),new IH.ptr(72161,72163,2),new IH.ptr(72192,72203,11),new IH.ptr(72204,72242,1),new IH.ptr(72250,72272,22),new IH.ptr(72284,72329,1),new IH.ptr(72349,72384,35),new IH.ptr(72385,72440,1),new IH.ptr(72704,72712,1),new IH.ptr(72714,72750,1),new IH.ptr(72768,72818,50),new IH.ptr(72819,72847,1),new IH.ptr(72960,72966,1),new IH.ptr(72968,72969,1),new IH.ptr(72971,73008,1),new IH.ptr(73030,73056,26),new IH.ptr(73057,73061,1),new IH.ptr(73063,73064,1),new IH.ptr(73066,73097,1),new IH.ptr(73112,73440,328),new IH.ptr(73441,73458,1),new IH.ptr(73648,73728,80),new IH.ptr(73729,74649,1),new IH.ptr(74880,75075,1),new IH.ptr(77824,78894,1),new IH.ptr(82944,83526,1),new IH.ptr(92160,92728,1),new IH.ptr(92736,92766,1),new IH.ptr(92880,92909,1),new IH.ptr(92928,92975,1),new IH.ptr(92992,92995,1),new IH.ptr(93027,93047,1),new IH.ptr(93053,93071,1),new IH.ptr(93760,93823,1),new IH.ptr(93952,94026,1),new IH.ptr(94032,94099,67),new IH.ptr(94100,94111,1),new IH.ptr(94176,94177,1),new IH.ptr(94179,94208,29),new IH.ptr(94209,100343,1),new IH.ptr(100352,101589,1),new IH.ptr(101632,101640,1),new IH.ptr(110592,110878,1),new IH.ptr(110928,110930,1),new IH.ptr(110948,110951,1),new IH.ptr(110960,111355,1),new IH.ptr(113664,113770,1),new IH.ptr(113776,113788,1),new IH.ptr(113792,113800,1),new IH.ptr(113808,113817,1),new IH.ptr(119808,119892,1),new IH.ptr(119894,119964,1),new IH.ptr(119966,119967,1),new IH.ptr(119970,119973,3),new IH.ptr(119974,119977,3),new IH.ptr(119978,119980,1),new IH.ptr(119982,119993,1),new IH.ptr(119995,119997,2),new IH.ptr(119998,120003,1),new IH.ptr(120005,120069,1),new IH.ptr(120071,120074,1),new IH.ptr(120077,120084,1),new IH.ptr(120086,120092,1),new IH.ptr(120094,120121,1),new IH.ptr(120123,120126,1),new IH.ptr(120128,120132,1),new IH.ptr(120134,120138,4),new IH.ptr(120139,120144,1),new IH.ptr(120146,120485,1),new IH.ptr(120488,120512,1),new IH.ptr(120514,120538,1),new IH.ptr(120540,120570,1),new IH.ptr(120572,120596,1),new IH.ptr(120598,120628,1),new IH.ptr(120630,120654,1),new IH.ptr(120656,120686,1),new IH.ptr(120688,120712,1),new IH.ptr(120714,120744,1),new IH.ptr(120746,120770,1),new IH.ptr(120772,120779,1),new IH.ptr(123136,123180,1),new IH.ptr(123191,123197,1),new IH.ptr(123214,123584,370),new IH.ptr(123585,123627,1),new IH.ptr(124928,125124,1),new IH.ptr(125184,125251,1),new IH.ptr(125259,126464,1205),new IH.ptr(126465,126467,1),new IH.ptr(126469,126495,1),new IH.ptr(126497,126498,1),new IH.ptr(126500,126503,3),new IH.ptr(126505,126514,1),new IH.ptr(126516,126519,1),new IH.ptr(126521,126523,2),new IH.ptr(126530,126535,5),new IH.ptr(126537,126541,2),new IH.ptr(126542,126543,1),new IH.ptr(126545,126546,1),new IH.ptr(126548,126551,3),new IH.ptr(126553,126561,2),new IH.ptr(126562,126564,2),new IH.ptr(126567,126570,1),new IH.ptr(126572,126578,1),new IH.ptr(126580,126583,1),new IH.ptr(126585,126588,1),new IH.ptr(126590,126592,2),new IH.ptr(126593,126601,1),new IH.ptr(126603,126619,1),new IH.ptr(126625,126627,1),new IH.ptr(126629,126633,1),new IH.ptr(126635,126651,1),new IH.ptr(131072,173789,1),new IH.ptr(173824,177972,1),new IH.ptr(177984,178205,1),new IH.ptr(178208,183969,1),new IH.ptr(183984,191456,1),new IH.ptr(194560,195101,1),new IH.ptr(196608,201546,1)]),6);G=new IF.ptr(new JM([new IG.ptr(97,122,1),new IG.ptr(181,223,42),new IG.ptr(224,246,1),new IG.ptr(248,255,1),new IG.ptr(257,311,2),new IG.ptr(312,328,2),new IG.ptr(329,375,2),new IG.ptr(378,382,2),new IG.ptr(383,384,1),new IG.ptr(387,389,2),new IG.ptr(392,396,4),new IG.ptr(397,402,5),new IG.ptr(405,409,4),new IG.ptr(410,411,1),new IG.ptr(414,417,3),new IG.ptr(419,421,2),new IG.ptr(424,426,2),new IG.ptr(427,429,2),new IG.ptr(432,436,4),new IG.ptr(438,441,3),new IG.ptr(442,445,3),new IG.ptr(446,447,1),new IG.ptr(454,460,3),new IG.ptr(462,476,2),new IG.ptr(477,495,2),new IG.ptr(496,499,3),new IG.ptr(501,505,4),new IG.ptr(507,563,2),new IG.ptr(564,569,1),new IG.ptr(572,575,3),new IG.ptr(576,578,2),new IG.ptr(583,591,2),new IG.ptr(592,659,1),new IG.ptr(661,687,1),new IG.ptr(881,883,2),new IG.ptr(887,891,4),new IG.ptr(892,893,1),new IG.ptr(912,940,28),new IG.ptr(941,974,1),new IG.ptr(976,977,1),new IG.ptr(981,983,1),new IG.ptr(985,1007,2),new IG.ptr(1008,1011,1),new IG.ptr(1013,1019,3),new IG.ptr(1020,1072,52),new IG.ptr(1073,1119,1),new IG.ptr(1121,1153,2),new IG.ptr(1163,1215,2),new IG.ptr(1218,1230,2),new IG.ptr(1231,1327,2),new IG.ptr(1376,1416,1),new IG.ptr(4304,4346,1),new IG.ptr(4349,4351,1),new IG.ptr(5112,5117,1),new IG.ptr(7296,7304,1),new IG.ptr(7424,7467,1),new IG.ptr(7531,7543,1),new IG.ptr(7545,7578,1),new IG.ptr(7681,7829,2),new IG.ptr(7830,7837,1),new IG.ptr(7839,7935,2),new IG.ptr(7936,7943,1),new IG.ptr(7952,7957,1),new IG.ptr(7968,7975,1),new IG.ptr(7984,7991,1),new IG.ptr(8000,8005,1),new IG.ptr(8016,8023,1),new IG.ptr(8032,8039,1),new IG.ptr(8048,8061,1),new IG.ptr(8064,8071,1),new IG.ptr(8080,8087,1),new IG.ptr(8096,8103,1),new IG.ptr(8112,8116,1),new IG.ptr(8118,8119,1),new IG.ptr(8126,8130,4),new IG.ptr(8131,8132,1),new IG.ptr(8134,8135,1),new IG.ptr(8144,8147,1),new IG.ptr(8150,8151,1),new IG.ptr(8160,8167,1),new IG.ptr(8178,8180,1),new IG.ptr(8182,8183,1),new IG.ptr(8458,8462,4),new IG.ptr(8463,8467,4),new IG.ptr(8495,8505,5),new IG.ptr(8508,8509,1),new IG.ptr(8518,8521,1),new IG.ptr(8526,8580,54),new IG.ptr(11312,11358,1),new IG.ptr(11361,11365,4),new IG.ptr(11366,11372,2),new IG.ptr(11377,11379,2),new IG.ptr(11380,11382,2),new IG.ptr(11383,11387,1),new IG.ptr(11393,11491,2),new IG.ptr(11492,11500,8),new IG.ptr(11502,11507,5),new IG.ptr(11520,11557,1),new IG.ptr(11559,11565,6),new IG.ptr(42561,42605,2),new IG.ptr(42625,42651,2),new IG.ptr(42787,42799,2),new IG.ptr(42800,42801,1),new IG.ptr(42803,42865,2),new IG.ptr(42866,42872,1),new IG.ptr(42874,42876,2),new IG.ptr(42879,42887,2),new IG.ptr(42892,42894,2),new IG.ptr(42897,42899,2),new IG.ptr(42900,42901,1),new IG.ptr(42903,42921,2),new IG.ptr(42927,42933,6),new IG.ptr(42935,42943,2),new IG.ptr(42947,42952,5),new IG.ptr(42954,42998,44),new IG.ptr(43002,43824,822),new IG.ptr(43825,43866,1),new IG.ptr(43872,43880,1),new IG.ptr(43888,43967,1),new IG.ptr(64256,64262,1),new IG.ptr(64275,64279,1),new IG.ptr(65345,65370,1)]),new JN([new IH.ptr(66600,66639,1),new IH.ptr(66776,66811,1),new IH.ptr(68800,68850,1),new IH.ptr(71872,71903,1),new IH.ptr(93792,93823,1),new IH.ptr(119834,119859,1),new IH.ptr(119886,119892,1),new IH.ptr(119894,119911,1),new IH.ptr(119938,119963,1),new IH.ptr(119990,119993,1),new IH.ptr(119995,119997,2),new IH.ptr(119998,120003,1),new IH.ptr(120005,120015,1),new IH.ptr(120042,120067,1),new IH.ptr(120094,120119,1),new IH.ptr(120146,120171,1),new IH.ptr(120198,120223,1),new IH.ptr(120250,120275,1),new IH.ptr(120302,120327,1),new IH.ptr(120354,120379,1),new IH.ptr(120406,120431,1),new IH.ptr(120458,120485,1),new IH.ptr(120514,120538,1),new IH.ptr(120540,120545,1),new IH.ptr(120572,120596,1),new IH.ptr(120598,120603,1),new IH.ptr(120630,120654,1),new IH.ptr(120656,120661,1),new IH.ptr(120688,120712,1),new IH.ptr(120714,120719,1),new IH.ptr(120746,120770,1),new IH.ptr(120772,120777,1),new IH.ptr(120779,125218,4439),new IH.ptr(125219,125251,1)]),4);H=new IF.ptr(new JM([new IG.ptr(688,705,1),new IG.ptr(710,721,1),new IG.ptr(736,740,1),new IG.ptr(748,750,2),new IG.ptr(884,890,6),new IG.ptr(1369,1600,231),new IG.ptr(1765,1766,1),new IG.ptr(2036,2037,1),new IG.ptr(2042,2074,32),new IG.ptr(2084,2088,4),new IG.ptr(2417,3654,1237),new IG.ptr(3782,4348,566),new IG.ptr(6103,6211,108),new IG.ptr(6823,7288,465),new IG.ptr(7289,7293,1),new IG.ptr(7468,7530,1),new IG.ptr(7544,7579,35),new IG.ptr(7580,7615,1),new IG.ptr(8305,8319,14),new IG.ptr(8336,8348,1),new IG.ptr(11388,11389,1),new IG.ptr(11631,11823,192),new IG.ptr(12293,12337,44),new IG.ptr(12338,12341,1),new IG.ptr(12347,12445,98),new IG.ptr(12446,12540,94),new IG.ptr(12541,12542,1),new IG.ptr(40981,42232,1251),new IG.ptr(42233,42237,1),new IG.ptr(42508,42623,115),new IG.ptr(42652,42653,1),new IG.ptr(42775,42783,1),new IG.ptr(42864,42888,24),new IG.ptr(43000,43001,1),new IG.ptr(43471,43494,23),new IG.ptr(43632,43741,109),new IG.ptr(43763,43764,1),new IG.ptr(43868,43871,1),new IG.ptr(43881,65392,21511),new IG.ptr(65438,65439,1)]),new JN([new IH.ptr(92992,92995,1),new IH.ptr(94099,94111,1),new IH.ptr(94176,94177,1),new IH.ptr(94179,123191,29012),new IH.ptr(123192,123197,1),new IH.ptr(125259,125259,1)]),0);I=new IF.ptr(new JM([new IG.ptr(170,186,16),new IG.ptr(443,448,5),new IG.ptr(449,451,1),new IG.ptr(660,1488,828),new IG.ptr(1489,1514,1),new IG.ptr(1519,1522,1),new IG.ptr(1568,1599,1),new IG.ptr(1601,1610,1),new IG.ptr(1646,1647,1),new IG.ptr(1649,1747,1),new IG.ptr(1749,1774,25),new IG.ptr(1775,1786,11),new IG.ptr(1787,1788,1),new IG.ptr(1791,1808,17),new IG.ptr(1810,1839,1),new IG.ptr(1869,1957,1),new IG.ptr(1969,1994,25),new IG.ptr(1995,2026,1),new IG.ptr(2048,2069,1),new IG.ptr(2112,2136,1),new IG.ptr(2144,2154,1),new IG.ptr(2208,2228,1),new IG.ptr(2230,2247,1),new IG.ptr(2308,2361,1),new IG.ptr(2365,2384,19),new IG.ptr(2392,2401,1),new IG.ptr(2418,2432,1),new IG.ptr(2437,2444,1),new IG.ptr(2447,2448,1),new IG.ptr(2451,2472,1),new IG.ptr(2474,2480,1),new IG.ptr(2482,2486,4),new IG.ptr(2487,2489,1),new IG.ptr(2493,2510,17),new IG.ptr(2524,2525,1),new IG.ptr(2527,2529,1),new IG.ptr(2544,2545,1),new IG.ptr(2556,2565,9),new IG.ptr(2566,2570,1),new IG.ptr(2575,2576,1),new IG.ptr(2579,2600,1),new IG.ptr(2602,2608,1),new IG.ptr(2610,2611,1),new IG.ptr(2613,2614,1),new IG.ptr(2616,2617,1),new IG.ptr(2649,2652,1),new IG.ptr(2654,2674,20),new IG.ptr(2675,2676,1),new IG.ptr(2693,2701,1),new IG.ptr(2703,2705,1),new IG.ptr(2707,2728,1),new IG.ptr(2730,2736,1),new IG.ptr(2738,2739,1),new IG.ptr(2741,2745,1),new IG.ptr(2749,2768,19),new IG.ptr(2784,2785,1),new IG.ptr(2809,2821,12),new IG.ptr(2822,2828,1),new IG.ptr(2831,2832,1),new IG.ptr(2835,2856,1),new IG.ptr(2858,2864,1),new IG.ptr(2866,2867,1),new IG.ptr(2869,2873,1),new IG.ptr(2877,2908,31),new IG.ptr(2909,2911,2),new IG.ptr(2912,2913,1),new IG.ptr(2929,2947,18),new IG.ptr(2949,2954,1),new IG.ptr(2958,2960,1),new IG.ptr(2962,2965,1),new IG.ptr(2969,2970,1),new IG.ptr(2972,2974,2),new IG.ptr(2975,2979,4),new IG.ptr(2980,2984,4),new IG.ptr(2985,2986,1),new IG.ptr(2990,3001,1),new IG.ptr(3024,3077,53),new IG.ptr(3078,3084,1),new IG.ptr(3086,3088,1),new IG.ptr(3090,3112,1),new IG.ptr(3114,3129,1),new IG.ptr(3133,3160,27),new IG.ptr(3161,3162,1),new IG.ptr(3168,3169,1),new IG.ptr(3200,3205,5),new IG.ptr(3206,3212,1),new IG.ptr(3214,3216,1),new IG.ptr(3218,3240,1),new IG.ptr(3242,3251,1),new IG.ptr(3253,3257,1),new IG.ptr(3261,3294,33),new IG.ptr(3296,3297,1),new IG.ptr(3313,3314,1),new IG.ptr(3332,3340,1),new IG.ptr(3342,3344,1),new IG.ptr(3346,3386,1),new IG.ptr(3389,3406,17),new IG.ptr(3412,3414,1),new IG.ptr(3423,3425,1),new IG.ptr(3450,3455,1),new IG.ptr(3461,3478,1),new IG.ptr(3482,3505,1),new IG.ptr(3507,3515,1),new IG.ptr(3517,3520,3),new IG.ptr(3521,3526,1),new IG.ptr(3585,3632,1),new IG.ptr(3634,3635,1),new IG.ptr(3648,3653,1),new IG.ptr(3713,3714,1),new IG.ptr(3716,3718,2),new IG.ptr(3719,3722,1),new IG.ptr(3724,3747,1),new IG.ptr(3749,3751,2),new IG.ptr(3752,3760,1),new IG.ptr(3762,3763,1),new IG.ptr(3773,3776,3),new IG.ptr(3777,3780,1),new IG.ptr(3804,3807,1),new IG.ptr(3840,3904,64),new IG.ptr(3905,3911,1),new IG.ptr(3913,3948,1),new IG.ptr(3976,3980,1),new IG.ptr(4096,4138,1),new IG.ptr(4159,4176,17),new IG.ptr(4177,4181,1),new IG.ptr(4186,4189,1),new IG.ptr(4193,4197,4),new IG.ptr(4198,4206,8),new IG.ptr(4207,4208,1),new IG.ptr(4213,4225,1),new IG.ptr(4238,4352,114),new IG.ptr(4353,4680,1),new IG.ptr(4682,4685,1),new IG.ptr(4688,4694,1),new IG.ptr(4696,4698,2),new IG.ptr(4699,4701,1),new IG.ptr(4704,4744,1),new IG.ptr(4746,4749,1),new IG.ptr(4752,4784,1),new IG.ptr(4786,4789,1),new IG.ptr(4792,4798,1),new IG.ptr(4800,4802,2),new IG.ptr(4803,4805,1),new IG.ptr(4808,4822,1),new IG.ptr(4824,4880,1),new IG.ptr(4882,4885,1),new IG.ptr(4888,4954,1),new IG.ptr(4992,5007,1),new IG.ptr(5121,5740,1),new IG.ptr(5743,5759,1),new IG.ptr(5761,5786,1),new IG.ptr(5792,5866,1),new IG.ptr(5873,5880,1),new IG.ptr(5888,5900,1),new IG.ptr(5902,5905,1),new IG.ptr(5920,5937,1),new IG.ptr(5952,5969,1),new IG.ptr(5984,5996,1),new IG.ptr(5998,6000,1),new IG.ptr(6016,6067,1),new IG.ptr(6108,6176,68),new IG.ptr(6177,6210,1),new IG.ptr(6212,6264,1),new IG.ptr(6272,6276,1),new IG.ptr(6279,6312,1),new IG.ptr(6314,6320,6),new IG.ptr(6321,6389,1),new IG.ptr(6400,6430,1),new IG.ptr(6480,6509,1),new IG.ptr(6512,6516,1),new IG.ptr(6528,6571,1),new IG.ptr(6576,6601,1),new IG.ptr(6656,6678,1),new IG.ptr(6688,6740,1),new IG.ptr(6917,6963,1),new IG.ptr(6981,6987,1),new IG.ptr(7043,7072,1),new IG.ptr(7086,7087,1),new IG.ptr(7098,7141,1),new IG.ptr(7168,7203,1),new IG.ptr(7245,7247,1),new IG.ptr(7258,7287,1),new IG.ptr(7401,7404,1),new IG.ptr(7406,7411,1),new IG.ptr(7413,7414,1),new IG.ptr(7418,8501,1083),new IG.ptr(8502,8504,1),new IG.ptr(11568,11623,1),new IG.ptr(11648,11670,1),new IG.ptr(11680,11686,1),new IG.ptr(11688,11694,1),new IG.ptr(11696,11702,1),new IG.ptr(11704,11710,1),new IG.ptr(11712,11718,1),new IG.ptr(11720,11726,1),new IG.ptr(11728,11734,1),new IG.ptr(11736,11742,1),new IG.ptr(12294,12348,54),new IG.ptr(12353,12438,1),new IG.ptr(12447,12449,2),new IG.ptr(12450,12538,1),new IG.ptr(12543,12549,6),new IG.ptr(12550,12591,1),new IG.ptr(12593,12686,1),new IG.ptr(12704,12735,1),new IG.ptr(12784,12799,1),new IG.ptr(13312,19903,1),new IG.ptr(19968,40956,1),new IG.ptr(40960,40980,1),new IG.ptr(40982,42124,1),new IG.ptr(42192,42231,1),new IG.ptr(42240,42507,1),new IG.ptr(42512,42527,1),new IG.ptr(42538,42539,1),new IG.ptr(42606,42656,50),new IG.ptr(42657,42725,1),new IG.ptr(42895,42999,104),new IG.ptr(43003,43009,1),new IG.ptr(43011,43013,1),new IG.ptr(43015,43018,1),new IG.ptr(43020,43042,1),new IG.ptr(43072,43123,1),new IG.ptr(43138,43187,1),new IG.ptr(43250,43255,1),new IG.ptr(43259,43261,2),new IG.ptr(43262,43274,12),new IG.ptr(43275,43301,1),new IG.ptr(43312,43334,1),new IG.ptr(43360,43388,1),new IG.ptr(43396,43442,1),new IG.ptr(43488,43492,1),new IG.ptr(43495,43503,1),new IG.ptr(43514,43518,1),new IG.ptr(43520,43560,1),new IG.ptr(43584,43586,1),new IG.ptr(43588,43595,1),new IG.ptr(43616,43631,1),new IG.ptr(43633,43638,1),new IG.ptr(43642,43646,4),new IG.ptr(43647,43695,1),new IG.ptr(43697,43701,4),new IG.ptr(43702,43705,3),new IG.ptr(43706,43709,1),new IG.ptr(43712,43714,2),new IG.ptr(43739,43740,1),new IG.ptr(43744,43754,1),new IG.ptr(43762,43777,15),new IG.ptr(43778,43782,1),new IG.ptr(43785,43790,1),new IG.ptr(43793,43798,1),new IG.ptr(43808,43814,1),new IG.ptr(43816,43822,1),new IG.ptr(43968,44002,1),new IG.ptr(44032,55203,1),new IG.ptr(55216,55238,1),new IG.ptr(55243,55291,1),new IG.ptr(63744,64109,1),new IG.ptr(64112,64217,1),new IG.ptr(64285,64287,2),new IG.ptr(64288,64296,1),new IG.ptr(64298,64310,1),new IG.ptr(64312,64316,1),new IG.ptr(64318,64320,2),new IG.ptr(64321,64323,2),new IG.ptr(64324,64326,2),new IG.ptr(64327,64433,1),new IG.ptr(64467,64829,1),new IG.ptr(64848,64911,1),new IG.ptr(64914,64967,1),new IG.ptr(65008,65019,1),new IG.ptr(65136,65140,1),new IG.ptr(65142,65276,1),new IG.ptr(65382,65391,1),new IG.ptr(65393,65437,1),new IG.ptr(65440,65470,1),new IG.ptr(65474,65479,1),new IG.ptr(65482,65487,1),new IG.ptr(65490,65495,1),new IG.ptr(65498,65500,1)]),new JN([new IH.ptr(65536,65547,1),new IH.ptr(65549,65574,1),new IH.ptr(65576,65594,1),new IH.ptr(65596,65597,1),new IH.ptr(65599,65613,1),new IH.ptr(65616,65629,1),new IH.ptr(65664,65786,1),new IH.ptr(66176,66204,1),new IH.ptr(66208,66256,1),new IH.ptr(66304,66335,1),new IH.ptr(66349,66368,1),new IH.ptr(66370,66377,1),new IH.ptr(66384,66421,1),new IH.ptr(66432,66461,1),new IH.ptr(66464,66499,1),new IH.ptr(66504,66511,1),new IH.ptr(66640,66717,1),new IH.ptr(66816,66855,1),new IH.ptr(66864,66915,1),new IH.ptr(67072,67382,1),new IH.ptr(67392,67413,1),new IH.ptr(67424,67431,1),new IH.ptr(67584,67589,1),new IH.ptr(67592,67594,2),new IH.ptr(67595,67637,1),new IH.ptr(67639,67640,1),new IH.ptr(67644,67647,3),new IH.ptr(67648,67669,1),new IH.ptr(67680,67702,1),new IH.ptr(67712,67742,1),new IH.ptr(67808,67826,1),new IH.ptr(67828,67829,1),new IH.ptr(67840,67861,1),new IH.ptr(67872,67897,1),new IH.ptr(67968,68023,1),new IH.ptr(68030,68031,1),new IH.ptr(68096,68112,16),new IH.ptr(68113,68115,1),new IH.ptr(68117,68119,1),new IH.ptr(68121,68149,1),new IH.ptr(68192,68220,1),new IH.ptr(68224,68252,1),new IH.ptr(68288,68295,1),new IH.ptr(68297,68324,1),new IH.ptr(68352,68405,1),new IH.ptr(68416,68437,1),new IH.ptr(68448,68466,1),new IH.ptr(68480,68497,1),new IH.ptr(68608,68680,1),new IH.ptr(68864,68899,1),new IH.ptr(69248,69289,1),new IH.ptr(69296,69297,1),new IH.ptr(69376,69404,1),new IH.ptr(69415,69424,9),new IH.ptr(69425,69445,1),new IH.ptr(69552,69572,1),new IH.ptr(69600,69622,1),new IH.ptr(69635,69687,1),new IH.ptr(69763,69807,1),new IH.ptr(69840,69864,1),new IH.ptr(69891,69926,1),new IH.ptr(69956,69959,3),new IH.ptr(69968,70002,1),new IH.ptr(70006,70019,13),new IH.ptr(70020,70066,1),new IH.ptr(70081,70084,1),new IH.ptr(70106,70108,2),new IH.ptr(70144,70161,1),new IH.ptr(70163,70187,1),new IH.ptr(70272,70278,1),new IH.ptr(70280,70282,2),new IH.ptr(70283,70285,1),new IH.ptr(70287,70301,1),new IH.ptr(70303,70312,1),new IH.ptr(70320,70366,1),new IH.ptr(70405,70412,1),new IH.ptr(70415,70416,1),new IH.ptr(70419,70440,1),new IH.ptr(70442,70448,1),new IH.ptr(70450,70451,1),new IH.ptr(70453,70457,1),new IH.ptr(70461,70480,19),new IH.ptr(70493,70497,1),new IH.ptr(70656,70708,1),new IH.ptr(70727,70730,1),new IH.ptr(70751,70753,1),new IH.ptr(70784,70831,1),new IH.ptr(70852,70853,1),new IH.ptr(70855,71040,185),new IH.ptr(71041,71086,1),new IH.ptr(71128,71131,1),new IH.ptr(71168,71215,1),new IH.ptr(71236,71296,60),new IH.ptr(71297,71338,1),new IH.ptr(71352,71424,72),new IH.ptr(71425,71450,1),new IH.ptr(71680,71723,1),new IH.ptr(71935,71942,1),new IH.ptr(71945,71948,3),new IH.ptr(71949,71955,1),new IH.ptr(71957,71958,1),new IH.ptr(71960,71983,1),new IH.ptr(71999,72001,2),new IH.ptr(72096,72103,1),new IH.ptr(72106,72144,1),new IH.ptr(72161,72163,2),new IH.ptr(72192,72203,11),new IH.ptr(72204,72242,1),new IH.ptr(72250,72272,22),new IH.ptr(72284,72329,1),new IH.ptr(72349,72384,35),new IH.ptr(72385,72440,1),new IH.ptr(72704,72712,1),new IH.ptr(72714,72750,1),new IH.ptr(72768,72818,50),new IH.ptr(72819,72847,1),new IH.ptr(72960,72966,1),new IH.ptr(72968,72969,1),new IH.ptr(72971,73008,1),new IH.ptr(73030,73056,26),new IH.ptr(73057,73061,1),new IH.ptr(73063,73064,1),new IH.ptr(73066,73097,1),new IH.ptr(73112,73440,328),new IH.ptr(73441,73458,1),new IH.ptr(73648,73728,80),new IH.ptr(73729,74649,1),new IH.ptr(74880,75075,1),new IH.ptr(77824,78894,1),new IH.ptr(82944,83526,1),new IH.ptr(92160,92728,1),new IH.ptr(92736,92766,1),new IH.ptr(92880,92909,1),new IH.ptr(92928,92975,1),new IH.ptr(93027,93047,1),new IH.ptr(93053,93071,1),new IH.ptr(93952,94026,1),new IH.ptr(94032,94208,176),new IH.ptr(94209,100343,1),new IH.ptr(100352,101589,1),new IH.ptr(101632,101640,1),new IH.ptr(110592,110878,1),new IH.ptr(110928,110930,1),new IH.ptr(110948,110951,1),new IH.ptr(110960,111355,1),new IH.ptr(113664,113770,1),new IH.ptr(113776,113788,1),new IH.ptr(113792,113800,1),new IH.ptr(113808,113817,1),new IH.ptr(123136,123180,1),new IH.ptr(123214,123584,370),new IH.ptr(123585,123627,1),new IH.ptr(124928,125124,1),new IH.ptr(126464,126467,1),new IH.ptr(126469,126495,1),new IH.ptr(126497,126498,1),new IH.ptr(126500,126503,3),new IH.ptr(126505,126514,1),new IH.ptr(126516,126519,1),new IH.ptr(126521,126523,2),new IH.ptr(126530,126535,5),new IH.ptr(126537,126541,2),new IH.ptr(126542,126543,1),new IH.ptr(126545,126546,1),new IH.ptr(126548,126551,3),new IH.ptr(126553,126561,2),new IH.ptr(126562,126564,2),new IH.ptr(126567,126570,1),new IH.ptr(126572,126578,1),new IH.ptr(126580,126583,1),new IH.ptr(126585,126588,1),new IH.ptr(126590,126592,2),new IH.ptr(126593,126601,1),new IH.ptr(126603,126619,1),new IH.ptr(126625,126627,1),new IH.ptr(126629,126633,1),new IH.ptr(126635,126651,1),new IH.ptr(131072,173789,1),new IH.ptr(173824,177972,1),new IH.ptr(177984,178205,1),new IH.ptr(178208,183969,1),new IH.ptr(183984,191456,1),new IH.ptr(194560,195101,1),new IH.ptr(196608,201546,1)]),1);J=new IF.ptr(new JM([new IG.ptr(453,459,3),new IG.ptr(498,8072,7574),new IG.ptr(8073,8079,1),new IG.ptr(8088,8095,1),new IG.ptr(8104,8111,1),new IG.ptr(8124,8140,16),new IG.ptr(8188,8188,1)]),JN.nil,0);K=new IF.ptr(new JM([new IG.ptr(65,90,1),new IG.ptr(192,214,1),new IG.ptr(216,222,1),new IG.ptr(256,310,2),new IG.ptr(313,327,2),new IG.ptr(330,376,2),new IG.ptr(377,381,2),new IG.ptr(385,386,1),new IG.ptr(388,390,2),new IG.ptr(391,393,2),new IG.ptr(394,395,1),new IG.ptr(398,401,1),new IG.ptr(403,404,1),new IG.ptr(406,408,1),new IG.ptr(412,413,1),new IG.ptr(415,416,1),new IG.ptr(418,422,2),new IG.ptr(423,425,2),new IG.ptr(428,430,2),new IG.ptr(431,433,2),new IG.ptr(434,435,1),new IG.ptr(437,439,2),new IG.ptr(440,444,4),new IG.ptr(452,461,3),new IG.ptr(463,475,2),new IG.ptr(478,494,2),new IG.ptr(497,500,3),new IG.ptr(502,504,1),new IG.ptr(506,562,2),new IG.ptr(570,571,1),new IG.ptr(573,574,1),new IG.ptr(577,579,2),new IG.ptr(580,582,1),new IG.ptr(584,590,2),new IG.ptr(880,882,2),new IG.ptr(886,895,9),new IG.ptr(902,904,2),new IG.ptr(905,906,1),new IG.ptr(908,910,2),new IG.ptr(911,913,2),new IG.ptr(914,929,1),new IG.ptr(931,939,1),new IG.ptr(975,978,3),new IG.ptr(979,980,1),new IG.ptr(984,1006,2),new IG.ptr(1012,1015,3),new IG.ptr(1017,1018,1),new IG.ptr(1021,1071,1),new IG.ptr(1120,1152,2),new IG.ptr(1162,1216,2),new IG.ptr(1217,1229,2),new IG.ptr(1232,1326,2),new IG.ptr(1329,1366,1),new IG.ptr(4256,4293,1),new IG.ptr(4295,4301,6),new IG.ptr(5024,5109,1),new IG.ptr(7312,7354,1),new IG.ptr(7357,7359,1),new IG.ptr(7680,7828,2),new IG.ptr(7838,7934,2),new IG.ptr(7944,7951,1),new IG.ptr(7960,7965,1),new IG.ptr(7976,7983,1),new IG.ptr(7992,7999,1),new IG.ptr(8008,8013,1),new IG.ptr(8025,8031,2),new IG.ptr(8040,8047,1),new IG.ptr(8120,8123,1),new IG.ptr(8136,8139,1),new IG.ptr(8152,8155,1),new IG.ptr(8168,8172,1),new IG.ptr(8184,8187,1),new IG.ptr(8450,8455,5),new IG.ptr(8459,8461,1),new IG.ptr(8464,8466,1),new IG.ptr(8469,8473,4),new IG.ptr(8474,8477,1),new IG.ptr(8484,8490,2),new IG.ptr(8491,8493,1),new IG.ptr(8496,8499,1),new IG.ptr(8510,8511,1),new IG.ptr(8517,8579,62),new IG.ptr(11264,11310,1),new IG.ptr(11360,11362,2),new IG.ptr(11363,11364,1),new IG.ptr(11367,11373,2),new IG.ptr(11374,11376,1),new IG.ptr(11378,11381,3),new IG.ptr(11390,11392,1),new IG.ptr(11394,11490,2),new IG.ptr(11499,11501,2),new IG.ptr(11506,42560,31054),new IG.ptr(42562,42604,2),new IG.ptr(42624,42650,2),new IG.ptr(42786,42798,2),new IG.ptr(42802,42862,2),new IG.ptr(42873,42877,2),new IG.ptr(42878,42886,2),new IG.ptr(42891,42893,2),new IG.ptr(42896,42898,2),new IG.ptr(42902,42922,2),new IG.ptr(42923,42926,1),new IG.ptr(42928,42932,1),new IG.ptr(42934,42942,2),new IG.ptr(42946,42948,2),new IG.ptr(42949,42951,1),new IG.ptr(42953,42997,44),new IG.ptr(65313,65338,1)]),new JN([new IH.ptr(66560,66599,1),new IH.ptr(66736,66771,1),new IH.ptr(68736,68786,1),new IH.ptr(71840,71871,1),new IH.ptr(93760,93791,1),new IH.ptr(119808,119833,1),new IH.ptr(119860,119885,1),new IH.ptr(119912,119937,1),new IH.ptr(119964,119966,2),new IH.ptr(119967,119973,3),new IH.ptr(119974,119977,3),new IH.ptr(119978,119980,1),new IH.ptr(119982,119989,1),new IH.ptr(120016,120041,1),new IH.ptr(120068,120069,1),new IH.ptr(120071,120074,1),new IH.ptr(120077,120084,1),new IH.ptr(120086,120092,1),new IH.ptr(120120,120121,1),new IH.ptr(120123,120126,1),new IH.ptr(120128,120132,1),new IH.ptr(120134,120138,4),new IH.ptr(120139,120144,1),new IH.ptr(120172,120197,1),new IH.ptr(120224,120249,1),new IH.ptr(120276,120301,1),new IH.ptr(120328,120353,1),new IH.ptr(120380,120405,1),new IH.ptr(120432,120457,1),new IH.ptr(120488,120512,1),new IH.ptr(120546,120570,1),new IH.ptr(120604,120628,1),new IH.ptr(120662,120686,1),new IH.ptr(120720,120744,1),new IH.ptr(120778,125184,4406),new IH.ptr(125185,125217,1)]),3);L=new IF.ptr(new JM([new IG.ptr(768,879,1),new IG.ptr(1155,1161,1),new IG.ptr(1425,1469,1),new IG.ptr(1471,1473,2),new IG.ptr(1474,1476,2),new IG.ptr(1477,1479,2),new IG.ptr(1552,1562,1),new IG.ptr(1611,1631,1),new IG.ptr(1648,1750,102),new IG.ptr(1751,1756,1),new IG.ptr(1759,1764,1),new IG.ptr(1767,1768,1),new IG.ptr(1770,1773,1),new IG.ptr(1809,1840,31),new IG.ptr(1841,1866,1),new IG.ptr(1958,1968,1),new IG.ptr(2027,2035,1),new IG.ptr(2045,2070,25),new IG.ptr(2071,2073,1),new IG.ptr(2075,2083,1),new IG.ptr(2085,2087,1),new IG.ptr(2089,2093,1),new IG.ptr(2137,2139,1),new IG.ptr(2259,2273,1),new IG.ptr(2275,2307,1),new IG.ptr(2362,2364,1),new IG.ptr(2366,2383,1),new IG.ptr(2385,2391,1),new IG.ptr(2402,2403,1),new IG.ptr(2433,2435,1),new IG.ptr(2492,2494,2),new IG.ptr(2495,2500,1),new IG.ptr(2503,2504,1),new IG.ptr(2507,2509,1),new IG.ptr(2519,2530,11),new IG.ptr(2531,2558,27),new IG.ptr(2561,2563,1),new IG.ptr(2620,2622,2),new IG.ptr(2623,2626,1),new IG.ptr(2631,2632,1),new IG.ptr(2635,2637,1),new IG.ptr(2641,2672,31),new IG.ptr(2673,2677,4),new IG.ptr(2689,2691,1),new IG.ptr(2748,2750,2),new IG.ptr(2751,2757,1),new IG.ptr(2759,2761,1),new IG.ptr(2763,2765,1),new IG.ptr(2786,2787,1),new IG.ptr(2810,2815,1),new IG.ptr(2817,2819,1),new IG.ptr(2876,2878,2),new IG.ptr(2879,2884,1),new IG.ptr(2887,2888,1),new IG.ptr(2891,2893,1),new IG.ptr(2901,2903,1),new IG.ptr(2914,2915,1),new IG.ptr(2946,3006,60),new IG.ptr(3007,3010,1),new IG.ptr(3014,3016,1),new IG.ptr(3018,3021,1),new IG.ptr(3031,3072,41),new IG.ptr(3073,3076,1),new IG.ptr(3134,3140,1),new IG.ptr(3142,3144,1),new IG.ptr(3146,3149,1),new IG.ptr(3157,3158,1),new IG.ptr(3170,3171,1),new IG.ptr(3201,3203,1),new IG.ptr(3260,3262,2),new IG.ptr(3263,3268,1),new IG.ptr(3270,3272,1),new IG.ptr(3274,3277,1),new IG.ptr(3285,3286,1),new IG.ptr(3298,3299,1),new IG.ptr(3328,3331,1),new IG.ptr(3387,3388,1),new IG.ptr(3390,3396,1),new IG.ptr(3398,3400,1),new IG.ptr(3402,3405,1),new IG.ptr(3415,3426,11),new IG.ptr(3427,3457,30),new IG.ptr(3458,3459,1),new IG.ptr(3530,3535,5),new IG.ptr(3536,3540,1),new IG.ptr(3542,3544,2),new IG.ptr(3545,3551,1),new IG.ptr(3570,3571,1),new IG.ptr(3633,3636,3),new IG.ptr(3637,3642,1),new IG.ptr(3655,3662,1),new IG.ptr(3761,3764,3),new IG.ptr(3765,3772,1),new IG.ptr(3784,3789,1),new IG.ptr(3864,3865,1),new IG.ptr(3893,3897,2),new IG.ptr(3902,3903,1),new IG.ptr(3953,3972,1),new IG.ptr(3974,3975,1),new IG.ptr(3981,3991,1),new IG.ptr(3993,4028,1),new IG.ptr(4038,4139,101),new IG.ptr(4140,4158,1),new IG.ptr(4182,4185,1),new IG.ptr(4190,4192,1),new IG.ptr(4194,4196,1),new IG.ptr(4199,4205,1),new IG.ptr(4209,4212,1),new IG.ptr(4226,4237,1),new IG.ptr(4239,4250,11),new IG.ptr(4251,4253,1),new IG.ptr(4957,4959,1),new IG.ptr(5906,5908,1),new IG.ptr(5938,5940,1),new IG.ptr(5970,5971,1),new IG.ptr(6002,6003,1),new IG.ptr(6068,6099,1),new IG.ptr(6109,6155,46),new IG.ptr(6156,6157,1),new IG.ptr(6277,6278,1),new IG.ptr(6313,6432,119),new IG.ptr(6433,6443,1),new IG.ptr(6448,6459,1),new IG.ptr(6679,6683,1),new IG.ptr(6741,6750,1),new IG.ptr(6752,6780,1),new IG.ptr(6783,6832,49),new IG.ptr(6833,6848,1),new IG.ptr(6912,6916,1),new IG.ptr(6964,6980,1),new IG.ptr(7019,7027,1),new IG.ptr(7040,7042,1),new IG.ptr(7073,7085,1),new IG.ptr(7142,7155,1),new IG.ptr(7204,7223,1),new IG.ptr(7376,7378,1),new IG.ptr(7380,7400,1),new IG.ptr(7405,7412,7),new IG.ptr(7415,7417,1),new IG.ptr(7616,7673,1),new IG.ptr(7675,7679,1),new IG.ptr(8400,8432,1),new IG.ptr(11503,11505,1),new IG.ptr(11647,11744,97),new IG.ptr(11745,11775,1),new IG.ptr(12330,12335,1),new IG.ptr(12441,12442,1),new IG.ptr(42607,42610,1),new IG.ptr(42612,42621,1),new IG.ptr(42654,42655,1),new IG.ptr(42736,42737,1),new IG.ptr(43010,43014,4),new IG.ptr(43019,43043,24),new IG.ptr(43044,43047,1),new IG.ptr(43052,43136,84),new IG.ptr(43137,43188,51),new IG.ptr(43189,43205,1),new IG.ptr(43232,43249,1),new IG.ptr(43263,43302,39),new IG.ptr(43303,43309,1),new IG.ptr(43335,43347,1),new IG.ptr(43392,43395,1),new IG.ptr(43443,43456,1),new IG.ptr(43493,43561,68),new IG.ptr(43562,43574,1),new IG.ptr(43587,43596,9),new IG.ptr(43597,43643,46),new IG.ptr(43644,43645,1),new IG.ptr(43696,43698,2),new IG.ptr(43699,43700,1),new IG.ptr(43703,43704,1),new IG.ptr(43710,43711,1),new IG.ptr(43713,43755,42),new IG.ptr(43756,43759,1),new IG.ptr(43765,43766,1),new IG.ptr(44003,44010,1),new IG.ptr(44012,44013,1),new IG.ptr(64286,65024,738),new IG.ptr(65025,65039,1),new IG.ptr(65056,65071,1)]),new JN([new IH.ptr(66045,66272,227),new IH.ptr(66422,66426,1),new IH.ptr(68097,68099,1),new IH.ptr(68101,68102,1),new IH.ptr(68108,68111,1),new IH.ptr(68152,68154,1),new IH.ptr(68159,68325,166),new IH.ptr(68326,68900,574),new IH.ptr(68901,68903,1),new IH.ptr(69291,69292,1),new IH.ptr(69446,69456,1),new IH.ptr(69632,69634,1),new IH.ptr(69688,69702,1),new IH.ptr(69759,69762,1),new IH.ptr(69808,69818,1),new IH.ptr(69888,69890,1),new IH.ptr(69927,69940,1),new IH.ptr(69957,69958,1),new IH.ptr(70003,70016,13),new IH.ptr(70017,70018,1),new IH.ptr(70067,70080,1),new IH.ptr(70089,70092,1),new IH.ptr(70094,70095,1),new IH.ptr(70188,70199,1),new IH.ptr(70206,70367,161),new IH.ptr(70368,70378,1),new IH.ptr(70400,70403,1),new IH.ptr(70459,70460,1),new IH.ptr(70462,70468,1),new IH.ptr(70471,70472,1),new IH.ptr(70475,70477,1),new IH.ptr(70487,70498,11),new IH.ptr(70499,70502,3),new IH.ptr(70503,70508,1),new IH.ptr(70512,70516,1),new IH.ptr(70709,70726,1),new IH.ptr(70750,70832,82),new IH.ptr(70833,70851,1),new IH.ptr(71087,71093,1),new IH.ptr(71096,71104,1),new IH.ptr(71132,71133,1),new IH.ptr(71216,71232,1),new IH.ptr(71339,71351,1),new IH.ptr(71453,71467,1),new IH.ptr(71724,71738,1),new IH.ptr(71984,71989,1),new IH.ptr(71991,71992,1),new IH.ptr(71995,71998,1),new IH.ptr(72000,72002,2),new IH.ptr(72003,72145,142),new IH.ptr(72146,72151,1),new IH.ptr(72154,72160,1),new IH.ptr(72164,72193,29),new IH.ptr(72194,72202,1),new IH.ptr(72243,72249,1),new IH.ptr(72251,72254,1),new IH.ptr(72263,72273,10),new IH.ptr(72274,72283,1),new IH.ptr(72330,72345,1),new IH.ptr(72751,72758,1),new IH.ptr(72760,72767,1),new IH.ptr(72850,72871,1),new IH.ptr(72873,72886,1),new IH.ptr(73009,73014,1),new IH.ptr(73018,73020,2),new IH.ptr(73021,73023,2),new IH.ptr(73024,73029,1),new IH.ptr(73031,73098,67),new IH.ptr(73099,73102,1),new IH.ptr(73104,73105,1),new IH.ptr(73107,73111,1),new IH.ptr(73459,73462,1),new IH.ptr(92912,92916,1),new IH.ptr(92976,92982,1),new IH.ptr(94031,94033,2),new IH.ptr(94034,94087,1),new IH.ptr(94095,94098,1),new IH.ptr(94180,94192,12),new IH.ptr(94193,113821,19628),new IH.ptr(113822,119141,5319),new IH.ptr(119142,119145,1),new IH.ptr(119149,119154,1),new IH.ptr(119163,119170,1),new IH.ptr(119173,119179,1),new IH.ptr(119210,119213,1),new IH.ptr(119362,119364,1),new IH.ptr(121344,121398,1),new IH.ptr(121403,121452,1),new IH.ptr(121461,121476,15),new IH.ptr(121499,121503,1),new IH.ptr(121505,121519,1),new IH.ptr(122880,122886,1),new IH.ptr(122888,122904,1),new IH.ptr(122907,122913,1),new IH.ptr(122915,122916,1),new IH.ptr(122918,122922,1),new IH.ptr(123184,123190,1),new IH.ptr(123628,123631,1),new IH.ptr(125136,125142,1),new IH.ptr(125252,125258,1),new IH.ptr(917760,917999,1)]),0);M=new IF.ptr(new JM([new IG.ptr(2307,2363,56),new IG.ptr(2366,2368,1),new IG.ptr(2377,2380,1),new IG.ptr(2382,2383,1),new IG.ptr(2434,2435,1),new IG.ptr(2494,2496,1),new IG.ptr(2503,2504,1),new IG.ptr(2507,2508,1),new IG.ptr(2519,2563,44),new IG.ptr(2622,2624,1),new IG.ptr(2691,2750,59),new IG.ptr(2751,2752,1),new IG.ptr(2761,2763,2),new IG.ptr(2764,2818,54),new IG.ptr(2819,2878,59),new IG.ptr(2880,2887,7),new IG.ptr(2888,2891,3),new IG.ptr(2892,2903,11),new IG.ptr(3006,3007,1),new IG.ptr(3009,3010,1),new IG.ptr(3014,3016,1),new IG.ptr(3018,3020,1),new IG.ptr(3031,3073,42),new IG.ptr(3074,3075,1),new IG.ptr(3137,3140,1),new IG.ptr(3202,3203,1),new IG.ptr(3262,3264,2),new IG.ptr(3265,3268,1),new IG.ptr(3271,3272,1),new IG.ptr(3274,3275,1),new IG.ptr(3285,3286,1),new IG.ptr(3330,3331,1),new IG.ptr(3390,3392,1),new IG.ptr(3398,3400,1),new IG.ptr(3402,3404,1),new IG.ptr(3415,3458,43),new IG.ptr(3459,3535,76),new IG.ptr(3536,3537,1),new IG.ptr(3544,3551,1),new IG.ptr(3570,3571,1),new IG.ptr(3902,3903,1),new IG.ptr(3967,4139,172),new IG.ptr(4140,4145,5),new IG.ptr(4152,4155,3),new IG.ptr(4156,4182,26),new IG.ptr(4183,4194,11),new IG.ptr(4195,4196,1),new IG.ptr(4199,4205,1),new IG.ptr(4227,4228,1),new IG.ptr(4231,4236,1),new IG.ptr(4239,4250,11),new IG.ptr(4251,4252,1),new IG.ptr(6070,6078,8),new IG.ptr(6079,6085,1),new IG.ptr(6087,6088,1),new IG.ptr(6435,6438,1),new IG.ptr(6441,6443,1),new IG.ptr(6448,6449,1),new IG.ptr(6451,6456,1),new IG.ptr(6681,6682,1),new IG.ptr(6741,6743,2),new IG.ptr(6753,6755,2),new IG.ptr(6756,6765,9),new IG.ptr(6766,6770,1),new IG.ptr(6916,6965,49),new IG.ptr(6971,6973,2),new IG.ptr(6974,6977,1),new IG.ptr(6979,6980,1),new IG.ptr(7042,7073,31),new IG.ptr(7078,7079,1),new IG.ptr(7082,7143,61),new IG.ptr(7146,7148,1),new IG.ptr(7150,7154,4),new IG.ptr(7155,7204,49),new IG.ptr(7205,7211,1),new IG.ptr(7220,7221,1),new IG.ptr(7393,7415,22),new IG.ptr(12334,12335,1),new IG.ptr(43043,43044,1),new IG.ptr(43047,43136,89),new IG.ptr(43137,43188,51),new IG.ptr(43189,43203,1),new IG.ptr(43346,43347,1),new IG.ptr(43395,43444,49),new IG.ptr(43445,43450,5),new IG.ptr(43451,43454,3),new IG.ptr(43455,43456,1),new IG.ptr(43567,43568,1),new IG.ptr(43571,43572,1),new IG.ptr(43597,43643,46),new IG.ptr(43645,43755,110),new IG.ptr(43758,43759,1),new IG.ptr(43765,44003,238),new IG.ptr(44004,44006,2),new IG.ptr(44007,44009,2),new IG.ptr(44010,44012,2)]),new JN([new IH.ptr(69632,69634,2),new IH.ptr(69762,69808,46),new IH.ptr(69809,69810,1),new IH.ptr(69815,69816,1),new IH.ptr(69932,69957,25),new IH.ptr(69958,70018,60),new IH.ptr(70067,70069,1),new IH.ptr(70079,70080,1),new IH.ptr(70094,70188,94),new IH.ptr(70189,70190,1),new IH.ptr(70194,70195,1),new IH.ptr(70197,70368,171),new IH.ptr(70369,70370,1),new IH.ptr(70402,70403,1),new IH.ptr(70462,70463,1),new IH.ptr(70465,70468,1),new IH.ptr(70471,70472,1),new IH.ptr(70475,70477,1),new IH.ptr(70487,70498,11),new IH.ptr(70499,70709,210),new IH.ptr(70710,70711,1),new IH.ptr(70720,70721,1),new IH.ptr(70725,70832,107),new IH.ptr(70833,70834,1),new IH.ptr(70841,70843,2),new IH.ptr(70844,70846,1),new IH.ptr(70849,71087,238),new IH.ptr(71088,71089,1),new IH.ptr(71096,71099,1),new IH.ptr(71102,71216,114),new IH.ptr(71217,71218,1),new IH.ptr(71227,71228,1),new IH.ptr(71230,71340,110),new IH.ptr(71342,71343,1),new IH.ptr(71350,71456,106),new IH.ptr(71457,71462,5),new IH.ptr(71724,71726,1),new IH.ptr(71736,71984,248),new IH.ptr(71985,71989,1),new IH.ptr(71991,71992,1),new IH.ptr(71997,72000,3),new IH.ptr(72002,72145,143),new IH.ptr(72146,72147,1),new IH.ptr(72156,72159,1),new IH.ptr(72164,72249,85),new IH.ptr(72279,72280,1),new IH.ptr(72343,72751,408),new IH.ptr(72766,72873,107),new IH.ptr(72881,72884,3),new IH.ptr(73098,73102,1),new IH.ptr(73107,73108,1),new IH.ptr(73110,73461,351),new IH.ptr(73462,94033,20571),new IH.ptr(94034,94087,1),new IH.ptr(94192,94193,1),new IH.ptr(119141,119142,1),new IH.ptr(119149,119154,1)]),0);N=new IF.ptr(new JM([new IG.ptr(1160,1161,1),new IG.ptr(6846,8413,1567),new IG.ptr(8414,8416,1),new IG.ptr(8418,8420,1),new IG.ptr(42608,42610,1)]),JN.nil,0);O=new IF.ptr(new JM([new IG.ptr(768,879,1),new IG.ptr(1155,1159,1),new IG.ptr(1425,1469,1),new IG.ptr(1471,1473,2),new IG.ptr(1474,1476,2),new IG.ptr(1477,1479,2),new IG.ptr(1552,1562,1),new IG.ptr(1611,1631,1),new IG.ptr(1648,1750,102),new IG.ptr(1751,1756,1),new IG.ptr(1759,1764,1),new IG.ptr(1767,1768,1),new IG.ptr(1770,1773,1),new IG.ptr(1809,1840,31),new IG.ptr(1841,1866,1),new IG.ptr(1958,1968,1),new IG.ptr(2027,2035,1),new IG.ptr(2045,2070,25),new IG.ptr(2071,2073,1),new IG.ptr(2075,2083,1),new IG.ptr(2085,2087,1),new IG.ptr(2089,2093,1),new IG.ptr(2137,2139,1),new IG.ptr(2259,2273,1),new IG.ptr(2275,2306,1),new IG.ptr(2362,2364,2),new IG.ptr(2369,2376,1),new IG.ptr(2381,2385,4),new IG.ptr(2386,2391,1),new IG.ptr(2402,2403,1),new IG.ptr(2433,2492,59),new IG.ptr(2497,2500,1),new IG.ptr(2509,2530,21),new IG.ptr(2531,2558,27),new IG.ptr(2561,2562,1),new IG.ptr(2620,2625,5),new IG.ptr(2626,2631,5),new IG.ptr(2632,2635,3),new IG.ptr(2636,2637,1),new IG.ptr(2641,2672,31),new IG.ptr(2673,2677,4),new IG.ptr(2689,2690,1),new IG.ptr(2748,2753,5),new IG.ptr(2754,2757,1),new IG.ptr(2759,2760,1),new IG.ptr(2765,2786,21),new IG.ptr(2787,2810,23),new IG.ptr(2811,2815,1),new IG.ptr(2817,2876,59),new IG.ptr(2879,2881,2),new IG.ptr(2882,2884,1),new IG.ptr(2893,2901,8),new IG.ptr(2902,2914,12),new IG.ptr(2915,2946,31),new IG.ptr(3008,3021,13),new IG.ptr(3072,3076,4),new IG.ptr(3134,3136,1),new IG.ptr(3142,3144,1),new IG.ptr(3146,3149,1),new IG.ptr(3157,3158,1),new IG.ptr(3170,3171,1),new IG.ptr(3201,3260,59),new IG.ptr(3263,3270,7),new IG.ptr(3276,3277,1),new IG.ptr(3298,3299,1),new IG.ptr(3328,3329,1),new IG.ptr(3387,3388,1),new IG.ptr(3393,3396,1),new IG.ptr(3405,3426,21),new IG.ptr(3427,3457,30),new IG.ptr(3530,3538,8),new IG.ptr(3539,3540,1),new IG.ptr(3542,3633,91),new IG.ptr(3636,3642,1),new IG.ptr(3655,3662,1),new IG.ptr(3761,3764,3),new IG.ptr(3765,3772,1),new IG.ptr(3784,3789,1),new IG.ptr(3864,3865,1),new IG.ptr(3893,3897,2),new IG.ptr(3953,3966,1),new IG.ptr(3968,3972,1),new IG.ptr(3974,3975,1),new IG.ptr(3981,3991,1),new IG.ptr(3993,4028,1),new IG.ptr(4038,4141,103),new IG.ptr(4142,4144,1),new IG.ptr(4146,4151,1),new IG.ptr(4153,4154,1),new IG.ptr(4157,4158,1),new IG.ptr(4184,4185,1),new IG.ptr(4190,4192,1),new IG.ptr(4209,4212,1),new IG.ptr(4226,4229,3),new IG.ptr(4230,4237,7),new IG.ptr(4253,4957,704),new IG.ptr(4958,4959,1),new IG.ptr(5906,5908,1),new IG.ptr(5938,5940,1),new IG.ptr(5970,5971,1),new IG.ptr(6002,6003,1),new IG.ptr(6068,6069,1),new IG.ptr(6071,6077,1),new IG.ptr(6086,6089,3),new IG.ptr(6090,6099,1),new IG.ptr(6109,6155,46),new IG.ptr(6156,6157,1),new IG.ptr(6277,6278,1),new IG.ptr(6313,6432,119),new IG.ptr(6433,6434,1),new IG.ptr(6439,6440,1),new IG.ptr(6450,6457,7),new IG.ptr(6458,6459,1),new IG.ptr(6679,6680,1),new IG.ptr(6683,6742,59),new IG.ptr(6744,6750,1),new IG.ptr(6752,6754,2),new IG.ptr(6757,6764,1),new IG.ptr(6771,6780,1),new IG.ptr(6783,6832,49),new IG.ptr(6833,6845,1),new IG.ptr(6847,6848,1),new IG.ptr(6912,6915,1),new IG.ptr(6964,6966,2),new IG.ptr(6967,6970,1),new IG.ptr(6972,6978,6),new IG.ptr(7019,7027,1),new IG.ptr(7040,7041,1),new IG.ptr(7074,7077,1),new IG.ptr(7080,7081,1),new IG.ptr(7083,7085,1),new IG.ptr(7142,7144,2),new IG.ptr(7145,7149,4),new IG.ptr(7151,7153,1),new IG.ptr(7212,7219,1),new IG.ptr(7222,7223,1),new IG.ptr(7376,7378,1),new IG.ptr(7380,7392,1),new IG.ptr(7394,7400,1),new IG.ptr(7405,7412,7),new IG.ptr(7416,7417,1),new IG.ptr(7616,7673,1),new IG.ptr(7675,7679,1),new IG.ptr(8400,8412,1),new IG.ptr(8417,8421,4),new IG.ptr(8422,8432,1),new IG.ptr(11503,11505,1),new IG.ptr(11647,11744,97),new IG.ptr(11745,11775,1),new IG.ptr(12330,12333,1),new IG.ptr(12441,12442,1),new IG.ptr(42607,42612,5),new IG.ptr(42613,42621,1),new IG.ptr(42654,42655,1),new IG.ptr(42736,42737,1),new IG.ptr(43010,43014,4),new IG.ptr(43019,43045,26),new IG.ptr(43046,43052,6),new IG.ptr(43204,43205,1),new IG.ptr(43232,43249,1),new IG.ptr(43263,43302,39),new IG.ptr(43303,43309,1),new IG.ptr(43335,43345,1),new IG.ptr(43392,43394,1),new IG.ptr(43443,43446,3),new IG.ptr(43447,43449,1),new IG.ptr(43452,43453,1),new IG.ptr(43493,43561,68),new IG.ptr(43562,43566,1),new IG.ptr(43569,43570,1),new IG.ptr(43573,43574,1),new IG.ptr(43587,43596,9),new IG.ptr(43644,43696,52),new IG.ptr(43698,43700,1),new IG.ptr(43703,43704,1),new IG.ptr(43710,43711,1),new IG.ptr(43713,43756,43),new IG.ptr(43757,43766,9),new IG.ptr(44005,44008,3),new IG.ptr(44013,64286,20273),new IG.ptr(65024,65039,1),new IG.ptr(65056,65071,1)]),new JN([new IH.ptr(66045,66272,227),new IH.ptr(66422,66426,1),new IH.ptr(68097,68099,1),new IH.ptr(68101,68102,1),new IH.ptr(68108,68111,1),new IH.ptr(68152,68154,1),new IH.ptr(68159,68325,166),new IH.ptr(68326,68900,574),new IH.ptr(68901,68903,1),new IH.ptr(69291,69292,1),new IH.ptr(69446,69456,1),new IH.ptr(69633,69688,55),new IH.ptr(69689,69702,1),new IH.ptr(69759,69761,1),new IH.ptr(69811,69814,1),new IH.ptr(69817,69818,1),new IH.ptr(69888,69890,1),new IH.ptr(69927,69931,1),new IH.ptr(69933,69940,1),new IH.ptr(70003,70016,13),new IH.ptr(70017,70070,53),new IH.ptr(70071,70078,1),new IH.ptr(70089,70092,1),new IH.ptr(70095,70191,96),new IH.ptr(70192,70193,1),new IH.ptr(70196,70198,2),new IH.ptr(70199,70206,7),new IH.ptr(70367,70371,4),new IH.ptr(70372,70378,1),new IH.ptr(70400,70401,1),new IH.ptr(70459,70460,1),new IH.ptr(70464,70502,38),new IH.ptr(70503,70508,1),new IH.ptr(70512,70516,1),new IH.ptr(70712,70719,1),new IH.ptr(70722,70724,1),new IH.ptr(70726,70750,24),new IH.ptr(70835,70840,1),new IH.ptr(70842,70847,5),new IH.ptr(70848,70850,2),new IH.ptr(70851,71090,239),new IH.ptr(71091,71093,1),new IH.ptr(71100,71101,1),new IH.ptr(71103,71104,1),new IH.ptr(71132,71133,1),new IH.ptr(71219,71226,1),new IH.ptr(71229,71231,2),new IH.ptr(71232,71339,107),new IH.ptr(71341,71344,3),new IH.ptr(71345,71349,1),new IH.ptr(71351,71453,102),new IH.ptr(71454,71455,1),new IH.ptr(71458,71461,1),new IH.ptr(71463,71467,1),new IH.ptr(71727,71735,1),new IH.ptr(71737,71738,1),new IH.ptr(71995,71996,1),new IH.ptr(71998,72003,5),new IH.ptr(72148,72151,1),new IH.ptr(72154,72155,1),new IH.ptr(72160,72193,33),new IH.ptr(72194,72202,1),new IH.ptr(72243,72248,1),new IH.ptr(72251,72254,1),new IH.ptr(72263,72273,10),new IH.ptr(72274,72278,1),new IH.ptr(72281,72283,1),new IH.ptr(72330,72342,1),new IH.ptr(72344,72345,1),new IH.ptr(72752,72758,1),new IH.ptr(72760,72765,1),new IH.ptr(72767,72850,83),new IH.ptr(72851,72871,1),new IH.ptr(72874,72880,1),new IH.ptr(72882,72883,1),new IH.ptr(72885,72886,1),new IH.ptr(73009,73014,1),new IH.ptr(73018,73020,2),new IH.ptr(73021,73023,2),new IH.ptr(73024,73029,1),new IH.ptr(73031,73104,73),new IH.ptr(73105,73109,4),new IH.ptr(73111,73459,348),new IH.ptr(73460,92912,19452),new IH.ptr(92913,92916,1),new IH.ptr(92976,92982,1),new IH.ptr(94031,94095,64),new IH.ptr(94096,94098,1),new IH.ptr(94180,113821,19641),new IH.ptr(113822,119143,5321),new IH.ptr(119144,119145,1),new IH.ptr(119163,119170,1),new IH.ptr(119173,119179,1),new IH.ptr(119210,119213,1),new IH.ptr(119362,119364,1),new IH.ptr(121344,121398,1),new IH.ptr(121403,121452,1),new IH.ptr(121461,121476,15),new IH.ptr(121499,121503,1),new IH.ptr(121505,121519,1),new IH.ptr(122880,122886,1),new IH.ptr(122888,122904,1),new IH.ptr(122907,122913,1),new IH.ptr(122915,122916,1),new IH.ptr(122918,122922,1),new IH.ptr(123184,123190,1),new IH.ptr(123628,123631,1),new IH.ptr(125136,125142,1),new IH.ptr(125252,125258,1),new IH.ptr(917760,917999,1)]),0);P=new IF.ptr(new JM([new IG.ptr(48,57,1),new IG.ptr(178,179,1),new IG.ptr(185,188,3),new IG.ptr(189,190,1),new IG.ptr(1632,1641,1),new IG.ptr(1776,1785,1),new IG.ptr(1984,1993,1),new IG.ptr(2406,2415,1),new IG.ptr(2534,2543,1),new IG.ptr(2548,2553,1),new IG.ptr(2662,2671,1),new IG.ptr(2790,2799,1),new IG.ptr(2918,2927,1),new IG.ptr(2930,2935,1),new IG.ptr(3046,3058,1),new IG.ptr(3174,3183,1),new IG.ptr(3192,3198,1),new IG.ptr(3302,3311,1),new IG.ptr(3416,3422,1),new IG.ptr(3430,3448,1),new IG.ptr(3558,3567,1),new IG.ptr(3664,3673,1),new IG.ptr(3792,3801,1),new IG.ptr(3872,3891,1),new IG.ptr(4160,4169,1),new IG.ptr(4240,4249,1),new IG.ptr(4969,4988,1),new IG.ptr(5870,5872,1),new IG.ptr(6112,6121,1),new IG.ptr(6128,6137,1),new IG.ptr(6160,6169,1),new IG.ptr(6470,6479,1),new IG.ptr(6608,6618,1),new IG.ptr(6784,6793,1),new IG.ptr(6800,6809,1),new IG.ptr(6992,7001,1),new IG.ptr(7088,7097,1),new IG.ptr(7232,7241,1),new IG.ptr(7248,7257,1),new IG.ptr(8304,8308,4),new IG.ptr(8309,8313,1),new IG.ptr(8320,8329,1),new IG.ptr(8528,8578,1),new IG.ptr(8581,8585,1),new IG.ptr(9312,9371,1),new IG.ptr(9450,9471,1),new IG.ptr(10102,10131,1),new IG.ptr(11517,12295,778),new IG.ptr(12321,12329,1),new IG.ptr(12344,12346,1),new IG.ptr(12690,12693,1),new IG.ptr(12832,12841,1),new IG.ptr(12872,12879,1),new IG.ptr(12881,12895,1),new IG.ptr(12928,12937,1),new IG.ptr(12977,12991,1),new IG.ptr(42528,42537,1),new IG.ptr(42726,42735,1),new IG.ptr(43056,43061,1),new IG.ptr(43216,43225,1),new IG.ptr(43264,43273,1),new IG.ptr(43472,43481,1),new IG.ptr(43504,43513,1),new IG.ptr(43600,43609,1),new IG.ptr(44016,44025,1),new IG.ptr(65296,65305,1)]),new JN([new IH.ptr(65799,65843,1),new IH.ptr(65856,65912,1),new IH.ptr(65930,65931,1),new IH.ptr(66273,66299,1),new IH.ptr(66336,66339,1),new IH.ptr(66369,66378,9),new IH.ptr(66513,66517,1),new IH.ptr(66720,66729,1),new IH.ptr(67672,67679,1),new IH.ptr(67705,67711,1),new IH.ptr(67751,67759,1),new IH.ptr(67835,67839,1),new IH.ptr(67862,67867,1),new IH.ptr(68028,68029,1),new IH.ptr(68032,68047,1),new IH.ptr(68050,68095,1),new IH.ptr(68160,68168,1),new IH.ptr(68221,68222,1),new IH.ptr(68253,68255,1),new IH.ptr(68331,68335,1),new IH.ptr(68440,68447,1),new IH.ptr(68472,68479,1),new IH.ptr(68521,68527,1),new IH.ptr(68858,68863,1),new IH.ptr(68912,68921,1),new IH.ptr(69216,69246,1),new IH.ptr(69405,69414,1),new IH.ptr(69457,69460,1),new IH.ptr(69573,69579,1),new IH.ptr(69714,69743,1),new IH.ptr(69872,69881,1),new IH.ptr(69942,69951,1),new IH.ptr(70096,70105,1),new IH.ptr(70113,70132,1),new IH.ptr(70384,70393,1),new IH.ptr(70736,70745,1),new IH.ptr(70864,70873,1),new IH.ptr(71248,71257,1),new IH.ptr(71360,71369,1),new IH.ptr(71472,71483,1),new IH.ptr(71904,71922,1),new IH.ptr(72016,72025,1),new IH.ptr(72784,72812,1),new IH.ptr(73040,73049,1),new IH.ptr(73120,73129,1),new IH.ptr(73664,73684,1),new IH.ptr(74752,74862,1),new IH.ptr(92768,92777,1),new IH.ptr(93008,93017,1),new IH.ptr(93019,93025,1),new IH.ptr(93824,93846,1),new IH.ptr(119520,119539,1),new IH.ptr(119648,119672,1),new IH.ptr(120782,120831,1),new IH.ptr(123200,123209,1),new IH.ptr(123632,123641,1),new IH.ptr(125127,125135,1),new IH.ptr(125264,125273,1),new IH.ptr(126065,126123,1),new IH.ptr(126125,126127,1),new IH.ptr(126129,126132,1),new IH.ptr(126209,126253,1),new IH.ptr(126255,126269,1),new IH.ptr(127232,127244,1),new IH.ptr(130032,130041,1)]),4);Q=new IF.ptr(new JM([new IG.ptr(48,57,1),new IG.ptr(1632,1641,1),new IG.ptr(1776,1785,1),new IG.ptr(1984,1993,1),new IG.ptr(2406,2415,1),new IG.ptr(2534,2543,1),new IG.ptr(2662,2671,1),new IG.ptr(2790,2799,1),new IG.ptr(2918,2927,1),new IG.ptr(3046,3055,1),new IG.ptr(3174,3183,1),new IG.ptr(3302,3311,1),new IG.ptr(3430,3439,1),new IG.ptr(3558,3567,1),new IG.ptr(3664,3673,1),new IG.ptr(3792,3801,1),new IG.ptr(3872,3881,1),new IG.ptr(4160,4169,1),new IG.ptr(4240,4249,1),new IG.ptr(6112,6121,1),new IG.ptr(6160,6169,1),new IG.ptr(6470,6479,1),new IG.ptr(6608,6617,1),new IG.ptr(6784,6793,1),new IG.ptr(6800,6809,1),new IG.ptr(6992,7001,1),new IG.ptr(7088,7097,1),new IG.ptr(7232,7241,1),new IG.ptr(7248,7257,1),new IG.ptr(42528,42537,1),new IG.ptr(43216,43225,1),new IG.ptr(43264,43273,1),new IG.ptr(43472,43481,1),new IG.ptr(43504,43513,1),new IG.ptr(43600,43609,1),new IG.ptr(44016,44025,1),new IG.ptr(65296,65305,1)]),new JN([new IH.ptr(66720,66729,1),new IH.ptr(68912,68921,1),new IH.ptr(69734,69743,1),new IH.ptr(69872,69881,1),new IH.ptr(69942,69951,1),new IH.ptr(70096,70105,1),new IH.ptr(70384,70393,1),new IH.ptr(70736,70745,1),new IH.ptr(70864,70873,1),new IH.ptr(71248,71257,1),new IH.ptr(71360,71369,1),new IH.ptr(71472,71481,1),new IH.ptr(71904,71913,1),new IH.ptr(72016,72025,1),new IH.ptr(72784,72793,1),new IH.ptr(73040,73049,1),new IH.ptr(73120,73129,1),new IH.ptr(92768,92777,1),new IH.ptr(93008,93017,1),new IH.ptr(120782,120831,1),new IH.ptr(123200,123209,1),new IH.ptr(123632,123641,1),new IH.ptr(125264,125273,1),new IH.ptr(130032,130041,1)]),1);R=new IF.ptr(new JM([new IG.ptr(5870,5872,1),new IG.ptr(8544,8578,1),new IG.ptr(8581,8584,1),new IG.ptr(12295,12321,26),new IG.ptr(12322,12329,1),new IG.ptr(12344,12346,1),new IG.ptr(42726,42735,1)]),new JN([new IH.ptr(65856,65908,1),new IH.ptr(66369,66378,9),new IH.ptr(66513,66517,1),new IH.ptr(74752,74862,1)]),0);S=new IF.ptr(new JM([new IG.ptr(178,179,1),new IG.ptr(185,188,3),new IG.ptr(189,190,1),new IG.ptr(2548,2553,1),new IG.ptr(2930,2935,1),new IG.ptr(3056,3058,1),new IG.ptr(3192,3198,1),new IG.ptr(3416,3422,1),new IG.ptr(3440,3448,1),new IG.ptr(3882,3891,1),new IG.ptr(4969,4988,1),new IG.ptr(6128,6137,1),new IG.ptr(6618,8304,1686),new IG.ptr(8308,8313,1),new IG.ptr(8320,8329,1),new IG.ptr(8528,8543,1),new IG.ptr(8585,9312,727),new IG.ptr(9313,9371,1),new IG.ptr(9450,9471,1),new IG.ptr(10102,10131,1),new IG.ptr(11517,12690,1173),new IG.ptr(12691,12693,1),new IG.ptr(12832,12841,1),new IG.ptr(12872,12879,1),new IG.ptr(12881,12895,1),new IG.ptr(12928,12937,1),new IG.ptr(12977,12991,1),new IG.ptr(43056,43061,1)]),new JN([new IH.ptr(65799,65843,1),new IH.ptr(65909,65912,1),new IH.ptr(65930,65931,1),new IH.ptr(66273,66299,1),new IH.ptr(66336,66339,1),new IH.ptr(67672,67679,1),new IH.ptr(67705,67711,1),new IH.ptr(67751,67759,1),new IH.ptr(67835,67839,1),new IH.ptr(67862,67867,1),new IH.ptr(68028,68029,1),new IH.ptr(68032,68047,1),new IH.ptr(68050,68095,1),new IH.ptr(68160,68168,1),new IH.ptr(68221,68222,1),new IH.ptr(68253,68255,1),new IH.ptr(68331,68335,1),new IH.ptr(68440,68447,1),new IH.ptr(68472,68479,1),new IH.ptr(68521,68527,1),new IH.ptr(68858,68863,1),new IH.ptr(69216,69246,1),new IH.ptr(69405,69414,1),new IH.ptr(69457,69460,1),new IH.ptr(69573,69579,1),new IH.ptr(69714,69733,1),new IH.ptr(70113,70132,1),new IH.ptr(71482,71483,1),new IH.ptr(71914,71922,1),new IH.ptr(72794,72812,1),new IH.ptr(73664,73684,1),new IH.ptr(93019,93025,1),new IH.ptr(93824,93846,1),new IH.ptr(119520,119539,1),new IH.ptr(119648,119672,1),new IH.ptr(125127,125135,1),new IH.ptr(126065,126123,1),new IH.ptr(126125,126127,1),new IH.ptr(126129,126132,1),new IH.ptr(126209,126253,1),new IH.ptr(126255,126269,1),new IH.ptr(127232,127244,1)]),3);T=new IF.ptr(new JM([new IG.ptr(33,35,1),new IG.ptr(37,42,1),new IG.ptr(44,47,1),new IG.ptr(58,59,1),new IG.ptr(63,64,1),new IG.ptr(91,93,1),new IG.ptr(95,123,28),new IG.ptr(125,161,36),new IG.ptr(167,171,4),new IG.ptr(182,183,1),new IG.ptr(187,191,4),new IG.ptr(894,903,9),new IG.ptr(1370,1375,1),new IG.ptr(1417,1418,1),new IG.ptr(1470,1472,2),new IG.ptr(1475,1478,3),new IG.ptr(1523,1524,1),new IG.ptr(1545,1546,1),new IG.ptr(1548,1549,1),new IG.ptr(1563,1566,3),new IG.ptr(1567,1642,75),new IG.ptr(1643,1645,1),new IG.ptr(1748,1792,44),new IG.ptr(1793,1805,1),new IG.ptr(2039,2041,1),new IG.ptr(2096,2110,1),new IG.ptr(2142,2404,262),new IG.ptr(2405,2416,11),new IG.ptr(2557,2678,121),new IG.ptr(2800,3191,391),new IG.ptr(3204,3572,368),new IG.ptr(3663,3674,11),new IG.ptr(3675,3844,169),new IG.ptr(3845,3858,1),new IG.ptr(3860,3898,38),new IG.ptr(3899,3901,1),new IG.ptr(3973,4048,75),new IG.ptr(4049,4052,1),new IG.ptr(4057,4058,1),new IG.ptr(4170,4175,1),new IG.ptr(4347,4960,613),new IG.ptr(4961,4968,1),new IG.ptr(5120,5742,622),new IG.ptr(5787,5788,1),new IG.ptr(5867,5869,1),new IG.ptr(5941,5942,1),new IG.ptr(6100,6102,1),new IG.ptr(6104,6106,1),new IG.ptr(6144,6154,1),new IG.ptr(6468,6469,1),new IG.ptr(6686,6687,1),new IG.ptr(6816,6822,1),new IG.ptr(6824,6829,1),new IG.ptr(7002,7008,1),new IG.ptr(7164,7167,1),new IG.ptr(7227,7231,1),new IG.ptr(7294,7295,1),new IG.ptr(7360,7367,1),new IG.ptr(7379,8208,829),new IG.ptr(8209,8231,1),new IG.ptr(8240,8259,1),new IG.ptr(8261,8273,1),new IG.ptr(8275,8286,1),new IG.ptr(8317,8318,1),new IG.ptr(8333,8334,1),new IG.ptr(8968,8971,1),new IG.ptr(9001,9002,1),new IG.ptr(10088,10101,1),new IG.ptr(10181,10182,1),new IG.ptr(10214,10223,1),new IG.ptr(10627,10648,1),new IG.ptr(10712,10715,1),new IG.ptr(10748,10749,1),new IG.ptr(11513,11516,1),new IG.ptr(11518,11519,1),new IG.ptr(11632,11776,144),new IG.ptr(11777,11822,1),new IG.ptr(11824,11855,1),new IG.ptr(11858,12289,431),new IG.ptr(12290,12291,1),new IG.ptr(12296,12305,1),new IG.ptr(12308,12319,1),new IG.ptr(12336,12349,13),new IG.ptr(12448,12539,91),new IG.ptr(42238,42239,1),new IG.ptr(42509,42511,1),new IG.ptr(42611,42622,11),new IG.ptr(42738,42743,1),new IG.ptr(43124,43127,1),new IG.ptr(43214,43215,1),new IG.ptr(43256,43258,1),new IG.ptr(43260,43310,50),new IG.ptr(43311,43359,48),new IG.ptr(43457,43469,1),new IG.ptr(43486,43487,1),new IG.ptr(43612,43615,1),new IG.ptr(43742,43743,1),new IG.ptr(43760,43761,1),new IG.ptr(44011,64830,20819),new IG.ptr(64831,65040,209),new IG.ptr(65041,65049,1),new IG.ptr(65072,65106,1),new IG.ptr(65108,65121,1),new IG.ptr(65123,65128,5),new IG.ptr(65130,65131,1),new IG.ptr(65281,65283,1),new IG.ptr(65285,65290,1),new IG.ptr(65292,65295,1),new IG.ptr(65306,65307,1),new IG.ptr(65311,65312,1),new IG.ptr(65339,65341,1),new IG.ptr(65343,65371,28),new IG.ptr(65373,65375,2),new IG.ptr(65376,65381,1)]),new JN([new IH.ptr(65792,65794,1),new IH.ptr(66463,66512,49),new IH.ptr(66927,67671,744),new IH.ptr(67871,67903,32),new IH.ptr(68176,68184,1),new IH.ptr(68223,68336,113),new IH.ptr(68337,68342,1),new IH.ptr(68409,68415,1),new IH.ptr(68505,68508,1),new IH.ptr(69293,69461,168),new IH.ptr(69462,69465,1),new IH.ptr(69703,69709,1),new IH.ptr(69819,69820,1),new IH.ptr(69822,69825,1),new IH.ptr(69952,69955,1),new IH.ptr(70004,70005,1),new IH.ptr(70085,70088,1),new IH.ptr(70093,70107,14),new IH.ptr(70109,70111,1),new IH.ptr(70200,70205,1),new IH.ptr(70313,70731,418),new IH.ptr(70732,70735,1),new IH.ptr(70746,70747,1),new IH.ptr(70749,70854,105),new IH.ptr(71105,71127,1),new IH.ptr(71233,71235,1),new IH.ptr(71264,71276,1),new IH.ptr(71484,71486,1),new IH.ptr(71739,72004,265),new IH.ptr(72005,72006,1),new IH.ptr(72162,72255,93),new IH.ptr(72256,72262,1),new IH.ptr(72346,72348,1),new IH.ptr(72350,72354,1),new IH.ptr(72769,72773,1),new IH.ptr(72816,72817,1),new IH.ptr(73463,73464,1),new IH.ptr(73727,74864,1137),new IH.ptr(74865,74868,1),new IH.ptr(92782,92783,1),new IH.ptr(92917,92983,66),new IH.ptr(92984,92987,1),new IH.ptr(92996,93847,851),new IH.ptr(93848,93850,1),new IH.ptr(94178,113823,19645),new IH.ptr(121479,121483,1),new IH.ptr(125278,125279,1)]),11);U=new IF.ptr(new JM([new IG.ptr(95,8255,8160),new IG.ptr(8256,8276,20),new IG.ptr(65075,65076,1),new IG.ptr(65101,65103,1),new IG.ptr(65343,65343,1)]),JN.nil,0);V=new IF.ptr(new JM([new IG.ptr(45,1418,1373),new IG.ptr(1470,5120,3650),new IG.ptr(6150,8208,2058),new IG.ptr(8209,8213,1),new IG.ptr(11799,11802,3),new IG.ptr(11834,11835,1),new IG.ptr(11840,12316,476),new IG.ptr(12336,12448,112),new IG.ptr(65073,65074,1),new IG.ptr(65112,65123,11),new IG.ptr(65293,65293,1)]),new JN([new IH.ptr(69293,69293,1)]),0);W=new IF.ptr(new JM([new IG.ptr(41,93,52),new IG.ptr(125,3899,3774),new IG.ptr(3901,5788,1887),new IG.ptr(8262,8318,56),new IG.ptr(8334,8969,635),new IG.ptr(8971,9002,31),new IG.ptr(10089,10101,2),new IG.ptr(10182,10215,33),new IG.ptr(10217,10223,2),new IG.ptr(10628,10648,2),new IG.ptr(10713,10715,2),new IG.ptr(10749,11811,1062),new IG.ptr(11813,11817,2),new IG.ptr(12297,12305,2),new IG.ptr(12309,12315,2),new IG.ptr(12318,12319,1),new IG.ptr(64830,65048,218),new IG.ptr(65078,65092,2),new IG.ptr(65096,65114,18),new IG.ptr(65116,65118,2),new IG.ptr(65289,65341,52),new IG.ptr(65373,65379,3)]),JN.nil,1);X=new IF.ptr(new JM([new IG.ptr(187,8217,8030),new IG.ptr(8221,8250,29),new IG.ptr(11779,11781,2),new IG.ptr(11786,11789,3),new IG.ptr(11805,11809,4)]),JN.nil,0);Y=new IF.ptr(new JM([new IG.ptr(171,8216,8045),new IG.ptr(8219,8220,1),new IG.ptr(8223,8249,26),new IG.ptr(11778,11780,2),new IG.ptr(11785,11788,3),new IG.ptr(11804,11808,4)]),JN.nil,0);Z=new IF.ptr(new JM([new IG.ptr(33,35,1),new IG.ptr(37,39,1),new IG.ptr(42,46,2),new IG.ptr(47,58,11),new IG.ptr(59,63,4),new IG.ptr(64,92,28),new IG.ptr(161,167,6),new IG.ptr(182,183,1),new IG.ptr(191,894,703),new IG.ptr(903,1370,467),new IG.ptr(1371,1375,1),new IG.ptr(1417,1472,55),new IG.ptr(1475,1478,3),new IG.ptr(1523,1524,1),new IG.ptr(1545,1546,1),new IG.ptr(1548,1549,1),new IG.ptr(1563,1566,3),new IG.ptr(1567,1642,75),new IG.ptr(1643,1645,1),new IG.ptr(1748,1792,44),new IG.ptr(1793,1805,1),new IG.ptr(2039,2041,1),new IG.ptr(2096,2110,1),new IG.ptr(2142,2404,262),new IG.ptr(2405,2416,11),new IG.ptr(2557,2678,121),new IG.ptr(2800,3191,391),new IG.ptr(3204,3572,368),new IG.ptr(3663,3674,11),new IG.ptr(3675,3844,169),new IG.ptr(3845,3858,1),new IG.ptr(3860,3973,113),new IG.ptr(4048,4052,1),new IG.ptr(4057,4058,1),new IG.ptr(4170,4175,1),new IG.ptr(4347,4960,613),new IG.ptr(4961,4968,1),new IG.ptr(5742,5867,125),new IG.ptr(5868,5869,1),new IG.ptr(5941,5942,1),new IG.ptr(6100,6102,1),new IG.ptr(6104,6106,1),new IG.ptr(6144,6149,1),new IG.ptr(6151,6154,1),new IG.ptr(6468,6469,1),new IG.ptr(6686,6687,1),new IG.ptr(6816,6822,1),new IG.ptr(6824,6829,1),new IG.ptr(7002,7008,1),new IG.ptr(7164,7167,1),new IG.ptr(7227,7231,1),new IG.ptr(7294,7295,1),new IG.ptr(7360,7367,1),new IG.ptr(7379,8214,835),new IG.ptr(8215,8224,9),new IG.ptr(8225,8231,1),new IG.ptr(8240,8248,1),new IG.ptr(8251,8254,1),new IG.ptr(8257,8259,1),new IG.ptr(8263,8273,1),new IG.ptr(8275,8277,2),new IG.ptr(8278,8286,1),new IG.ptr(11513,11516,1),new IG.ptr(11518,11519,1),new IG.ptr(11632,11776,144),new IG.ptr(11777,11782,5),new IG.ptr(11783,11784,1),new IG.ptr(11787,11790,3),new IG.ptr(11791,11798,1),new IG.ptr(11800,11801,1),new IG.ptr(11803,11806,3),new IG.ptr(11807,11818,11),new IG.ptr(11819,11822,1),new IG.ptr(11824,11833,1),new IG.ptr(11836,11839,1),new IG.ptr(11841,11843,2),new IG.ptr(11844,11855,1),new IG.ptr(11858,12289,431),new IG.ptr(12290,12291,1),new IG.ptr(12349,12539,190),new IG.ptr(42238,42239,1),new IG.ptr(42509,42511,1),new IG.ptr(42611,42622,11),new IG.ptr(42738,42743,1),new IG.ptr(43124,43127,1),new IG.ptr(43214,43215,1),new IG.ptr(43256,43258,1),new IG.ptr(43260,43310,50),new IG.ptr(43311,43359,48),new IG.ptr(43457,43469,1),new IG.ptr(43486,43487,1),new IG.ptr(43612,43615,1),new IG.ptr(43742,43743,1),new IG.ptr(43760,43761,1),new IG.ptr(44011,65040,21029),new IG.ptr(65041,65046,1),new IG.ptr(65049,65072,23),new IG.ptr(65093,65094,1),new IG.ptr(65097,65100,1),new IG.ptr(65104,65106,1),new IG.ptr(65108,65111,1),new IG.ptr(65119,65121,1),new IG.ptr(65128,65130,2),new IG.ptr(65131,65281,150),new IG.ptr(65282,65283,1),new IG.ptr(65285,65287,1),new IG.ptr(65290,65294,2),new IG.ptr(65295,65306,11),new IG.ptr(65307,65311,4),new IG.ptr(65312,65340,28),new IG.ptr(65377,65380,3),new IG.ptr(65381,65381,1)]),new JN([new IH.ptr(65792,65794,1),new IH.ptr(66463,66512,49),new IH.ptr(66927,67671,744),new IH.ptr(67871,67903,32),new IH.ptr(68176,68184,1),new IH.ptr(68223,68336,113),new IH.ptr(68337,68342,1),new IH.ptr(68409,68415,1),new IH.ptr(68505,68508,1),new IH.ptr(69461,69465,1),new IH.ptr(69703,69709,1),new IH.ptr(69819,69820,1),new IH.ptr(69822,69825,1),new IH.ptr(69952,69955,1),new IH.ptr(70004,70005,1),new IH.ptr(70085,70088,1),new IH.ptr(70093,70107,14),new IH.ptr(70109,70111,1),new IH.ptr(70200,70205,1),new IH.ptr(70313,70731,418),new IH.ptr(70732,70735,1),new IH.ptr(70746,70747,1),new IH.ptr(70749,70854,105),new IH.ptr(71105,71127,1),new IH.ptr(71233,71235,1),new IH.ptr(71264,71276,1),new IH.ptr(71484,71486,1),new IH.ptr(71739,72004,265),new IH.ptr(72005,72006,1),new IH.ptr(72162,72255,93),new IH.ptr(72256,72262,1),new IH.ptr(72346,72348,1),new IH.ptr(72350,72354,1),new IH.ptr(72769,72773,1),new IH.ptr(72816,72817,1),new IH.ptr(73463,73464,1),new IH.ptr(73727,74864,1137),new IH.ptr(74865,74868,1),new IH.ptr(92782,92783,1),new IH.ptr(92917,92983,66),new IH.ptr(92984,92987,1),new IH.ptr(92996,93847,851),new IH.ptr(93848,93850,1),new IH.ptr(94178,113823,19645),new IH.ptr(121479,121483,1),new IH.ptr(125278,125279,1)]),8);AA=new IF.ptr(new JM([new IG.ptr(40,91,51),new IG.ptr(123,3898,3775),new IG.ptr(3900,5787,1887),new IG.ptr(8218,8222,4),new IG.ptr(8261,8317,56),new IG.ptr(8333,8968,635),new IG.ptr(8970,9001,31),new IG.ptr(10088,10100,2),new IG.ptr(10181,10214,33),new IG.ptr(10216,10222,2),new IG.ptr(10627,10647,2),new IG.ptr(10712,10714,2),new IG.ptr(10748,11810,1062),new IG.ptr(11812,11816,2),new IG.ptr(11842,12296,454),new IG.ptr(12298,12304,2),new IG.ptr(12308,12314,2),new IG.ptr(12317,64831,52514),new IG.ptr(65047,65077,30),new IG.ptr(65079,65091,2),new IG.ptr(65095,65113,18),new IG.ptr(65115,65117,2),new IG.ptr(65288,65339,51),new IG.ptr(65371,65375,4),new IG.ptr(65378,65378,1)]),JN.nil,1);AB=new IF.ptr(new JM([new IG.ptr(36,43,7),new IG.ptr(60,62,1),new IG.ptr(94,96,2),new IG.ptr(124,126,2),new IG.ptr(162,166,1),new IG.ptr(168,169,1),new IG.ptr(172,174,2),new IG.ptr(175,177,1),new IG.ptr(180,184,4),new IG.ptr(215,247,32),new IG.ptr(706,709,1),new IG.ptr(722,735,1),new IG.ptr(741,747,1),new IG.ptr(749,751,2),new IG.ptr(752,767,1),new IG.ptr(885,900,15),new IG.ptr(901,1014,113),new IG.ptr(1154,1421,267),new IG.ptr(1422,1423,1),new IG.ptr(1542,1544,1),new IG.ptr(1547,1550,3),new IG.ptr(1551,1758,207),new IG.ptr(1769,1789,20),new IG.ptr(1790,2038,248),new IG.ptr(2046,2047,1),new IG.ptr(2546,2547,1),new IG.ptr(2554,2555,1),new IG.ptr(2801,2928,127),new IG.ptr(3059,3066,1),new IG.ptr(3199,3407,208),new IG.ptr(3449,3647,198),new IG.ptr(3841,3843,1),new IG.ptr(3859,3861,2),new IG.ptr(3862,3863,1),new IG.ptr(3866,3871,1),new IG.ptr(3892,3896,2),new IG.ptr(4030,4037,1),new IG.ptr(4039,4044,1),new IG.ptr(4046,4047,1),new IG.ptr(4053,4056,1),new IG.ptr(4254,4255,1),new IG.ptr(5008,5017,1),new IG.ptr(5741,6107,366),new IG.ptr(6464,6622,158),new IG.ptr(6623,6655,1),new IG.ptr(7009,7018,1),new IG.ptr(7028,7036,1),new IG.ptr(8125,8127,2),new IG.ptr(8128,8129,1),new IG.ptr(8141,8143,1),new IG.ptr(8157,8159,1),new IG.ptr(8173,8175,1),new IG.ptr(8189,8190,1),new IG.ptr(8260,8274,14),new IG.ptr(8314,8316,1),new IG.ptr(8330,8332,1),new IG.ptr(8352,8383,1),new IG.ptr(8448,8449,1),new IG.ptr(8451,8454,1),new IG.ptr(8456,8457,1),new IG.ptr(8468,8470,2),new IG.ptr(8471,8472,1),new IG.ptr(8478,8483,1),new IG.ptr(8485,8489,2),new IG.ptr(8494,8506,12),new IG.ptr(8507,8512,5),new IG.ptr(8513,8516,1),new IG.ptr(8522,8525,1),new IG.ptr(8527,8586,59),new IG.ptr(8587,8592,5),new IG.ptr(8593,8967,1),new IG.ptr(8972,9000,1),new IG.ptr(9003,9254,1),new IG.ptr(9280,9290,1),new IG.ptr(9372,9449,1),new IG.ptr(9472,10087,1),new IG.ptr(10132,10180,1),new IG.ptr(10183,10213,1),new IG.ptr(10224,10626,1),new IG.ptr(10649,10711,1),new IG.ptr(10716,10747,1),new IG.ptr(10750,11123,1),new IG.ptr(11126,11157,1),new IG.ptr(11159,11263,1),new IG.ptr(11493,11498,1),new IG.ptr(11856,11857,1),new IG.ptr(11904,11929,1),new IG.ptr(11931,12019,1),new IG.ptr(12032,12245,1),new IG.ptr(12272,12283,1),new IG.ptr(12292,12306,14),new IG.ptr(12307,12320,13),new IG.ptr(12342,12343,1),new IG.ptr(12350,12351,1),new IG.ptr(12443,12444,1),new IG.ptr(12688,12689,1),new IG.ptr(12694,12703,1),new IG.ptr(12736,12771,1),new IG.ptr(12800,12830,1),new IG.ptr(12842,12871,1),new IG.ptr(12880,12896,16),new IG.ptr(12897,12927,1),new IG.ptr(12938,12976,1),new IG.ptr(12992,13311,1),new IG.ptr(19904,19967,1),new IG.ptr(42128,42182,1),new IG.ptr(42752,42774,1),new IG.ptr(42784,42785,1),new IG.ptr(42889,42890,1),new IG.ptr(43048,43051,1),new IG.ptr(43062,43065,1),new IG.ptr(43639,43641,1),new IG.ptr(43867,43882,15),new IG.ptr(43883,64297,20414),new IG.ptr(64434,64449,1),new IG.ptr(65020,65021,1),new IG.ptr(65122,65124,2),new IG.ptr(65125,65126,1),new IG.ptr(65129,65284,155),new IG.ptr(65291,65308,17),new IG.ptr(65309,65310,1),new IG.ptr(65342,65344,2),new IG.ptr(65372,65374,2),new IG.ptr(65504,65510,1),new IG.ptr(65512,65518,1),new IG.ptr(65532,65533,1)]),new JN([new IH.ptr(65847,65855,1),new IH.ptr(65913,65929,1),new IH.ptr(65932,65934,1),new IH.ptr(65936,65948,1),new IH.ptr(65952,66000,48),new IH.ptr(66001,66044,1),new IH.ptr(67703,67704,1),new IH.ptr(68296,71487,3191),new IH.ptr(73685,73713,1),new IH.ptr(92988,92991,1),new IH.ptr(92997,113820,20823),new IH.ptr(118784,119029,1),new IH.ptr(119040,119078,1),new IH.ptr(119081,119140,1),new IH.ptr(119146,119148,1),new IH.ptr(119171,119172,1),new IH.ptr(119180,119209,1),new IH.ptr(119214,119272,1),new IH.ptr(119296,119361,1),new IH.ptr(119365,119552,187),new IH.ptr(119553,119638,1),new IH.ptr(120513,120539,26),new IH.ptr(120571,120597,26),new IH.ptr(120629,120655,26),new IH.ptr(120687,120713,26),new IH.ptr(120745,120771,26),new IH.ptr(120832,121343,1),new IH.ptr(121399,121402,1),new IH.ptr(121453,121460,1),new IH.ptr(121462,121475,1),new IH.ptr(121477,121478,1),new IH.ptr(123215,123647,432),new IH.ptr(126124,126128,4),new IH.ptr(126254,126704,450),new IH.ptr(126705,126976,271),new IH.ptr(126977,127019,1),new IH.ptr(127024,127123,1),new IH.ptr(127136,127150,1),new IH.ptr(127153,127167,1),new IH.ptr(127169,127183,1),new IH.ptr(127185,127221,1),new IH.ptr(127245,127405,1),new IH.ptr(127462,127490,1),new IH.ptr(127504,127547,1),new IH.ptr(127552,127560,1),new IH.ptr(127568,127569,1),new IH.ptr(127584,127589,1),new IH.ptr(127744,128727,1),new IH.ptr(128736,128748,1),new IH.ptr(128752,128764,1),new IH.ptr(128768,128883,1),new IH.ptr(128896,128984,1),new IH.ptr(128992,129003,1),new IH.ptr(129024,129035,1),new IH.ptr(129040,129095,1),new IH.ptr(129104,129113,1),new IH.ptr(129120,129159,1),new IH.ptr(129168,129197,1),new IH.ptr(129200,129201,1),new IH.ptr(129280,129400,1),new IH.ptr(129402,129483,1),new IH.ptr(129485,129619,1),new IH.ptr(129632,129645,1),new IH.ptr(129648,129652,1),new IH.ptr(129656,129658,1),new IH.ptr(129664,129670,1),new IH.ptr(129680,129704,1),new IH.ptr(129712,129718,1),new IH.ptr(129728,129730,1),new IH.ptr(129744,129750,1),new IH.ptr(129792,129938,1),new IH.ptr(129940,129994,1)]),10);AC=new IF.ptr(new JM([new IG.ptr(36,162,126),new IG.ptr(163,165,1),new IG.ptr(1423,1547,124),new IG.ptr(2046,2047,1),new IG.ptr(2546,2547,1),new IG.ptr(2555,2801,246),new IG.ptr(3065,3647,582),new IG.ptr(6107,8352,2245),new IG.ptr(8353,8383,1),new IG.ptr(43064,65020,21956),new IG.ptr(65129,65284,155),new IG.ptr(65504,65505,1),new IG.ptr(65509,65510,1)]),new JN([new IH.ptr(73693,73696,1),new IH.ptr(123647,126128,2481)]),2);AD=new IF.ptr(new JM([new IG.ptr(94,96,2),new IG.ptr(168,175,7),new IG.ptr(180,184,4),new IG.ptr(706,709,1),new IG.ptr(722,735,1),new IG.ptr(741,747,1),new IG.ptr(749,751,2),new IG.ptr(752,767,1),new IG.ptr(885,900,15),new IG.ptr(901,8125,7224),new IG.ptr(8127,8129,1),new IG.ptr(8141,8143,1),new IG.ptr(8157,8159,1),new IG.ptr(8173,8175,1),new IG.ptr(8189,8190,1),new IG.ptr(12443,12444,1),new IG.ptr(42752,42774,1),new IG.ptr(42784,42785,1),new IG.ptr(42889,42890,1),new IG.ptr(43867,43882,15),new IG.ptr(43883,64434,20551),new IG.ptr(64435,64449,1),new IG.ptr(65342,65344,2),new IG.ptr(65507,65507,1)]),new JN([new IH.ptr(127995,127999,1)]),3);AE=new IF.ptr(new JM([new IG.ptr(43,60,17),new IG.ptr(61,62,1),new IG.ptr(124,126,2),new IG.ptr(172,177,5),new IG.ptr(215,247,32),new IG.ptr(1014,1542,528),new IG.ptr(1543,1544,1),new IG.ptr(8260,8274,14),new IG.ptr(8314,8316,1),new IG.ptr(8330,8332,1),new IG.ptr(8472,8512,40),new IG.ptr(8513,8516,1),new IG.ptr(8523,8592,69),new IG.ptr(8593,8596,1),new IG.ptr(8602,8603,1),new IG.ptr(8608,8614,3),new IG.ptr(8622,8654,32),new IG.ptr(8655,8658,3),new IG.ptr(8660,8692,32),new IG.ptr(8693,8959,1),new IG.ptr(8992,8993,1),new IG.ptr(9084,9115,31),new IG.ptr(9116,9139,1),new IG.ptr(9180,9185,1),new IG.ptr(9655,9665,10),new IG.ptr(9720,9727,1),new IG.ptr(9839,10176,337),new IG.ptr(10177,10180,1),new IG.ptr(10183,10213,1),new IG.ptr(10224,10239,1),new IG.ptr(10496,10626,1),new IG.ptr(10649,10711,1),new IG.ptr(10716,10747,1),new IG.ptr(10750,11007,1),new IG.ptr(11056,11076,1),new IG.ptr(11079,11084,1),new IG.ptr(64297,65122,825),new IG.ptr(65124,65126,1),new IG.ptr(65291,65308,17),new IG.ptr(65309,65310,1),new IG.ptr(65372,65374,2),new IG.ptr(65506,65513,7),new IG.ptr(65514,65516,1)]),new JN([new IH.ptr(120513,120539,26),new IH.ptr(120571,120597,26),new IH.ptr(120629,120655,26),new IH.ptr(120687,120713,26),new IH.ptr(120745,120771,26),new IH.ptr(126704,126705,1)]),5);AF=new IF.ptr(new JM([new IG.ptr(166,169,3),new IG.ptr(174,176,2),new IG.ptr(1154,1421,267),new IG.ptr(1422,1550,128),new IG.ptr(1551,1758,207),new IG.ptr(1769,1789,20),new IG.ptr(1790,2038,248),new IG.ptr(2554,2928,374),new IG.ptr(3059,3064,1),new IG.ptr(3066,3199,133),new IG.ptr(3407,3449,42),new IG.ptr(3841,3843,1),new IG.ptr(3859,3861,2),new IG.ptr(3862,3863,1),new IG.ptr(3866,3871,1),new IG.ptr(3892,3896,2),new IG.ptr(4030,4037,1),new IG.ptr(4039,4044,1),new IG.ptr(4046,4047,1),new IG.ptr(4053,4056,1),new IG.ptr(4254,4255,1),new IG.ptr(5008,5017,1),new IG.ptr(5741,6464,723),new IG.ptr(6622,6655,1),new IG.ptr(7009,7018,1),new IG.ptr(7028,7036,1),new IG.ptr(8448,8449,1),new IG.ptr(8451,8454,1),new IG.ptr(8456,8457,1),new IG.ptr(8468,8470,2),new IG.ptr(8471,8478,7),new IG.ptr(8479,8483,1),new IG.ptr(8485,8489,2),new IG.ptr(8494,8506,12),new IG.ptr(8507,8522,15),new IG.ptr(8524,8525,1),new IG.ptr(8527,8586,59),new IG.ptr(8587,8597,10),new IG.ptr(8598,8601,1),new IG.ptr(8604,8607,1),new IG.ptr(8609,8610,1),new IG.ptr(8612,8613,1),new IG.ptr(8615,8621,1),new IG.ptr(8623,8653,1),new IG.ptr(8656,8657,1),new IG.ptr(8659,8661,2),new IG.ptr(8662,8691,1),new IG.ptr(8960,8967,1),new IG.ptr(8972,8991,1),new IG.ptr(8994,9000,1),new IG.ptr(9003,9083,1),new IG.ptr(9085,9114,1),new IG.ptr(9140,9179,1),new IG.ptr(9186,9254,1),new IG.ptr(9280,9290,1),new IG.ptr(9372,9449,1),new IG.ptr(9472,9654,1),new IG.ptr(9656,9664,1),new IG.ptr(9666,9719,1),new IG.ptr(9728,9838,1),new IG.ptr(9840,10087,1),new IG.ptr(10132,10175,1),new IG.ptr(10240,10495,1),new IG.ptr(11008,11055,1),new IG.ptr(11077,11078,1),new IG.ptr(11085,11123,1),new IG.ptr(11126,11157,1),new IG.ptr(11159,11263,1),new IG.ptr(11493,11498,1),new IG.ptr(11856,11857,1),new IG.ptr(11904,11929,1),new IG.ptr(11931,12019,1),new IG.ptr(12032,12245,1),new IG.ptr(12272,12283,1),new IG.ptr(12292,12306,14),new IG.ptr(12307,12320,13),new IG.ptr(12342,12343,1),new IG.ptr(12350,12351,1),new IG.ptr(12688,12689,1),new IG.ptr(12694,12703,1),new IG.ptr(12736,12771,1),new IG.ptr(12800,12830,1),new IG.ptr(12842,12871,1),new IG.ptr(12880,12896,16),new IG.ptr(12897,12927,1),new IG.ptr(12938,12976,1),new IG.ptr(12992,13311,1),new IG.ptr(19904,19967,1),new IG.ptr(42128,42182,1),new IG.ptr(43048,43051,1),new IG.ptr(43062,43063,1),new IG.ptr(43065,43639,574),new IG.ptr(43640,43641,1),new IG.ptr(65021,65508,487),new IG.ptr(65512,65517,5),new IG.ptr(65518,65532,14),new IG.ptr(65533,65533,1)]),new JN([new IH.ptr(65847,65855,1),new IH.ptr(65913,65929,1),new IH.ptr(65932,65934,1),new IH.ptr(65936,65948,1),new IH.ptr(65952,66000,48),new IH.ptr(66001,66044,1),new IH.ptr(67703,67704,1),new IH.ptr(68296,71487,3191),new IH.ptr(73685,73692,1),new IH.ptr(73697,73713,1),new IH.ptr(92988,92991,1),new IH.ptr(92997,113820,20823),new IH.ptr(118784,119029,1),new IH.ptr(119040,119078,1),new IH.ptr(119081,119140,1),new IH.ptr(119146,119148,1),new IH.ptr(119171,119172,1),new IH.ptr(119180,119209,1),new IH.ptr(119214,119272,1),new IH.ptr(119296,119361,1),new IH.ptr(119365,119552,187),new IH.ptr(119553,119638,1),new IH.ptr(120832,121343,1),new IH.ptr(121399,121402,1),new IH.ptr(121453,121460,1),new IH.ptr(121462,121475,1),new IH.ptr(121477,121478,1),new IH.ptr(123215,126124,2909),new IH.ptr(126254,126976,722),new IH.ptr(126977,127019,1),new IH.ptr(127024,127123,1),new IH.ptr(127136,127150,1),new IH.ptr(127153,127167,1),new IH.ptr(127169,127183,1),new IH.ptr(127185,127221,1),new IH.ptr(127245,127405,1),new IH.ptr(127462,127490,1),new IH.ptr(127504,127547,1),new IH.ptr(127552,127560,1),new IH.ptr(127568,127569,1),new IH.ptr(127584,127589,1),new IH.ptr(127744,127994,1),new IH.ptr(128000,128727,1),new IH.ptr(128736,128748,1),new IH.ptr(128752,128764,1),new IH.ptr(128768,128883,1),new IH.ptr(128896,128984,1),new IH.ptr(128992,129003,1),new IH.ptr(129024,129035,1),new IH.ptr(129040,129095,1),new IH.ptr(129104,129113,1),new IH.ptr(129120,129159,1),new IH.ptr(129168,129197,1),new IH.ptr(129200,129201,1),new IH.ptr(129280,129400,1),new IH.ptr(129402,129483,1),new IH.ptr(129485,129619,1),new IH.ptr(129632,129645,1),new IH.ptr(129648,129652,1),new IH.ptr(129656,129658,1),new IH.ptr(129664,129670,1),new IH.ptr(129680,129704,1),new IH.ptr(129712,129718,1),new IH.ptr(129728,129730,1),new IH.ptr(129744,129750,1),new IH.ptr(129792,129938,1),new IH.ptr(129940,129994,1)]),2);AG=new IF.ptr(new JM([new IG.ptr(32,160,128),new IG.ptr(5760,8192,2432),new IG.ptr(8193,8202,1),new IG.ptr(8232,8233,1),new IG.ptr(8239,8287,48),new IG.ptr(12288,12288,1)]),JN.nil,1);AH=new IF.ptr(new JM([new IG.ptr(8232,8232,1)]),JN.nil,0);AI=new IF.ptr(new JM([new IG.ptr(8233,8233,1)]),JN.nil,0);AJ=new IF.ptr(new JM([new IG.ptr(32,160,128),new IG.ptr(5760,8192,2432),new IG.ptr(8193,8202,1),new IG.ptr(8239,8287,48),new IG.ptr(12288,12288,1)]),JN.nil,1);$pkg.Cc=B;$pkg.Cf=C;$pkg.Co=D;$pkg.Cs=E;$pkg.Digit=Q;$pkg.Nd=Q;$pkg.Letter=F;$pkg.L=F;$pkg.Lm=H;$pkg.Lo=I;$pkg.Ll=G;$pkg.M=L;$pkg.Mc=M;$pkg.Me=N;$pkg.Mn=O;$pkg.Nl=R;$pkg.No=S;$pkg.N=P;$pkg.C=A;$pkg.Pc=U;$pkg.Pd=V;$pkg.Pe=W;$pkg.Pf=X;$pkg.Pi=Y;$pkg.Po=Z;$pkg.Ps=AA;$pkg.P=T;$pkg.Sc=AC;$pkg.Sk=AD;$pkg.Sm=AE;$pkg.So=AF;$pkg.Z=AG;$pkg.S=AB;$pkg.Lt=J;$pkg.Upper=K;$pkg.Lu=K;$pkg.Zl=AH;$pkg.Zp=AI;$pkg.Zs=AJ;$pkg.Categories=$makeMap($String.keyFor,[{k:"C",v:$pkg.C},{k:"Cc",v:$pkg.Cc},{k:"Cf",v:$pkg.Cf},{k:"Co",v:$pkg.Co},{k:"Cs",v:$pkg.Cs},{k:"L",v:$pkg.L},{k:"Ll",v:$pkg.Ll},{k:"Lm",v:$pkg.Lm},{k:"Lo",v:$pkg.Lo},{k:"Lt",v:$pkg.Lt},{k:"Lu",v:$pkg.Lu},{k:"M",v:$pkg.M},{k:"Mc",v:$pkg.Mc},{k:"Me",v:$pkg.Me},{k:"Mn",v:$pkg.Mn},{k:"N",v:$pkg.N},{k:"Nd",v:$pkg.Nd},{k:"Nl",v:$pkg.Nl},{k:"No",v:$pkg.No},{k:"P",v:$pkg.P},{k:"Pc",v:$pkg.Pc},{k:"Pd",v:$pkg.Pd},{k:"Pe",v:$pkg.Pe},{k:"Pf",v:$pkg.Pf},{k:"Pi",v:$pkg.Pi},{k:"Po",v:$pkg.Po},{k:"Ps",v:$pkg.Ps},{k:"S",v:$pkg.S},{k:"Sc",v:$pkg.Sc},{k:"Sk",v:$pkg.Sk},{k:"Sm",v:$pkg.Sm},{k:"So",v:$pkg.So},{k:"Z",v:$pkg.Z},{k:"Zl",v:$pkg.Zl},{k:"Zp",v:$pkg.Zp},{k:"Zs",v:$pkg.Zs}]);AK=new IF.ptr(new JM([]),new JN([new IH.ptr(125184,125259,1),new IH.ptr(125264,125273,1),new IH.ptr(125278,125279,1)]),0);AL=new IF.ptr(new JM([]),new JN([new IH.ptr(71424,71450,1),new IH.ptr(71453,71467,1),new IH.ptr(71472,71487,1)]),0);AM=new IF.ptr(new JM([]),new JN([new IH.ptr(82944,83526,1)]),0);AN=new IF.ptr(new JM([new IG.ptr(1536,1540,1),new IG.ptr(1542,1547,1),new IG.ptr(1549,1562,1),new IG.ptr(1564,1568,2),new IG.ptr(1569,1599,1),new IG.ptr(1601,1610,1),new IG.ptr(1622,1647,1),new IG.ptr(1649,1756,1),new IG.ptr(1758,1791,1),new IG.ptr(1872,1919,1),new IG.ptr(2208,2228,1),new IG.ptr(2230,2247,1),new IG.ptr(2259,2273,1),new IG.ptr(2275,2303,1),new IG.ptr(64336,64449,1),new IG.ptr(64467,64829,1),new IG.ptr(64848,64911,1),new IG.ptr(64914,64967,1),new IG.ptr(65008,65021,1),new IG.ptr(65136,65140,1),new IG.ptr(65142,65276,1)]),new JN([new IH.ptr(69216,69246,1),new IH.ptr(126464,126467,1),new IH.ptr(126469,126495,1),new IH.ptr(126497,126498,1),new IH.ptr(126500,126503,3),new IH.ptr(126505,126514,1),new IH.ptr(126516,126519,1),new IH.ptr(126521,126523,2),new IH.ptr(126530,126535,5),new IH.ptr(126537,126541,2),new IH.ptr(126542,126543,1),new IH.ptr(126545,126546,1),new IH.ptr(126548,126551,3),new IH.ptr(126553,126561,2),new IH.ptr(126562,126564,2),new IH.ptr(126567,126570,1),new IH.ptr(126572,126578,1),new IH.ptr(126580,126583,1),new IH.ptr(126585,126588,1),new IH.ptr(126590,126592,2),new IH.ptr(126593,126601,1),new IH.ptr(126603,126619,1),new IH.ptr(126625,126627,1),new IH.ptr(126629,126633,1),new IH.ptr(126635,126651,1),new IH.ptr(126704,126705,1)]),0);AO=new IF.ptr(new JM([new IG.ptr(1329,1366,1),new IG.ptr(1369,1418,1),new IG.ptr(1421,1423,1),new IG.ptr(64275,64279,1)]),JN.nil,0);AP=new IF.ptr(new JM([]),new JN([new IH.ptr(68352,68405,1),new IH.ptr(68409,68415,1)]),0);AQ=new IF.ptr(new JM([new IG.ptr(6912,6987,1),new IG.ptr(6992,7036,1)]),JN.nil,0);AR=new IF.ptr(new JM([new IG.ptr(42656,42743,1)]),new JN([new IH.ptr(92160,92728,1)]),0);AS=new IF.ptr(new JM([]),new JN([new IH.ptr(92880,92909,1),new IH.ptr(92912,92917,1)]),0);AT=new IF.ptr(new JM([new IG.ptr(7104,7155,1),new IG.ptr(7164,7167,1)]),JN.nil,0);AU=new IF.ptr(new JM([new IG.ptr(2432,2435,1),new IG.ptr(2437,2444,1),new IG.ptr(2447,2448,1),new IG.ptr(2451,2472,1),new IG.ptr(2474,2480,1),new IG.ptr(2482,2486,4),new IG.ptr(2487,2489,1),new IG.ptr(2492,2500,1),new IG.ptr(2503,2504,1),new IG.ptr(2507,2510,1),new IG.ptr(2519,2524,5),new IG.ptr(2525,2527,2),new IG.ptr(2528,2531,1),new IG.ptr(2534,2558,1)]),JN.nil,0);AV=new IF.ptr(new JM([]),new JN([new IH.ptr(72704,72712,1),new IH.ptr(72714,72758,1),new IH.ptr(72760,72773,1),new IH.ptr(72784,72812,1)]),0);AW=new IF.ptr(new JM([new IG.ptr(746,747,1),new IG.ptr(12549,12591,1),new IG.ptr(12704,12735,1)]),JN.nil,0);AX=new IF.ptr(new JM([]),new JN([new IH.ptr(69632,69709,1),new IH.ptr(69714,69743,1),new IH.ptr(69759,69759,1)]),0);AY=new IF.ptr(new JM([new IG.ptr(10240,10495,1)]),JN.nil,0);AZ=new IF.ptr(new JM([new IG.ptr(6656,6683,1),new IG.ptr(6686,6687,1)]),JN.nil,0);BA=new IF.ptr(new JM([new IG.ptr(5952,5971,1)]),JN.nil,0);BB=new IF.ptr(new JM([new IG.ptr(5120,5759,1),new IG.ptr(6320,6389,1)]),JN.nil,0);BC=new IF.ptr(new JM([]),new JN([new IH.ptr(66208,66256,1)]),0);BD=new IF.ptr(new JM([]),new JN([new IH.ptr(66864,66915,1),new IH.ptr(66927,66927,1)]),0);BE=new IF.ptr(new JM([]),new JN([new IH.ptr(69888,69940,1),new IH.ptr(69942,69959,1)]),0);BF=new IF.ptr(new JM([new IG.ptr(43520,43574,1),new IG.ptr(43584,43597,1),new IG.ptr(43600,43609,1),new IG.ptr(43612,43615,1)]),JN.nil,0);BG=new IF.ptr(new JM([new IG.ptr(5024,5109,1),new IG.ptr(5112,5117,1),new IG.ptr(43888,43967,1)]),JN.nil,0);BH=new IF.ptr(new JM([]),new JN([new IH.ptr(69552,69579,1)]),0);BI=new IF.ptr(new JM([new IG.ptr(0,64,1),new IG.ptr(91,96,1),new IG.ptr(123,169,1),new IG.ptr(171,185,1),new IG.ptr(187,191,1),new IG.ptr(215,247,32),new IG.ptr(697,735,1),new IG.ptr(741,745,1),new IG.ptr(748,767,1),new IG.ptr(884,894,10),new IG.ptr(901,903,2),new IG.ptr(1541,1548,7),new IG.ptr(1563,1567,4),new IG.ptr(1600,1757,157),new IG.ptr(2274,2404,130),new IG.ptr(2405,3647,1242),new IG.ptr(4053,4056,1),new IG.ptr(4347,5867,1520),new IG.ptr(5868,5869,1),new IG.ptr(5941,5942,1),new IG.ptr(6146,6147,1),new IG.ptr(6149,7379,1230),new IG.ptr(7393,7401,8),new IG.ptr(7402,7404,1),new IG.ptr(7406,7411,1),new IG.ptr(7413,7415,1),new IG.ptr(7418,8192,774),new IG.ptr(8193,8203,1),new IG.ptr(8206,8292,1),new IG.ptr(8294,8304,1),new IG.ptr(8308,8318,1),new IG.ptr(8320,8334,1),new IG.ptr(8352,8383,1),new IG.ptr(8448,8485,1),new IG.ptr(8487,8489,1),new IG.ptr(8492,8497,1),new IG.ptr(8499,8525,1),new IG.ptr(8527,8543,1),new IG.ptr(8585,8587,1),new IG.ptr(8592,9254,1),new IG.ptr(9280,9290,1),new IG.ptr(9312,10239,1),new IG.ptr(10496,11123,1),new IG.ptr(11126,11157,1),new IG.ptr(11159,11263,1),new IG.ptr(11776,11858,1),new IG.ptr(12272,12283,1),new IG.ptr(12288,12292,1),new IG.ptr(12294,12296,2),new IG.ptr(12297,12320,1),new IG.ptr(12336,12343,1),new IG.ptr(12348,12351,1),new IG.ptr(12443,12444,1),new IG.ptr(12448,12539,91),new IG.ptr(12540,12688,148),new IG.ptr(12689,12703,1),new IG.ptr(12736,12771,1),new IG.ptr(12832,12895,1),new IG.ptr(12927,13007,1),new IG.ptr(13055,13144,89),new IG.ptr(13145,13311,1),new IG.ptr(19904,19967,1),new IG.ptr(42752,42785,1),new IG.ptr(42888,42890,1),new IG.ptr(43056,43065,1),new IG.ptr(43310,43471,161),new IG.ptr(43867,43882,15),new IG.ptr(43883,64830,20947),new IG.ptr(64831,65040,209),new IG.ptr(65041,65049,1),new IG.ptr(65072,65106,1),new IG.ptr(65108,65126,1),new IG.ptr(65128,65131,1),new IG.ptr(65279,65281,2),new IG.ptr(65282,65312,1),new IG.ptr(65339,65344,1),new IG.ptr(65371,65381,1),new IG.ptr(65392,65438,46),new IG.ptr(65439,65504,65),new IG.ptr(65505,65510,1),new IG.ptr(65512,65518,1),new IG.ptr(65529,65533,1)]),new JN([new IH.ptr(65792,65794,1),new IH.ptr(65799,65843,1),new IH.ptr(65847,65855,1),new IH.ptr(65936,65948,1),new IH.ptr(66000,66044,1),new IH.ptr(66273,66299,1),new IH.ptr(94178,94179,1),new IH.ptr(113824,113827,1),new IH.ptr(118784,119029,1),new IH.ptr(119040,119078,1),new IH.ptr(119081,119142,1),new IH.ptr(119146,119162,1),new IH.ptr(119171,119172,1),new IH.ptr(119180,119209,1),new IH.ptr(119214,119272,1),new IH.ptr(119520,119539,1),new IH.ptr(119552,119638,1),new IH.ptr(119648,119672,1),new IH.ptr(119808,119892,1),new IH.ptr(119894,119964,1),new IH.ptr(119966,119967,1),new IH.ptr(119970,119973,3),new IH.ptr(119974,119977,3),new IH.ptr(119978,119980,1),new IH.ptr(119982,119993,1),new IH.ptr(119995,119997,2),new IH.ptr(119998,120003,1),new IH.ptr(120005,120069,1),new IH.ptr(120071,120074,1),new IH.ptr(120077,120084,1),new IH.ptr(120086,120092,1),new IH.ptr(120094,120121,1),new IH.ptr(120123,120126,1),new IH.ptr(120128,120132,1),new IH.ptr(120134,120138,4),new IH.ptr(120139,120144,1),new IH.ptr(120146,120485,1),new IH.ptr(120488,120779,1),new IH.ptr(120782,120831,1),new IH.ptr(126065,126132,1),new IH.ptr(126209,126269,1),new IH.ptr(126976,127019,1),new IH.ptr(127024,127123,1),new IH.ptr(127136,127150,1),new IH.ptr(127153,127167,1),new IH.ptr(127169,127183,1),new IH.ptr(127185,127221,1),new IH.ptr(127232,127405,1),new IH.ptr(127462,127487,1),new IH.ptr(127489,127490,1),new IH.ptr(127504,127547,1),new IH.ptr(127552,127560,1),new IH.ptr(127568,127569,1),new IH.ptr(127584,127589,1),new IH.ptr(127744,128727,1),new IH.ptr(128736,128748,1),new IH.ptr(128752,128764,1),new IH.ptr(128768,128883,1),new IH.ptr(128896,128984,1),new IH.ptr(128992,129003,1),new IH.ptr(129024,129035,1),new IH.ptr(129040,129095,1),new IH.ptr(129104,129113,1),new IH.ptr(129120,129159,1),new IH.ptr(129168,129197,1),new IH.ptr(129200,129201,1),new IH.ptr(129280,129400,1),new IH.ptr(129402,129483,1),new IH.ptr(129485,129619,1),new IH.ptr(129632,129645,1),new IH.ptr(129648,129652,1),new IH.ptr(129656,129658,1),new IH.ptr(129664,129670,1),new IH.ptr(129680,129704,1),new IH.ptr(129712,129718,1),new IH.ptr(129728,129730,1),new IH.ptr(129744,129750,1),new IH.ptr(129792,129938,1),new IH.ptr(129940,129994,1),new IH.ptr(130032,130041,1),new IH.ptr(917505,917536,31),new IH.ptr(917537,917631,1)]),6);BJ=new IF.ptr(new JM([new IG.ptr(994,1007,1),new IG.ptr(11392,11507,1),new IG.ptr(11513,11519,1)]),JN.nil,0);BK=new IF.ptr(new JM([]),new JN([new IH.ptr(73728,74649,1),new IH.ptr(74752,74862,1),new IH.ptr(74864,74868,1),new IH.ptr(74880,75075,1)]),0);BL=new IF.ptr(new JM([]),new JN([new IH.ptr(67584,67589,1),new IH.ptr(67592,67594,2),new IH.ptr(67595,67637,1),new IH.ptr(67639,67640,1),new IH.ptr(67644,67647,3)]),0);BM=new IF.ptr(new JM([new IG.ptr(1024,1156,1),new IG.ptr(1159,1327,1),new IG.ptr(7296,7304,1),new IG.ptr(7467,7544,77),new IG.ptr(11744,11775,1),new IG.ptr(42560,42655,1),new IG.ptr(65070,65071,1)]),JN.nil,0);BN=new IF.ptr(new JM([]),new JN([new IH.ptr(66560,66639,1)]),0);BO=new IF.ptr(new JM([new IG.ptr(2304,2384,1),new IG.ptr(2389,2403,1),new IG.ptr(2406,2431,1),new IG.ptr(43232,43263,1)]),JN.nil,0);BP=new IF.ptr(new JM([]),new JN([new IH.ptr(71936,71942,1),new IH.ptr(71945,71948,3),new IH.ptr(71949,71955,1),new IH.ptr(71957,71958,1),new IH.ptr(71960,71989,1),new IH.ptr(71991,71992,1),new IH.ptr(71995,72006,1),new IH.ptr(72016,72025,1)]),0);BQ=new IF.ptr(new JM([]),new JN([new IH.ptr(71680,71739,1)]),0);BR=new IF.ptr(new JM([]),new JN([new IH.ptr(113664,113770,1),new IH.ptr(113776,113788,1),new IH.ptr(113792,113800,1),new IH.ptr(113808,113817,1),new IH.ptr(113820,113823,1)]),0);BS=new IF.ptr(new JM([]),new JN([new IH.ptr(77824,78894,1),new IH.ptr(78896,78904,1)]),0);BT=new IF.ptr(new JM([]),new JN([new IH.ptr(66816,66855,1)]),0);BU=new IF.ptr(new JM([]),new JN([new IH.ptr(69600,69622,1)]),0);BV=new IF.ptr(new JM([new IG.ptr(4608,4680,1),new IG.ptr(4682,4685,1),new IG.ptr(4688,4694,1),new IG.ptr(4696,4698,2),new IG.ptr(4699,4701,1),new IG.ptr(4704,4744,1),new IG.ptr(4746,4749,1),new IG.ptr(4752,4784,1),new IG.ptr(4786,4789,1),new IG.ptr(4792,4798,1),new IG.ptr(4800,4802,2),new IG.ptr(4803,4805,1),new IG.ptr(4808,4822,1),new IG.ptr(4824,4880,1),new IG.ptr(4882,4885,1),new IG.ptr(4888,4954,1),new IG.ptr(4957,4988,1),new IG.ptr(4992,5017,1),new IG.ptr(11648,11670,1),new IG.ptr(11680,11686,1),new IG.ptr(11688,11694,1),new IG.ptr(11696,11702,1),new IG.ptr(11704,11710,1),new IG.ptr(11712,11718,1),new IG.ptr(11720,11726,1),new IG.ptr(11728,11734,1),new IG.ptr(11736,11742,1),new IG.ptr(43777,43782,1),new IG.ptr(43785,43790,1),new IG.ptr(43793,43798,1),new IG.ptr(43808,43814,1),new IG.ptr(43816,43822,1)]),JN.nil,0);BW=new IF.ptr(new JM([new IG.ptr(4256,4293,1),new IG.ptr(4295,4301,6),new IG.ptr(4304,4346,1),new IG.ptr(4348,4351,1),new IG.ptr(7312,7354,1),new IG.ptr(7357,7359,1),new IG.ptr(11520,11557,1),new IG.ptr(11559,11565,6)]),JN.nil,0);BX=new IF.ptr(new JM([new IG.ptr(11264,11310,1),new IG.ptr(11312,11358,1)]),new JN([new IH.ptr(122880,122886,1),new IH.ptr(122888,122904,1),new IH.ptr(122907,122913,1),new IH.ptr(122915,122916,1),new IH.ptr(122918,122922,1)]),0);BY=new IF.ptr(new JM([]),new JN([new IH.ptr(66352,66378,1)]),0);BZ=new IF.ptr(new JM([]),new JN([new IH.ptr(70400,70403,1),new IH.ptr(70405,70412,1),new IH.ptr(70415,70416,1),new IH.ptr(70419,70440,1),new IH.ptr(70442,70448,1),new IH.ptr(70450,70451,1),new IH.ptr(70453,70457,1),new IH.ptr(70460,70468,1),new IH.ptr(70471,70472,1),new IH.ptr(70475,70477,1),new IH.ptr(70480,70487,7),new IH.ptr(70493,70499,1),new IH.ptr(70502,70508,1),new IH.ptr(70512,70516,1)]),0);CA=new IF.ptr(new JM([new IG.ptr(880,883,1),new IG.ptr(885,887,1),new IG.ptr(890,893,1),new IG.ptr(895,900,5),new IG.ptr(902,904,2),new IG.ptr(905,906,1),new IG.ptr(908,910,2),new IG.ptr(911,929,1),new IG.ptr(931,993,1),new IG.ptr(1008,1023,1),new IG.ptr(7462,7466,1),new IG.ptr(7517,7521,1),new IG.ptr(7526,7530,1),new IG.ptr(7615,7936,321),new IG.ptr(7937,7957,1),new IG.ptr(7960,7965,1),new IG.ptr(7968,8005,1),new IG.ptr(8008,8013,1),new IG.ptr(8016,8023,1),new IG.ptr(8025,8031,2),new IG.ptr(8032,8061,1),new IG.ptr(8064,8116,1),new IG.ptr(8118,8132,1),new IG.ptr(8134,8147,1),new IG.ptr(8150,8155,1),new IG.ptr(8157,8175,1),new IG.ptr(8178,8180,1),new IG.ptr(8182,8190,1),new IG.ptr(8486,43877,35391)]),new JN([new IH.ptr(65856,65934,1),new IH.ptr(65952,119296,53344),new IH.ptr(119297,119365,1)]),0);CB=new IF.ptr(new JM([new IG.ptr(2689,2691,1),new IG.ptr(2693,2701,1),new IG.ptr(2703,2705,1),new IG.ptr(2707,2728,1),new IG.ptr(2730,2736,1),new IG.ptr(2738,2739,1),new IG.ptr(2741,2745,1),new IG.ptr(2748,2757,1),new IG.ptr(2759,2761,1),new IG.ptr(2763,2765,1),new IG.ptr(2768,2784,16),new IG.ptr(2785,2787,1),new IG.ptr(2790,2801,1),new IG.ptr(2809,2815,1)]),JN.nil,0);CC=new IF.ptr(new JM([]),new JN([new IH.ptr(73056,73061,1),new IH.ptr(73063,73064,1),new IH.ptr(73066,73102,1),new IH.ptr(73104,73105,1),new IH.ptr(73107,73112,1),new IH.ptr(73120,73129,1)]),0);CD=new IF.ptr(new JM([new IG.ptr(2561,2563,1),new IG.ptr(2565,2570,1),new IG.ptr(2575,2576,1),new IG.ptr(2579,2600,1),new IG.ptr(2602,2608,1),new IG.ptr(2610,2611,1),new IG.ptr(2613,2614,1),new IG.ptr(2616,2617,1),new IG.ptr(2620,2622,2),new IG.ptr(2623,2626,1),new IG.ptr(2631,2632,1),new IG.ptr(2635,2637,1),new IG.ptr(2641,2649,8),new IG.ptr(2650,2652,1),new IG.ptr(2654,2662,8),new IG.ptr(2663,2678,1)]),JN.nil,0);CE=new IF.ptr(new JM([new IG.ptr(11904,11929,1),new IG.ptr(11931,12019,1),new IG.ptr(12032,12245,1),new IG.ptr(12293,12295,2),new IG.ptr(12321,12329,1),new IG.ptr(12344,12347,1),new IG.ptr(13312,19903,1),new IG.ptr(19968,40956,1),new IG.ptr(63744,64109,1),new IG.ptr(64112,64217,1)]),new JN([new IH.ptr(94192,94193,1),new IH.ptr(131072,173789,1),new IH.ptr(173824,177972,1),new IH.ptr(177984,178205,1),new IH.ptr(178208,183969,1),new IH.ptr(183984,191456,1),new IH.ptr(194560,195101,1),new IH.ptr(196608,201546,1)]),0);CF=new IF.ptr(new JM([new IG.ptr(4352,4607,1),new IG.ptr(12334,12335,1),new IG.ptr(12593,12686,1),new IG.ptr(12800,12830,1),new IG.ptr(12896,12926,1),new IG.ptr(43360,43388,1),new IG.ptr(44032,55203,1),new IG.ptr(55216,55238,1),new IG.ptr(55243,55291,1),new IG.ptr(65440,65470,1),new IG.ptr(65474,65479,1),new IG.ptr(65482,65487,1),new IG.ptr(65490,65495,1),new IG.ptr(65498,65500,1)]),JN.nil,0);CG=new IF.ptr(new JM([]),new JN([new IH.ptr(68864,68903,1),new IH.ptr(68912,68921,1)]),0);CH=new IF.ptr(new JM([new IG.ptr(5920,5940,1)]),JN.nil,0);CI=new IF.ptr(new JM([]),new JN([new IH.ptr(67808,67826,1),new IH.ptr(67828,67829,1),new IH.ptr(67835,67839,1)]),0);CJ=new IF.ptr(new JM([new IG.ptr(1425,1479,1),new IG.ptr(1488,1514,1),new IG.ptr(1519,1524,1),new IG.ptr(64285,64310,1),new IG.ptr(64312,64316,1),new IG.ptr(64318,64320,2),new IG.ptr(64321,64323,2),new IG.ptr(64324,64326,2),new IG.ptr(64327,64335,1)]),JN.nil,0);CK=new IF.ptr(new JM([new IG.ptr(12353,12438,1),new IG.ptr(12445,12447,1)]),new JN([new IH.ptr(110593,110878,1),new IH.ptr(110928,110930,1),new IH.ptr(127488,127488,1)]),0);CL=new IF.ptr(new JM([]),new JN([new IH.ptr(67648,67669,1),new IH.ptr(67671,67679,1)]),0);CM=new IF.ptr(new JM([new IG.ptr(768,879,1),new IG.ptr(1157,1158,1),new IG.ptr(1611,1621,1),new IG.ptr(1648,2385,737),new IG.ptr(2386,2388,1),new IG.ptr(6832,6848,1),new IG.ptr(7376,7378,1),new IG.ptr(7380,7392,1),new IG.ptr(7394,7400,1),new IG.ptr(7405,7412,7),new IG.ptr(7416,7417,1),new IG.ptr(7616,7673,1),new IG.ptr(7675,7679,1),new IG.ptr(8204,8205,1),new IG.ptr(8400,8432,1),new IG.ptr(12330,12333,1),new IG.ptr(12441,12442,1),new IG.ptr(65024,65039,1),new IG.ptr(65056,65069,1)]),new JN([new IH.ptr(66045,66272,227),new IH.ptr(70459,119143,48684),new IH.ptr(119144,119145,1),new IH.ptr(119163,119170,1),new IH.ptr(119173,119179,1),new IH.ptr(119210,119213,1),new IH.ptr(917760,917999,1)]),0);CN=new IF.ptr(new JM([]),new JN([new IH.ptr(68448,68466,1),new IH.ptr(68472,68479,1)]),0);CO=new IF.ptr(new JM([]),new JN([new IH.ptr(68416,68437,1),new IH.ptr(68440,68447,1)]),0);CP=new IF.ptr(new JM([new IG.ptr(43392,43469,1),new IG.ptr(43472,43481,1),new IG.ptr(43486,43487,1)]),JN.nil,0);CQ=new IF.ptr(new JM([]),new JN([new IH.ptr(69760,69825,1),new IH.ptr(69837,69837,1)]),0);CR=new IF.ptr(new JM([new IG.ptr(3200,3212,1),new IG.ptr(3214,3216,1),new IG.ptr(3218,3240,1),new IG.ptr(3242,3251,1),new IG.ptr(3253,3257,1),new IG.ptr(3260,3268,1),new IG.ptr(3270,3272,1),new IG.ptr(3274,3277,1),new IG.ptr(3285,3286,1),new IG.ptr(3294,3296,2),new IG.ptr(3297,3299,1),new IG.ptr(3302,3311,1),new IG.ptr(3313,3314,1)]),JN.nil,0);CS=new IF.ptr(new JM([new IG.ptr(12449,12538,1),new IG.ptr(12541,12543,1),new IG.ptr(12784,12799,1),new IG.ptr(13008,13054,1),new IG.ptr(13056,13143,1),new IG.ptr(65382,65391,1),new IG.ptr(65393,65437,1)]),new JN([new IH.ptr(110592,110948,356),new IH.ptr(110949,110951,1)]),0);CT=new IF.ptr(new JM([new IG.ptr(43264,43309,1),new IG.ptr(43311,43311,1)]),JN.nil,0);CU=new IF.ptr(new JM([]),new JN([new IH.ptr(68096,68099,1),new IH.ptr(68101,68102,1),new IH.ptr(68108,68115,1),new IH.ptr(68117,68119,1),new IH.ptr(68121,68149,1),new IH.ptr(68152,68154,1),new IH.ptr(68159,68168,1),new IH.ptr(68176,68184,1)]),0);CV=new IF.ptr(new JM([]),new JN([new IH.ptr(94180,101120,6940),new IH.ptr(101121,101589,1)]),0);CW=new IF.ptr(new JM([new IG.ptr(6016,6109,1),new IG.ptr(6112,6121,1),new IG.ptr(6128,6137,1),new IG.ptr(6624,6655,1)]),JN.nil,0);CX=new IF.ptr(new JM([]),new JN([new IH.ptr(70144,70161,1),new IH.ptr(70163,70206,1)]),0);CY=new IF.ptr(new JM([]),new JN([new IH.ptr(70320,70378,1),new IH.ptr(70384,70393,1)]),0);CZ=new IF.ptr(new JM([new IG.ptr(3713,3714,1),new IG.ptr(3716,3718,2),new IG.ptr(3719,3722,1),new IG.ptr(3724,3747,1),new IG.ptr(3749,3751,2),new IG.ptr(3752,3773,1),new IG.ptr(3776,3780,1),new IG.ptr(3782,3784,2),new IG.ptr(3785,3789,1),new IG.ptr(3792,3801,1),new IG.ptr(3804,3807,1)]),JN.nil,0);DA=new IF.ptr(new JM([new IG.ptr(65,90,1),new IG.ptr(97,122,1),new IG.ptr(170,186,16),new IG.ptr(192,214,1),new IG.ptr(216,246,1),new IG.ptr(248,696,1),new IG.ptr(736,740,1),new IG.ptr(7424,7461,1),new IG.ptr(7468,7516,1),new IG.ptr(7522,7525,1),new IG.ptr(7531,7543,1),new IG.ptr(7545,7614,1),new IG.ptr(7680,7935,1),new IG.ptr(8305,8319,14),new IG.ptr(8336,8348,1),new IG.ptr(8490,8491,1),new IG.ptr(8498,8526,28),new IG.ptr(8544,8584,1),new IG.ptr(11360,11391,1),new IG.ptr(42786,42887,1),new IG.ptr(42891,42943,1),new IG.ptr(42946,42954,1),new IG.ptr(42997,43007,1),new IG.ptr(43824,43866,1),new IG.ptr(43868,43876,1),new IG.ptr(43878,43881,1),new IG.ptr(64256,64262,1),new IG.ptr(65313,65338,1),new IG.ptr(65345,65370,1)]),JN.nil,5);DB=new IF.ptr(new JM([new IG.ptr(7168,7223,1),new IG.ptr(7227,7241,1),new IG.ptr(7245,7247,1)]),JN.nil,0);DC=new IF.ptr(new JM([new IG.ptr(6400,6430,1),new IG.ptr(6432,6443,1),new IG.ptr(6448,6459,1),new IG.ptr(6464,6468,4),new IG.ptr(6469,6479,1)]),JN.nil,0);DD=new IF.ptr(new JM([]),new JN([new IH.ptr(67072,67382,1),new IH.ptr(67392,67413,1),new IH.ptr(67424,67431,1)]),0);DE=new IF.ptr(new JM([]),new JN([new IH.ptr(65536,65547,1),new IH.ptr(65549,65574,1),new IH.ptr(65576,65594,1),new IH.ptr(65596,65597,1),new IH.ptr(65599,65613,1),new IH.ptr(65616,65629,1),new IH.ptr(65664,65786,1)]),0);DF=new IF.ptr(new JM([new IG.ptr(42192,42239,1)]),new JN([new IH.ptr(73648,73648,1)]),0);DG=new IF.ptr(new JM([]),new JN([new IH.ptr(66176,66204,1)]),0);DH=new IF.ptr(new JM([]),new JN([new IH.ptr(67872,67897,1),new IH.ptr(67903,67903,1)]),0);DI=new IF.ptr(new JM([]),new JN([new IH.ptr(69968,70006,1)]),0);DJ=new IF.ptr(new JM([]),new JN([new IH.ptr(73440,73464,1)]),0);DK=new IF.ptr(new JM([new IG.ptr(3328,3340,1),new IG.ptr(3342,3344,1),new IG.ptr(3346,3396,1),new IG.ptr(3398,3400,1),new IG.ptr(3402,3407,1),new IG.ptr(3412,3427,1),new IG.ptr(3430,3455,1)]),JN.nil,0);DL=new IF.ptr(new JM([new IG.ptr(2112,2139,1),new IG.ptr(2142,2142,1)]),JN.nil,0);DM=new IF.ptr(new JM([]),new JN([new IH.ptr(68288,68326,1),new IH.ptr(68331,68342,1)]),0);DN=new IF.ptr(new JM([]),new JN([new IH.ptr(72816,72847,1),new IH.ptr(72850,72871,1),new IH.ptr(72873,72886,1)]),0);DO=new IF.ptr(new JM([]),new JN([new IH.ptr(72960,72966,1),new IH.ptr(72968,72969,1),new IH.ptr(72971,73014,1),new IH.ptr(73018,73020,2),new IH.ptr(73021,73023,2),new IH.ptr(73024,73031,1),new IH.ptr(73040,73049,1)]),0);DP=new IF.ptr(new JM([]),new JN([new IH.ptr(93760,93850,1)]),0);DQ=new IF.ptr(new JM([new IG.ptr(43744,43766,1),new IG.ptr(43968,44013,1),new IG.ptr(44016,44025,1)]),JN.nil,0);DR=new IF.ptr(new JM([]),new JN([new IH.ptr(124928,125124,1),new IH.ptr(125127,125142,1)]),0);DS=new IF.ptr(new JM([]),new JN([new IH.ptr(68000,68023,1),new IH.ptr(68028,68047,1),new IH.ptr(68050,68095,1)]),0);DT=new IF.ptr(new JM([]),new JN([new IH.ptr(67968,67999,1)]),0);DU=new IF.ptr(new JM([]),new JN([new IH.ptr(93952,94026,1),new IH.ptr(94031,94087,1),new IH.ptr(94095,94111,1)]),0);DV=new IF.ptr(new JM([]),new JN([new IH.ptr(71168,71236,1),new IH.ptr(71248,71257,1)]),0);DW=new IF.ptr(new JM([new IG.ptr(6144,6145,1),new IG.ptr(6148,6150,2),new IG.ptr(6151,6158,1),new IG.ptr(6160,6169,1),new IG.ptr(6176,6264,1),new IG.ptr(6272,6314,1)]),new JN([new IH.ptr(71264,71276,1)]),0);DX=new IF.ptr(new JM([]),new JN([new IH.ptr(92736,92766,1),new IH.ptr(92768,92777,1),new IH.ptr(92782,92783,1)]),0);DY=new IF.ptr(new JM([]),new JN([new IH.ptr(70272,70278,1),new IH.ptr(70280,70282,2),new IH.ptr(70283,70285,1),new IH.ptr(70287,70301,1),new IH.ptr(70303,70313,1)]),0);DZ=new IF.ptr(new JM([new IG.ptr(4096,4255,1),new IG.ptr(43488,43518,1),new IG.ptr(43616,43647,1)]),JN.nil,0);EA=new IF.ptr(new JM([]),new JN([new IH.ptr(67712,67742,1),new IH.ptr(67751,67759,1)]),0);EB=new IF.ptr(new JM([]),new JN([new IH.ptr(72096,72103,1),new IH.ptr(72106,72151,1),new IH.ptr(72154,72164,1)]),0);EC=new IF.ptr(new JM([new IG.ptr(6528,6571,1),new IG.ptr(6576,6601,1),new IG.ptr(6608,6618,1),new IG.ptr(6622,6623,1)]),JN.nil,0);ED=new IF.ptr(new JM([]),new JN([new IH.ptr(70656,70747,1),new IH.ptr(70749,70753,1)]),0);EE=new IF.ptr(new JM([new IG.ptr(1984,2042,1),new IG.ptr(2045,2047,1)]),JN.nil,0);EF=new IF.ptr(new JM([]),new JN([new IH.ptr(94177,110960,16783),new IH.ptr(110961,111355,1)]),0);EG=new IF.ptr(new JM([]),new JN([new IH.ptr(123136,123180,1),new IH.ptr(123184,123197,1),new IH.ptr(123200,123209,1),new IH.ptr(123214,123215,1)]),0);EH=new IF.ptr(new JM([new IG.ptr(5760,5788,1)]),JN.nil,0);EI=new IF.ptr(new JM([new IG.ptr(7248,7295,1)]),JN.nil,0);EJ=new IF.ptr(new JM([]),new JN([new IH.ptr(68736,68786,1),new IH.ptr(68800,68850,1),new IH.ptr(68858,68863,1)]),0);EK=new IF.ptr(new JM([]),new JN([new IH.ptr(66304,66339,1),new IH.ptr(66349,66351,1)]),0);EL=new IF.ptr(new JM([]),new JN([new IH.ptr(68224,68255,1)]),0);EM=new IF.ptr(new JM([]),new JN([new IH.ptr(66384,66426,1)]),0);EN=new IF.ptr(new JM([]),new JN([new IH.ptr(66464,66499,1),new IH.ptr(66504,66517,1)]),0);EO=new IF.ptr(new JM([]),new JN([new IH.ptr(69376,69415,1)]),0);EP=new IF.ptr(new JM([]),new JN([new IH.ptr(68192,68223,1)]),0);EQ=new IF.ptr(new JM([]),new JN([new IH.ptr(68608,68680,1)]),0);ER=new IF.ptr(new JM([new IG.ptr(2817,2819,1),new IG.ptr(2821,2828,1),new IG.ptr(2831,2832,1),new IG.ptr(2835,2856,1),new IG.ptr(2858,2864,1),new IG.ptr(2866,2867,1),new IG.ptr(2869,2873,1),new IG.ptr(2876,2884,1),new IG.ptr(2887,2888,1),new IG.ptr(2891,2893,1),new IG.ptr(2901,2903,1),new IG.ptr(2908,2909,1),new IG.ptr(2911,2915,1),new IG.ptr(2918,2935,1)]),JN.nil,0);ES=new IF.ptr(new JM([]),new JN([new IH.ptr(66736,66771,1),new IH.ptr(66776,66811,1)]),0);ET=new IF.ptr(new JM([]),new JN([new IH.ptr(66688,66717,1),new IH.ptr(66720,66729,1)]),0);EU=new IF.ptr(new JM([]),new JN([new IH.ptr(92928,92997,1),new IH.ptr(93008,93017,1),new IH.ptr(93019,93025,1),new IH.ptr(93027,93047,1),new IH.ptr(93053,93071,1)]),0);EV=new IF.ptr(new JM([]),new JN([new IH.ptr(67680,67711,1)]),0);EW=new IF.ptr(new JM([]),new JN([new IH.ptr(72384,72440,1)]),0);EX=new IF.ptr(new JM([new IG.ptr(43072,43127,1)]),JN.nil,0);EY=new IF.ptr(new JM([]),new JN([new IH.ptr(67840,67867,1),new IH.ptr(67871,67871,1)]),0);EZ=new IF.ptr(new JM([]),new JN([new IH.ptr(68480,68497,1),new IH.ptr(68505,68508,1),new IH.ptr(68521,68527,1)]),0);FA=new IF.ptr(new JM([new IG.ptr(43312,43347,1),new IG.ptr(43359,43359,1)]),JN.nil,0);FB=new IF.ptr(new JM([new IG.ptr(5792,5866,1),new IG.ptr(5870,5880,1)]),JN.nil,0);FC=new IF.ptr(new JM([new IG.ptr(2048,2093,1),new IG.ptr(2096,2110,1)]),JN.nil,0);FD=new IF.ptr(new JM([new IG.ptr(43136,43205,1),new IG.ptr(43214,43225,1)]),JN.nil,0);FE=new IF.ptr(new JM([]),new JN([new IH.ptr(70016,70111,1)]),0);FF=new IF.ptr(new JM([]),new JN([new IH.ptr(66640,66687,1)]),0);FG=new IF.ptr(new JM([]),new JN([new IH.ptr(71040,71093,1),new IH.ptr(71096,71133,1)]),0);FH=new IF.ptr(new JM([]),new JN([new IH.ptr(120832,121483,1),new IH.ptr(121499,121503,1),new IH.ptr(121505,121519,1)]),0);FI=new IF.ptr(new JM([new IG.ptr(3457,3459,1),new IG.ptr(3461,3478,1),new IG.ptr(3482,3505,1),new IG.ptr(3507,3515,1),new IG.ptr(3517,3520,3),new IG.ptr(3521,3526,1),new IG.ptr(3530,3535,5),new IG.ptr(3536,3540,1),new IG.ptr(3542,3544,2),new IG.ptr(3545,3551,1),new IG.ptr(3558,3567,1),new IG.ptr(3570,3572,1)]),new JN([new IH.ptr(70113,70132,1)]),0);FJ=new IF.ptr(new JM([]),new JN([new IH.ptr(69424,69465,1)]),0);FK=new IF.ptr(new JM([]),new JN([new IH.ptr(69840,69864,1),new IH.ptr(69872,69881,1)]),0);FL=new IF.ptr(new JM([]),new JN([new IH.ptr(72272,72354,1)]),0);FM=new IF.ptr(new JM([new IG.ptr(7040,7103,1),new IG.ptr(7360,7367,1)]),JN.nil,0);FN=new IF.ptr(new JM([new IG.ptr(43008,43052,1)]),JN.nil,0);FO=new IF.ptr(new JM([new IG.ptr(1792,1805,1),new IG.ptr(1807,1866,1),new IG.ptr(1869,1871,1),new IG.ptr(2144,2154,1)]),JN.nil,0);FP=new IF.ptr(new JM([new IG.ptr(5888,5900,1),new IG.ptr(5902,5908,1)]),JN.nil,0);FQ=new IF.ptr(new JM([new IG.ptr(5984,5996,1),new IG.ptr(5998,6000,1),new IG.ptr(6002,6003,1)]),JN.nil,0);FR=new IF.ptr(new JM([new IG.ptr(6480,6509,1),new IG.ptr(6512,6516,1)]),JN.nil,0);FS=new IF.ptr(new JM([new IG.ptr(6688,6750,1),new IG.ptr(6752,6780,1),new IG.ptr(6783,6793,1),new IG.ptr(6800,6809,1),new IG.ptr(6816,6829,1)]),JN.nil,0);FT=new IF.ptr(new JM([new IG.ptr(43648,43714,1),new IG.ptr(43739,43743,1)]),JN.nil,0);FU=new IF.ptr(new JM([]),new JN([new IH.ptr(71296,71352,1),new IH.ptr(71360,71369,1)]),0);FV=new IF.ptr(new JM([new IG.ptr(2946,2947,1),new IG.ptr(2949,2954,1),new IG.ptr(2958,2960,1),new IG.ptr(2962,2965,1),new IG.ptr(2969,2970,1),new IG.ptr(2972,2974,2),new IG.ptr(2975,2979,4),new IG.ptr(2980,2984,4),new IG.ptr(2985,2986,1),new IG.ptr(2990,3001,1),new IG.ptr(3006,3010,1),new IG.ptr(3014,3016,1),new IG.ptr(3018,3021,1),new IG.ptr(3024,3031,7),new IG.ptr(3046,3066,1)]),new JN([new IH.ptr(73664,73713,1),new IH.ptr(73727,73727,1)]),0);FW=new IF.ptr(new JM([]),new JN([new IH.ptr(94176,94208,32),new IH.ptr(94209,100343,1),new IH.ptr(100352,101119,1),new IH.ptr(101632,101640,1)]),0);FX=new IF.ptr(new JM([new IG.ptr(3072,3084,1),new IG.ptr(3086,3088,1),new IG.ptr(3090,3112,1),new IG.ptr(3114,3129,1),new IG.ptr(3133,3140,1),new IG.ptr(3142,3144,1),new IG.ptr(3146,3149,1),new IG.ptr(3157,3158,1),new IG.ptr(3160,3162,1),new IG.ptr(3168,3171,1),new IG.ptr(3174,3183,1),new IG.ptr(3191,3199,1)]),JN.nil,0);FY=new IF.ptr(new JM([new IG.ptr(1920,1969,1)]),JN.nil,0);FZ=new IF.ptr(new JM([new IG.ptr(3585,3642,1),new IG.ptr(3648,3675,1)]),JN.nil,0);GA=new IF.ptr(new JM([new IG.ptr(3840,3911,1),new IG.ptr(3913,3948,1),new IG.ptr(3953,3991,1),new IG.ptr(3993,4028,1),new IG.ptr(4030,4044,1),new IG.ptr(4046,4052,1),new IG.ptr(4057,4058,1)]),JN.nil,0);GB=new IF.ptr(new JM([new IG.ptr(11568,11623,1),new IG.ptr(11631,11632,1),new IG.ptr(11647,11647,1)]),JN.nil,0);GC=new IF.ptr(new JM([]),new JN([new IH.ptr(70784,70855,1),new IH.ptr(70864,70873,1)]),0);GD=new IF.ptr(new JM([]),new JN([new IH.ptr(66432,66461,1),new IH.ptr(66463,66463,1)]),0);GE=new IF.ptr(new JM([new IG.ptr(42240,42539,1)]),JN.nil,0);GF=new IF.ptr(new JM([]),new JN([new IH.ptr(123584,123641,1),new IH.ptr(123647,123647,1)]),0);GG=new IF.ptr(new JM([]),new JN([new IH.ptr(71840,71922,1),new IH.ptr(71935,71935,1)]),0);GH=new IF.ptr(new JM([]),new JN([new IH.ptr(69248,69289,1),new IH.ptr(69291,69293,1),new IH.ptr(69296,69297,1)]),0);GI=new IF.ptr(new JM([new IG.ptr(40960,42124,1),new IG.ptr(42128,42182,1)]),JN.nil,0);GJ=new IF.ptr(new JM([]),new JN([new IH.ptr(72192,72263,1)]),0);$pkg.Adlam=AK;$pkg.Ahom=AL;$pkg.Anatolian_Hieroglyphs=AM;$pkg.Arabic=AN;$pkg.Armenian=AO;$pkg.Avestan=AP;$pkg.Balinese=AQ;$pkg.Bamum=AR;$pkg.Bassa_Vah=AS;$pkg.Batak=AT;$pkg.Bengali=AU;$pkg.Bhaiksuki=AV;$pkg.Bopomofo=AW;$pkg.Brahmi=AX;$pkg.Braille=AY;$pkg.Buginese=AZ;$pkg.Buhid=BA;$pkg.Canadian_Aboriginal=BB;$pkg.Carian=BC;$pkg.Caucasian_Albanian=BD;$pkg.Chakma=BE;$pkg.Cham=BF;$pkg.Cherokee=BG;$pkg.Chorasmian=BH;$pkg.Common=BI;$pkg.Coptic=BJ;$pkg.Cuneiform=BK;$pkg.Cypriot=BL;$pkg.Cyrillic=BM;$pkg.Deseret=BN;$pkg.Devanagari=BO;$pkg.Dives_Akuru=BP;$pkg.Dogra=BQ;$pkg.Duployan=BR;$pkg.Egyptian_Hieroglyphs=BS;$pkg.Elbasan=BT;$pkg.Elymaic=BU;$pkg.Ethiopic=BV;$pkg.Georgian=BW;$pkg.Glagolitic=BX;$pkg.Gothic=BY;$pkg.Grantha=BZ;$pkg.Greek=CA;$pkg.Gujarati=CB;$pkg.Gunjala_Gondi=CC;$pkg.Gurmukhi=CD;$pkg.Han=CE;$pkg.Hangul=CF;$pkg.Hanifi_Rohingya=CG;$pkg.Hanunoo=CH;$pkg.Hatran=CI;$pkg.Hebrew=CJ;$pkg.Hiragana=CK;$pkg.Imperial_Aramaic=CL;$pkg.Inherited=CM;$pkg.Inscriptional_Pahlavi=CN;$pkg.Inscriptional_Parthian=CO;$pkg.Javanese=CP;$pkg.Kaithi=CQ;$pkg.Kannada=CR;$pkg.Katakana=CS;$pkg.Kayah_Li=CT;$pkg.Kharoshthi=CU;$pkg.Khitan_Small_Script=CV;$pkg.Khmer=CW;$pkg.Khojki=CX;$pkg.Khudawadi=CY;$pkg.Lao=CZ;$pkg.Latin=DA;$pkg.Lepcha=DB;$pkg.Limbu=DC;$pkg.Linear_A=DD;$pkg.Linear_B=DE;$pkg.Lisu=DF;$pkg.Lycian=DG;$pkg.Lydian=DH;$pkg.Mahajani=DI;$pkg.Makasar=DJ;$pkg.Malayalam=DK;$pkg.Mandaic=DL;$pkg.Manichaean=DM;$pkg.Marchen=DN;$pkg.Masaram_Gondi=DO;$pkg.Medefaidrin=DP;$pkg.Meetei_Mayek=DQ;$pkg.Mende_Kikakui=DR;$pkg.Meroitic_Cursive=DS;$pkg.Meroitic_Hieroglyphs=DT;$pkg.Miao=DU;$pkg.Modi=DV;$pkg.Mongolian=DW;$pkg.Mro=DX;$pkg.Multani=DY;$pkg.Myanmar=DZ;$pkg.Nabataean=EA;$pkg.Nandinagari=EB;$pkg.New_Tai_Lue=EC;$pkg.Newa=ED;$pkg.Nko=EE;$pkg.Nushu=EF;$pkg.Nyiakeng_Puachue_Hmong=EG;$pkg.Ogham=EH;$pkg.Ol_Chiki=EI;$pkg.Old_Hungarian=EJ;$pkg.Old_Italic=EK;$pkg.Old_North_Arabian=EL;$pkg.Old_Permic=EM;$pkg.Old_Persian=EN;$pkg.Old_Sogdian=EO;$pkg.Old_South_Arabian=EP;$pkg.Old_Turkic=EQ;$pkg.Oriya=ER;$pkg.Osage=ES;$pkg.Osmanya=ET;$pkg.Pahawh_Hmong=EU;$pkg.Palmyrene=EV;$pkg.Pau_Cin_Hau=EW;$pkg.Phags_Pa=EX;$pkg.Phoenician=EY;$pkg.Psalter_Pahlavi=EZ;$pkg.Rejang=FA;$pkg.Runic=FB;$pkg.Samaritan=FC;$pkg.Saurashtra=FD;$pkg.Sharada=FE;$pkg.Shavian=FF;$pkg.Siddham=FG;$pkg.SignWriting=FH;$pkg.Sinhala=FI;$pkg.Sogdian=FJ;$pkg.Sora_Sompeng=FK;$pkg.Soyombo=FL;$pkg.Sundanese=FM;$pkg.Syloti_Nagri=FN;$pkg.Syriac=FO;$pkg.Tagalog=FP;$pkg.Tagbanwa=FQ;$pkg.Tai_Le=FR;$pkg.Tai_Tham=FS;$pkg.Tai_Viet=FT;$pkg.Takri=FU;$pkg.Tamil=FV;$pkg.Tangut=FW;$pkg.Telugu=FX;$pkg.Thaana=FY;$pkg.Thai=FZ;$pkg.Tibetan=GA;$pkg.Tifinagh=GB;$pkg.Tirhuta=GC;$pkg.Ugaritic=GD;$pkg.Vai=GE;$pkg.Wancho=GF;$pkg.Warang_Citi=GG;$pkg.Yezidi=GH;$pkg.Yi=GI;$pkg.Zanabazar_Square=GJ;$pkg.Scripts=$makeMap($String.keyFor,[{k:"Adlam",v:$pkg.Adlam},{k:"Ahom",v:$pkg.Ahom},{k:"Anatolian_Hieroglyphs",v:$pkg.Anatolian_Hieroglyphs},{k:"Arabic",v:$pkg.Arabic},{k:"Armenian",v:$pkg.Armenian},{k:"Avestan",v:$pkg.Avestan},{k:"Balinese",v:$pkg.Balinese},{k:"Bamum",v:$pkg.Bamum},{k:"Bassa_Vah",v:$pkg.Bassa_Vah},{k:"Batak",v:$pkg.Batak},{k:"Bengali",v:$pkg.Bengali},{k:"Bhaiksuki",v:$pkg.Bhaiksuki},{k:"Bopomofo",v:$pkg.Bopomofo},{k:"Brahmi",v:$pkg.Brahmi},{k:"Braille",v:$pkg.Braille},{k:"Buginese",v:$pkg.Buginese},{k:"Buhid",v:$pkg.Buhid},{k:"Canadian_Aboriginal",v:$pkg.Canadian_Aboriginal},{k:"Carian",v:$pkg.Carian},{k:"Caucasian_Albanian",v:$pkg.Caucasian_Albanian},{k:"Chakma",v:$pkg.Chakma},{k:"Cham",v:$pkg.Cham},{k:"Cherokee",v:$pkg.Cherokee},{k:"Chorasmian",v:$pkg.Chorasmian},{k:"Common",v:$pkg.Common},{k:"Coptic",v:$pkg.Coptic},{k:"Cuneiform",v:$pkg.Cuneiform},{k:"Cypriot",v:$pkg.Cypriot},{k:"Cyrillic",v:$pkg.Cyrillic},{k:"Deseret",v:$pkg.Deseret},{k:"Devanagari",v:$pkg.Devanagari},{k:"Dives_Akuru",v:$pkg.Dives_Akuru},{k:"Dogra",v:$pkg.Dogra},{k:"Duployan",v:$pkg.Duployan},{k:"Egyptian_Hieroglyphs",v:$pkg.Egyptian_Hieroglyphs},{k:"Elbasan",v:$pkg.Elbasan},{k:"Elymaic",v:$pkg.Elymaic},{k:"Ethiopic",v:$pkg.Ethiopic},{k:"Georgian",v:$pkg.Georgian},{k:"Glagolitic",v:$pkg.Glagolitic},{k:"Gothic",v:$pkg.Gothic},{k:"Grantha",v:$pkg.Grantha},{k:"Greek",v:$pkg.Greek},{k:"Gujarati",v:$pkg.Gujarati},{k:"Gunjala_Gondi",v:$pkg.Gunjala_Gondi},{k:"Gurmukhi",v:$pkg.Gurmukhi},{k:"Han",v:$pkg.Han},{k:"Hangul",v:$pkg.Hangul},{k:"Hanifi_Rohingya",v:$pkg.Hanifi_Rohingya},{k:"Hanunoo",v:$pkg.Hanunoo},{k:"Hatran",v:$pkg.Hatran},{k:"Hebrew",v:$pkg.Hebrew},{k:"Hiragana",v:$pkg.Hiragana},{k:"Imperial_Aramaic",v:$pkg.Imperial_Aramaic},{k:"Inherited",v:$pkg.Inherited},{k:"Inscriptional_Pahlavi",v:$pkg.Inscriptional_Pahlavi},{k:"Inscriptional_Parthian",v:$pkg.Inscriptional_Parthian},{k:"Javanese",v:$pkg.Javanese},{k:"Kaithi",v:$pkg.Kaithi},{k:"Kannada",v:$pkg.Kannada},{k:"Katakana",v:$pkg.Katakana},{k:"Kayah_Li",v:$pkg.Kayah_Li},{k:"Kharoshthi",v:$pkg.Kharoshthi},{k:"Khitan_Small_Script",v:$pkg.Khitan_Small_Script},{k:"Khmer",v:$pkg.Khmer},{k:"Khojki",v:$pkg.Khojki},{k:"Khudawadi",v:$pkg.Khudawadi},{k:"Lao",v:$pkg.Lao},{k:"Latin",v:$pkg.Latin},{k:"Lepcha",v:$pkg.Lepcha},{k:"Limbu",v:$pkg.Limbu},{k:"Linear_A",v:$pkg.Linear_A},{k:"Linear_B",v:$pkg.Linear_B},{k:"Lisu",v:$pkg.Lisu},{k:"Lycian",v:$pkg.Lycian},{k:"Lydian",v:$pkg.Lydian},{k:"Mahajani",v:$pkg.Mahajani},{k:"Makasar",v:$pkg.Makasar},{k:"Malayalam",v:$pkg.Malayalam},{k:"Mandaic",v:$pkg.Mandaic},{k:"Manichaean",v:$pkg.Manichaean},{k:"Marchen",v:$pkg.Marchen},{k:"Masaram_Gondi",v:$pkg.Masaram_Gondi},{k:"Medefaidrin",v:$pkg.Medefaidrin},{k:"Meetei_Mayek",v:$pkg.Meetei_Mayek},{k:"Mende_Kikakui",v:$pkg.Mende_Kikakui},{k:"Meroitic_Cursive",v:$pkg.Meroitic_Cursive},{k:"Meroitic_Hieroglyphs",v:$pkg.Meroitic_Hieroglyphs},{k:"Miao",v:$pkg.Miao},{k:"Modi",v:$pkg.Modi},{k:"Mongolian",v:$pkg.Mongolian},{k:"Mro",v:$pkg.Mro},{k:"Multani",v:$pkg.Multani},{k:"Myanmar",v:$pkg.Myanmar},{k:"Nabataean",v:$pkg.Nabataean},{k:"Nandinagari",v:$pkg.Nandinagari},{k:"New_Tai_Lue",v:$pkg.New_Tai_Lue},{k:"Newa",v:$pkg.Newa},{k:"Nko",v:$pkg.Nko},{k:"Nushu",v:$pkg.Nushu},{k:"Nyiakeng_Puachue_Hmong",v:$pkg.Nyiakeng_Puachue_Hmong},{k:"Ogham",v:$pkg.Ogham},{k:"Ol_Chiki",v:$pkg.Ol_Chiki},{k:"Old_Hungarian",v:$pkg.Old_Hungarian},{k:"Old_Italic",v:$pkg.Old_Italic},{k:"Old_North_Arabian",v:$pkg.Old_North_Arabian},{k:"Old_Permic",v:$pkg.Old_Permic},{k:"Old_Persian",v:$pkg.Old_Persian},{k:"Old_Sogdian",v:$pkg.Old_Sogdian},{k:"Old_South_Arabian",v:$pkg.Old_South_Arabian},{k:"Old_Turkic",v:$pkg.Old_Turkic},{k:"Oriya",v:$pkg.Oriya},{k:"Osage",v:$pkg.Osage},{k:"Osmanya",v:$pkg.Osmanya},{k:"Pahawh_Hmong",v:$pkg.Pahawh_Hmong},{k:"Palmyrene",v:$pkg.Palmyrene},{k:"Pau_Cin_Hau",v:$pkg.Pau_Cin_Hau},{k:"Phags_Pa",v:$pkg.Phags_Pa},{k:"Phoenician",v:$pkg.Phoenician},{k:"Psalter_Pahlavi",v:$pkg.Psalter_Pahlavi},{k:"Rejang",v:$pkg.Rejang},{k:"Runic",v:$pkg.Runic},{k:"Samaritan",v:$pkg.Samaritan},{k:"Saurashtra",v:$pkg.Saurashtra},{k:"Sharada",v:$pkg.Sharada},{k:"Shavian",v:$pkg.Shavian},{k:"Siddham",v:$pkg.Siddham},{k:"SignWriting",v:$pkg.SignWriting},{k:"Sinhala",v:$pkg.Sinhala},{k:"Sogdian",v:$pkg.Sogdian},{k:"Sora_Sompeng",v:$pkg.Sora_Sompeng},{k:"Soyombo",v:$pkg.Soyombo},{k:"Sundanese",v:$pkg.Sundanese},{k:"Syloti_Nagri",v:$pkg.Syloti_Nagri},{k:"Syriac",v:$pkg.Syriac},{k:"Tagalog",v:$pkg.Tagalog},{k:"Tagbanwa",v:$pkg.Tagbanwa},{k:"Tai_Le",v:$pkg.Tai_Le},{k:"Tai_Tham",v:$pkg.Tai_Tham},{k:"Tai_Viet",v:$pkg.Tai_Viet},{k:"Takri",v:$pkg.Takri},{k:"Tamil",v:$pkg.Tamil},{k:"Tangut",v:$pkg.Tangut},{k:"Telugu",v:$pkg.Telugu},{k:"Thaana",v:$pkg.Thaana},{k:"Thai",v:$pkg.Thai},{k:"Tibetan",v:$pkg.Tibetan},{k:"Tifinagh",v:$pkg.Tifinagh},{k:"Tirhuta",v:$pkg.Tirhuta},{k:"Ugaritic",v:$pkg.Ugaritic},{k:"Vai",v:$pkg.Vai},{k:"Wancho",v:$pkg.Wancho},{k:"Warang_Citi",v:$pkg.Warang_Citi},{k:"Yezidi",v:$pkg.Yezidi},{k:"Yi",v:$pkg.Yi},{k:"Zanabazar_Square",v:$pkg.Zanabazar_Square}]);HR=new IF.ptr(new JM([new IG.ptr(9,13,1),new IG.ptr(32,133,101),new IG.ptr(160,5760,5600),new IG.ptr(8192,8202,1),new IG.ptr(8232,8233,1),new IG.ptr(8239,8287,48),new IG.ptr(12288,12288,1)]),JN.nil,2);$pkg.White_Space=HR;HV=new JO([new IW.ptr(75,107),new IW.ptr(83,115),new IW.ptr(107,8490),new IW.ptr(115,383),new IW.ptr(181,924),new IW.ptr(197,229),new IW.ptr(223,7838),new IW.ptr(229,8491),new IW.ptr(304,304),new IW.ptr(305,305),new IW.ptr(383,83),new IW.ptr(452,453),new IW.ptr(453,454),new IW.ptr(454,452),new IW.ptr(455,456),new IW.ptr(456,457),new IW.ptr(457,455),new IW.ptr(458,459),new IW.ptr(459,460),new IW.ptr(460,458),new IW.ptr(497,498),new IW.ptr(498,499),new IW.ptr(499,497),new IW.ptr(837,921),new IW.ptr(914,946),new IW.ptr(917,949),new IW.ptr(920,952),new IW.ptr(921,953),new IW.ptr(922,954),new IW.ptr(924,956),new IW.ptr(928,960),new IW.ptr(929,961),new IW.ptr(931,962),new IW.ptr(934,966),new IW.ptr(937,969),new IW.ptr(946,976),new IW.ptr(949,1013),new IW.ptr(952,977),new IW.ptr(953,8126),new IW.ptr(954,1008),new IW.ptr(956,181),new IW.ptr(960,982),new IW.ptr(961,1009),new IW.ptr(962,963),new IW.ptr(963,931),new IW.ptr(966,981),new IW.ptr(969,8486),new IW.ptr(976,914),new IW.ptr(977,1012),new IW.ptr(981,934),new IW.ptr(982,928),new IW.ptr(1008,922),new IW.ptr(1009,929),new IW.ptr(1012,920),new IW.ptr(1013,917),new IW.ptr(1042,1074),new IW.ptr(1044,1076),new IW.ptr(1054,1086),new IW.ptr(1057,1089),new IW.ptr(1058,1090),new IW.ptr(1066,1098),new IW.ptr(1074,7296),new IW.ptr(1076,7297),new IW.ptr(1086,7298),new IW.ptr(1089,7299),new IW.ptr(1090,7300),new IW.ptr(1098,7302),new IW.ptr(1122,1123),new IW.ptr(1123,7303),new IW.ptr(7296,1042),new IW.ptr(7297,1044),new IW.ptr(7298,1054),new IW.ptr(7299,1057),new IW.ptr(7300,7301),new IW.ptr(7301,1058),new IW.ptr(7302,1066),new IW.ptr(7303,1122),new IW.ptr(7304,42570),new IW.ptr(7776,7777),new IW.ptr(7777,7835),new IW.ptr(7835,7776),new IW.ptr(7838,223),new IW.ptr(8126,837),new IW.ptr(8486,937),new IW.ptr(8490,75),new IW.ptr(8491,197),new IW.ptr(42570,42571),new IW.ptr(42571,7304)]);HW=new IF.ptr(new JM([new IG.ptr(837,837,1)]),JN.nil,0);HX=new IF.ptr(new JM([new IG.ptr(65,90,1),new IG.ptr(192,214,1),new IG.ptr(216,222,1),new IG.ptr(256,302,2),new IG.ptr(306,310,2),new IG.ptr(313,327,2),new IG.ptr(330,376,2),new IG.ptr(377,381,2),new IG.ptr(385,386,1),new IG.ptr(388,390,2),new IG.ptr(391,393,2),new IG.ptr(394,395,1),new IG.ptr(398,401,1),new IG.ptr(403,404,1),new IG.ptr(406,408,1),new IG.ptr(412,413,1),new IG.ptr(415,416,1),new IG.ptr(418,422,2),new IG.ptr(423,425,2),new IG.ptr(428,430,2),new IG.ptr(431,433,2),new IG.ptr(434,435,1),new IG.ptr(437,439,2),new IG.ptr(440,444,4),new IG.ptr(452,453,1),new IG.ptr(455,456,1),new IG.ptr(458,459,1),new IG.ptr(461,475,2),new IG.ptr(478,494,2),new IG.ptr(497,498,1),new IG.ptr(500,502,2),new IG.ptr(503,504,1),new IG.ptr(506,562,2),new IG.ptr(570,571,1),new IG.ptr(573,574,1),new IG.ptr(577,579,2),new IG.ptr(580,582,1),new IG.ptr(584,590,2),new IG.ptr(837,880,43),new IG.ptr(882,886,4),new IG.ptr(895,902,7),new IG.ptr(904,906,1),new IG.ptr(908,910,2),new IG.ptr(911,913,2),new IG.ptr(914,929,1),new IG.ptr(931,939,1),new IG.ptr(975,984,9),new IG.ptr(986,1006,2),new IG.ptr(1012,1015,3),new IG.ptr(1017,1018,1),new IG.ptr(1021,1071,1),new IG.ptr(1120,1152,2),new IG.ptr(1162,1216,2),new IG.ptr(1217,1229,2),new IG.ptr(1232,1326,2),new IG.ptr(1329,1366,1),new IG.ptr(4256,4293,1),new IG.ptr(4295,4301,6),new IG.ptr(5024,5109,1),new IG.ptr(7312,7354,1),new IG.ptr(7357,7359,1),new IG.ptr(7680,7828,2),new IG.ptr(7838,7934,2),new IG.ptr(7944,7951,1),new IG.ptr(7960,7965,1),new IG.ptr(7976,7983,1),new IG.ptr(7992,7999,1),new IG.ptr(8008,8013,1),new IG.ptr(8025,8031,2),new IG.ptr(8040,8047,1),new IG.ptr(8072,8079,1),new IG.ptr(8088,8095,1),new IG.ptr(8104,8111,1),new IG.ptr(8120,8124,1),new IG.ptr(8136,8140,1),new IG.ptr(8152,8155,1),new IG.ptr(8168,8172,1),new IG.ptr(8184,8188,1),new IG.ptr(8486,8490,4),new IG.ptr(8491,8498,7),new IG.ptr(8579,11264,2685),new IG.ptr(11265,11310,1),new IG.ptr(11360,11362,2),new IG.ptr(11363,11364,1),new IG.ptr(11367,11373,2),new IG.ptr(11374,11376,1),new IG.ptr(11378,11381,3),new IG.ptr(11390,11392,1),new IG.ptr(11394,11490,2),new IG.ptr(11499,11501,2),new IG.ptr(11506,42560,31054),new IG.ptr(42562,42604,2),new IG.ptr(42624,42650,2),new IG.ptr(42786,42798,2),new IG.ptr(42802,42862,2),new IG.ptr(42873,42877,2),new IG.ptr(42878,42886,2),new IG.ptr(42891,42893,2),new IG.ptr(42896,42898,2),new IG.ptr(42902,42922,2),new IG.ptr(42923,42926,1),new IG.ptr(42928,42932,1),new IG.ptr(42934,42942,2),new IG.ptr(42946,42948,2),new IG.ptr(42949,42951,1),new IG.ptr(42953,42997,44),new IG.ptr(65313,65338,1)]),new JN([new IH.ptr(66560,66599,1),new IH.ptr(66736,66771,1),new IH.ptr(68736,68786,1),new IH.ptr(71840,71871,1),new IH.ptr(93760,93791,1),new IH.ptr(125184,125217,1)]),3);HY=new IF.ptr(new JM([new IG.ptr(452,454,2),new IG.ptr(455,457,2),new IG.ptr(458,460,2),new IG.ptr(497,499,2),new IG.ptr(8064,8071,1),new IG.ptr(8080,8087,1),new IG.ptr(8096,8103,1),new IG.ptr(8115,8131,16),new IG.ptr(8179,8179,1)]),JN.nil,0);HZ=new IF.ptr(new JM([new IG.ptr(97,122,1),new IG.ptr(181,223,42),new IG.ptr(224,246,1),new IG.ptr(248,255,1),new IG.ptr(257,303,2),new IG.ptr(307,311,2),new IG.ptr(314,328,2),new IG.ptr(331,375,2),new IG.ptr(378,382,2),new IG.ptr(383,384,1),new IG.ptr(387,389,2),new IG.ptr(392,396,4),new IG.ptr(402,405,3),new IG.ptr(409,410,1),new IG.ptr(414,417,3),new IG.ptr(419,421,2),new IG.ptr(424,429,5),new IG.ptr(432,436,4),new IG.ptr(438,441,3),new IG.ptr(445,447,2),new IG.ptr(453,454,1),new IG.ptr(456,457,1),new IG.ptr(459,460,1),new IG.ptr(462,476,2),new IG.ptr(477,495,2),new IG.ptr(498,499,1),new IG.ptr(501,505,4),new IG.ptr(507,543,2),new IG.ptr(547,563,2),new IG.ptr(572,575,3),new IG.ptr(576,578,2),new IG.ptr(583,591,2),new IG.ptr(592,596,1),new IG.ptr(598,599,1),new IG.ptr(601,603,2),new IG.ptr(604,608,4),new IG.ptr(609,613,2),new IG.ptr(614,616,2),new IG.ptr(617,620,1),new IG.ptr(623,625,2),new IG.ptr(626,629,3),new IG.ptr(637,640,3),new IG.ptr(642,643,1),new IG.ptr(647,652,1),new IG.ptr(658,669,11),new IG.ptr(670,837,167),new IG.ptr(881,883,2),new IG.ptr(887,891,4),new IG.ptr(892,893,1),new IG.ptr(940,943,1),new IG.ptr(945,974,1),new IG.ptr(976,977,1),new IG.ptr(981,983,1),new IG.ptr(985,1007,2),new IG.ptr(1008,1011,1),new IG.ptr(1013,1019,3),new IG.ptr(1072,1119,1),new IG.ptr(1121,1153,2),new IG.ptr(1163,1215,2),new IG.ptr(1218,1230,2),new IG.ptr(1231,1327,2),new IG.ptr(1377,1414,1),new IG.ptr(4304,4346,1),new IG.ptr(4349,4351,1),new IG.ptr(5112,5117,1),new IG.ptr(7296,7304,1),new IG.ptr(7545,7549,4),new IG.ptr(7566,7681,115),new IG.ptr(7683,7829,2),new IG.ptr(7835,7841,6),new IG.ptr(7843,7935,2),new IG.ptr(7936,7943,1),new IG.ptr(7952,7957,1),new IG.ptr(7968,7975,1),new IG.ptr(7984,7991,1),new IG.ptr(8000,8005,1),new IG.ptr(8017,8023,2),new IG.ptr(8032,8039,1),new IG.ptr(8048,8061,1),new IG.ptr(8112,8113,1),new IG.ptr(8126,8144,18),new IG.ptr(8145,8160,15),new IG.ptr(8161,8165,4),new IG.ptr(8526,8580,54),new IG.ptr(11312,11358,1),new IG.ptr(11361,11365,4),new IG.ptr(11366,11372,2),new IG.ptr(11379,11382,3),new IG.ptr(11393,11491,2),new IG.ptr(11500,11502,2),new IG.ptr(11507,11520,13),new IG.ptr(11521,11557,1),new IG.ptr(11559,11565,6),new IG.ptr(42561,42605,2),new IG.ptr(42625,42651,2),new IG.ptr(42787,42799,2),new IG.ptr(42803,42863,2),new IG.ptr(42874,42876,2),new IG.ptr(42879,42887,2),new IG.ptr(42892,42897,5),new IG.ptr(42899,42900,1),new IG.ptr(42903,42921,2),new IG.ptr(42933,42943,2),new IG.ptr(42947,42952,5),new IG.ptr(42954,42998,44),new IG.ptr(43859,43888,29),new IG.ptr(43889,43967,1),new IG.ptr(65345,65370,1)]),new JN([new IH.ptr(66600,66639,1),new IH.ptr(66776,66811,1),new IH.ptr(68800,68850,1),new IH.ptr(71872,71903,1),new IH.ptr(93792,93823,1),new IH.ptr(125218,125251,1)]),4);IA=new IF.ptr(new JM([new IG.ptr(921,953,32),new IG.ptr(8126,8126,1)]),JN.nil,0);IB=new IF.ptr(new JM([new IG.ptr(921,953,32),new IG.ptr(8126,8126,1)]),JN.nil,0);$pkg.FoldCategory=$makeMap($String.keyFor,[{k:"L",v:HW},{k:"Ll",v:HX},{k:"Lt",v:HY},{k:"Lu",v:HZ},{k:"M",v:IA},{k:"Mn",v:IB}]);IC=new IF.ptr(new JM([new IG.ptr(924,956,32)]),JN.nil,0);ID=new IF.ptr(new JM([new IG.ptr(181,837,656)]),JN.nil,0);IE=new IF.ptr(new JM([new IG.ptr(921,953,32),new IG.ptr(8126,8126,1)]),JN.nil,0);$pkg.FoldScript=$makeMap($String.keyFor,[{k:"Common",v:IC},{k:"Greek",v:ID},{k:"Inherited",v:IE}]);HU=$toNativeArray($kindUint16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,65,66,67,68,69,70,71,72,73,74,8490,76,77,78,79,80,81,82,383,84,85,86,87,88,89,90,123,124,125,126,127]);HS=new JP([new II.ptr(65,90,$toNativeArray($kindInt32,[0,32,0])),new II.ptr(97,122,$toNativeArray($kindInt32,[-32,0,-32])),new II.ptr(181,181,$toNativeArray($kindInt32,[743,0,743])),new II.ptr(192,214,$toNativeArray($kindInt32,[0,32,0])),new II.ptr(216,222,$toNativeArray($kindInt32,[0,32,0])),new II.ptr(224,246,$toNativeArray($kindInt32,[-32,0,-32])),new II.ptr(248,254,$toNativeArray($kindInt32,[-32,0,-32])),new II.ptr(255,255,$toNativeArray($kindInt32,[121,0,121])),new II.ptr(256,303,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(304,304,$toNativeArray($kindInt32,[0,-199,0])),new II.ptr(305,305,$toNativeArray($kindInt32,[-232,0,-232])),new II.ptr(306,311,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(313,328,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(330,375,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(376,376,$toNativeArray($kindInt32,[0,-121,0])),new II.ptr(377,382,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(383,383,$toNativeArray($kindInt32,[-300,0,-300])),new II.ptr(384,384,$toNativeArray($kindInt32,[195,0,195])),new II.ptr(385,385,$toNativeArray($kindInt32,[0,210,0])),new II.ptr(386,389,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(390,390,$toNativeArray($kindInt32,[0,206,0])),new II.ptr(391,392,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(393,394,$toNativeArray($kindInt32,[0,205,0])),new II.ptr(395,396,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(398,398,$toNativeArray($kindInt32,[0,79,0])),new II.ptr(399,399,$toNativeArray($kindInt32,[0,202,0])),new II.ptr(400,400,$toNativeArray($kindInt32,[0,203,0])),new II.ptr(401,402,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(403,403,$toNativeArray($kindInt32,[0,205,0])),new II.ptr(404,404,$toNativeArray($kindInt32,[0,207,0])),new II.ptr(405,405,$toNativeArray($kindInt32,[97,0,97])),new II.ptr(406,406,$toNativeArray($kindInt32,[0,211,0])),new II.ptr(407,407,$toNativeArray($kindInt32,[0,209,0])),new II.ptr(408,409,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(410,410,$toNativeArray($kindInt32,[163,0,163])),new II.ptr(412,412,$toNativeArray($kindInt32,[0,211,0])),new II.ptr(413,413,$toNativeArray($kindInt32,[0,213,0])),new II.ptr(414,414,$toNativeArray($kindInt32,[130,0,130])),new II.ptr(415,415,$toNativeArray($kindInt32,[0,214,0])),new II.ptr(416,421,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(422,422,$toNativeArray($kindInt32,[0,218,0])),new II.ptr(423,424,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(425,425,$toNativeArray($kindInt32,[0,218,0])),new II.ptr(428,429,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(430,430,$toNativeArray($kindInt32,[0,218,0])),new II.ptr(431,432,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(433,434,$toNativeArray($kindInt32,[0,217,0])),new II.ptr(435,438,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(439,439,$toNativeArray($kindInt32,[0,219,0])),new II.ptr(440,441,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(444,445,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(447,447,$toNativeArray($kindInt32,[56,0,56])),new II.ptr(452,452,$toNativeArray($kindInt32,[0,2,1])),new II.ptr(453,453,$toNativeArray($kindInt32,[-1,1,0])),new II.ptr(454,454,$toNativeArray($kindInt32,[-2,0,-1])),new II.ptr(455,455,$toNativeArray($kindInt32,[0,2,1])),new II.ptr(456,456,$toNativeArray($kindInt32,[-1,1,0])),new II.ptr(457,457,$toNativeArray($kindInt32,[-2,0,-1])),new II.ptr(458,458,$toNativeArray($kindInt32,[0,2,1])),new II.ptr(459,459,$toNativeArray($kindInt32,[-1,1,0])),new II.ptr(460,460,$toNativeArray($kindInt32,[-2,0,-1])),new II.ptr(461,476,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(477,477,$toNativeArray($kindInt32,[-79,0,-79])),new II.ptr(478,495,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(497,497,$toNativeArray($kindInt32,[0,2,1])),new II.ptr(498,498,$toNativeArray($kindInt32,[-1,1,0])),new II.ptr(499,499,$toNativeArray($kindInt32,[-2,0,-1])),new II.ptr(500,501,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(502,502,$toNativeArray($kindInt32,[0,-97,0])),new II.ptr(503,503,$toNativeArray($kindInt32,[0,-56,0])),new II.ptr(504,543,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(544,544,$toNativeArray($kindInt32,[0,-130,0])),new II.ptr(546,563,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(570,570,$toNativeArray($kindInt32,[0,10795,0])),new II.ptr(571,572,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(573,573,$toNativeArray($kindInt32,[0,-163,0])),new II.ptr(574,574,$toNativeArray($kindInt32,[0,10792,0])),new II.ptr(575,576,$toNativeArray($kindInt32,[10815,0,10815])),new II.ptr(577,578,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(579,579,$toNativeArray($kindInt32,[0,-195,0])),new II.ptr(580,580,$toNativeArray($kindInt32,[0,69,0])),new II.ptr(581,581,$toNativeArray($kindInt32,[0,71,0])),new II.ptr(582,591,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(592,592,$toNativeArray($kindInt32,[10783,0,10783])),new II.ptr(593,593,$toNativeArray($kindInt32,[10780,0,10780])),new II.ptr(594,594,$toNativeArray($kindInt32,[10782,0,10782])),new II.ptr(595,595,$toNativeArray($kindInt32,[-210,0,-210])),new II.ptr(596,596,$toNativeArray($kindInt32,[-206,0,-206])),new II.ptr(598,599,$toNativeArray($kindInt32,[-205,0,-205])),new II.ptr(601,601,$toNativeArray($kindInt32,[-202,0,-202])),new II.ptr(603,603,$toNativeArray($kindInt32,[-203,0,-203])),new II.ptr(604,604,$toNativeArray($kindInt32,[42319,0,42319])),new II.ptr(608,608,$toNativeArray($kindInt32,[-205,0,-205])),new II.ptr(609,609,$toNativeArray($kindInt32,[42315,0,42315])),new II.ptr(611,611,$toNativeArray($kindInt32,[-207,0,-207])),new II.ptr(613,613,$toNativeArray($kindInt32,[42280,0,42280])),new II.ptr(614,614,$toNativeArray($kindInt32,[42308,0,42308])),new II.ptr(616,616,$toNativeArray($kindInt32,[-209,0,-209])),new II.ptr(617,617,$toNativeArray($kindInt32,[-211,0,-211])),new II.ptr(618,618,$toNativeArray($kindInt32,[42308,0,42308])),new II.ptr(619,619,$toNativeArray($kindInt32,[10743,0,10743])),new II.ptr(620,620,$toNativeArray($kindInt32,[42305,0,42305])),new II.ptr(623,623,$toNativeArray($kindInt32,[-211,0,-211])),new II.ptr(625,625,$toNativeArray($kindInt32,[10749,0,10749])),new II.ptr(626,626,$toNativeArray($kindInt32,[-213,0,-213])),new II.ptr(629,629,$toNativeArray($kindInt32,[-214,0,-214])),new II.ptr(637,637,$toNativeArray($kindInt32,[10727,0,10727])),new II.ptr(640,640,$toNativeArray($kindInt32,[-218,0,-218])),new II.ptr(642,642,$toNativeArray($kindInt32,[42307,0,42307])),new II.ptr(643,643,$toNativeArray($kindInt32,[-218,0,-218])),new II.ptr(647,647,$toNativeArray($kindInt32,[42282,0,42282])),new II.ptr(648,648,$toNativeArray($kindInt32,[-218,0,-218])),new II.ptr(649,649,$toNativeArray($kindInt32,[-69,0,-69])),new II.ptr(650,651,$toNativeArray($kindInt32,[-217,0,-217])),new II.ptr(652,652,$toNativeArray($kindInt32,[-71,0,-71])),new II.ptr(658,658,$toNativeArray($kindInt32,[-219,0,-219])),new II.ptr(669,669,$toNativeArray($kindInt32,[42261,0,42261])),new II.ptr(670,670,$toNativeArray($kindInt32,[42258,0,42258])),new II.ptr(837,837,$toNativeArray($kindInt32,[84,0,84])),new II.ptr(880,883,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(886,887,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(891,893,$toNativeArray($kindInt32,[130,0,130])),new II.ptr(895,895,$toNativeArray($kindInt32,[0,116,0])),new II.ptr(902,902,$toNativeArray($kindInt32,[0,38,0])),new II.ptr(904,906,$toNativeArray($kindInt32,[0,37,0])),new II.ptr(908,908,$toNativeArray($kindInt32,[0,64,0])),new II.ptr(910,911,$toNativeArray($kindInt32,[0,63,0])),new II.ptr(913,929,$toNativeArray($kindInt32,[0,32,0])),new II.ptr(931,939,$toNativeArray($kindInt32,[0,32,0])),new II.ptr(940,940,$toNativeArray($kindInt32,[-38,0,-38])),new II.ptr(941,943,$toNativeArray($kindInt32,[-37,0,-37])),new II.ptr(945,961,$toNativeArray($kindInt32,[-32,0,-32])),new II.ptr(962,962,$toNativeArray($kindInt32,[-31,0,-31])),new II.ptr(963,971,$toNativeArray($kindInt32,[-32,0,-32])),new II.ptr(972,972,$toNativeArray($kindInt32,[-64,0,-64])),new II.ptr(973,974,$toNativeArray($kindInt32,[-63,0,-63])),new II.ptr(975,975,$toNativeArray($kindInt32,[0,8,0])),new II.ptr(976,976,$toNativeArray($kindInt32,[-62,0,-62])),new II.ptr(977,977,$toNativeArray($kindInt32,[-57,0,-57])),new II.ptr(981,981,$toNativeArray($kindInt32,[-47,0,-47])),new II.ptr(982,982,$toNativeArray($kindInt32,[-54,0,-54])),new II.ptr(983,983,$toNativeArray($kindInt32,[-8,0,-8])),new II.ptr(984,1007,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(1008,1008,$toNativeArray($kindInt32,[-86,0,-86])),new II.ptr(1009,1009,$toNativeArray($kindInt32,[-80,0,-80])),new II.ptr(1010,1010,$toNativeArray($kindInt32,[7,0,7])),new II.ptr(1011,1011,$toNativeArray($kindInt32,[-116,0,-116])),new II.ptr(1012,1012,$toNativeArray($kindInt32,[0,-60,0])),new II.ptr(1013,1013,$toNativeArray($kindInt32,[-96,0,-96])),new II.ptr(1015,1016,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(1017,1017,$toNativeArray($kindInt32,[0,-7,0])),new II.ptr(1018,1019,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(1021,1023,$toNativeArray($kindInt32,[0,-130,0])),new II.ptr(1024,1039,$toNativeArray($kindInt32,[0,80,0])),new II.ptr(1040,1071,$toNativeArray($kindInt32,[0,32,0])),new II.ptr(1072,1103,$toNativeArray($kindInt32,[-32,0,-32])),new II.ptr(1104,1119,$toNativeArray($kindInt32,[-80,0,-80])),new II.ptr(1120,1153,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(1162,1215,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(1216,1216,$toNativeArray($kindInt32,[0,15,0])),new II.ptr(1217,1230,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(1231,1231,$toNativeArray($kindInt32,[-15,0,-15])),new II.ptr(1232,1327,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(1329,1366,$toNativeArray($kindInt32,[0,48,0])),new II.ptr(1377,1414,$toNativeArray($kindInt32,[-48,0,-48])),new II.ptr(4256,4293,$toNativeArray($kindInt32,[0,7264,0])),new II.ptr(4295,4295,$toNativeArray($kindInt32,[0,7264,0])),new II.ptr(4301,4301,$toNativeArray($kindInt32,[0,7264,0])),new II.ptr(4304,4346,$toNativeArray($kindInt32,[3008,0,0])),new II.ptr(4349,4351,$toNativeArray($kindInt32,[3008,0,0])),new II.ptr(5024,5103,$toNativeArray($kindInt32,[0,38864,0])),new II.ptr(5104,5109,$toNativeArray($kindInt32,[0,8,0])),new II.ptr(5112,5117,$toNativeArray($kindInt32,[-8,0,-8])),new II.ptr(7296,7296,$toNativeArray($kindInt32,[-6254,0,-6254])),new II.ptr(7297,7297,$toNativeArray($kindInt32,[-6253,0,-6253])),new II.ptr(7298,7298,$toNativeArray($kindInt32,[-6244,0,-6244])),new II.ptr(7299,7300,$toNativeArray($kindInt32,[-6242,0,-6242])),new II.ptr(7301,7301,$toNativeArray($kindInt32,[-6243,0,-6243])),new II.ptr(7302,7302,$toNativeArray($kindInt32,[-6236,0,-6236])),new II.ptr(7303,7303,$toNativeArray($kindInt32,[-6181,0,-6181])),new II.ptr(7304,7304,$toNativeArray($kindInt32,[35266,0,35266])),new II.ptr(7312,7354,$toNativeArray($kindInt32,[0,-3008,0])),new II.ptr(7357,7359,$toNativeArray($kindInt32,[0,-3008,0])),new II.ptr(7545,7545,$toNativeArray($kindInt32,[35332,0,35332])),new II.ptr(7549,7549,$toNativeArray($kindInt32,[3814,0,3814])),new II.ptr(7566,7566,$toNativeArray($kindInt32,[35384,0,35384])),new II.ptr(7680,7829,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(7835,7835,$toNativeArray($kindInt32,[-59,0,-59])),new II.ptr(7838,7838,$toNativeArray($kindInt32,[0,-7615,0])),new II.ptr(7840,7935,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(7936,7943,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(7944,7951,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(7952,7957,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(7960,7965,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(7968,7975,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(7976,7983,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(7984,7991,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(7992,7999,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(8000,8005,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(8008,8013,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(8017,8017,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(8019,8019,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(8021,8021,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(8023,8023,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(8025,8025,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(8027,8027,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(8029,8029,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(8031,8031,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(8032,8039,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(8040,8047,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(8048,8049,$toNativeArray($kindInt32,[74,0,74])),new II.ptr(8050,8053,$toNativeArray($kindInt32,[86,0,86])),new II.ptr(8054,8055,$toNativeArray($kindInt32,[100,0,100])),new II.ptr(8056,8057,$toNativeArray($kindInt32,[128,0,128])),new II.ptr(8058,8059,$toNativeArray($kindInt32,[112,0,112])),new II.ptr(8060,8061,$toNativeArray($kindInt32,[126,0,126])),new II.ptr(8064,8071,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(8072,8079,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(8080,8087,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(8088,8095,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(8096,8103,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(8104,8111,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(8112,8113,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(8115,8115,$toNativeArray($kindInt32,[9,0,9])),new II.ptr(8120,8121,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(8122,8123,$toNativeArray($kindInt32,[0,-74,0])),new II.ptr(8124,8124,$toNativeArray($kindInt32,[0,-9,0])),new II.ptr(8126,8126,$toNativeArray($kindInt32,[-7205,0,-7205])),new II.ptr(8131,8131,$toNativeArray($kindInt32,[9,0,9])),new II.ptr(8136,8139,$toNativeArray($kindInt32,[0,-86,0])),new II.ptr(8140,8140,$toNativeArray($kindInt32,[0,-9,0])),new II.ptr(8144,8145,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(8152,8153,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(8154,8155,$toNativeArray($kindInt32,[0,-100,0])),new II.ptr(8160,8161,$toNativeArray($kindInt32,[8,0,8])),new II.ptr(8165,8165,$toNativeArray($kindInt32,[7,0,7])),new II.ptr(8168,8169,$toNativeArray($kindInt32,[0,-8,0])),new II.ptr(8170,8171,$toNativeArray($kindInt32,[0,-112,0])),new II.ptr(8172,8172,$toNativeArray($kindInt32,[0,-7,0])),new II.ptr(8179,8179,$toNativeArray($kindInt32,[9,0,9])),new II.ptr(8184,8185,$toNativeArray($kindInt32,[0,-128,0])),new II.ptr(8186,8187,$toNativeArray($kindInt32,[0,-126,0])),new II.ptr(8188,8188,$toNativeArray($kindInt32,[0,-9,0])),new II.ptr(8486,8486,$toNativeArray($kindInt32,[0,-7517,0])),new II.ptr(8490,8490,$toNativeArray($kindInt32,[0,-8383,0])),new II.ptr(8491,8491,$toNativeArray($kindInt32,[0,-8262,0])),new II.ptr(8498,8498,$toNativeArray($kindInt32,[0,28,0])),new II.ptr(8526,8526,$toNativeArray($kindInt32,[-28,0,-28])),new II.ptr(8544,8559,$toNativeArray($kindInt32,[0,16,0])),new II.ptr(8560,8575,$toNativeArray($kindInt32,[-16,0,-16])),new II.ptr(8579,8580,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(9398,9423,$toNativeArray($kindInt32,[0,26,0])),new II.ptr(9424,9449,$toNativeArray($kindInt32,[-26,0,-26])),new II.ptr(11264,11310,$toNativeArray($kindInt32,[0,48,0])),new II.ptr(11312,11358,$toNativeArray($kindInt32,[-48,0,-48])),new II.ptr(11360,11361,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(11362,11362,$toNativeArray($kindInt32,[0,-10743,0])),new II.ptr(11363,11363,$toNativeArray($kindInt32,[0,-3814,0])),new II.ptr(11364,11364,$toNativeArray($kindInt32,[0,-10727,0])),new II.ptr(11365,11365,$toNativeArray($kindInt32,[-10795,0,-10795])),new II.ptr(11366,11366,$toNativeArray($kindInt32,[-10792,0,-10792])),new II.ptr(11367,11372,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(11373,11373,$toNativeArray($kindInt32,[0,-10780,0])),new II.ptr(11374,11374,$toNativeArray($kindInt32,[0,-10749,0])),new II.ptr(11375,11375,$toNativeArray($kindInt32,[0,-10783,0])),new II.ptr(11376,11376,$toNativeArray($kindInt32,[0,-10782,0])),new II.ptr(11378,11379,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(11381,11382,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(11390,11391,$toNativeArray($kindInt32,[0,-10815,0])),new II.ptr(11392,11491,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(11499,11502,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(11506,11507,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(11520,11557,$toNativeArray($kindInt32,[-7264,0,-7264])),new II.ptr(11559,11559,$toNativeArray($kindInt32,[-7264,0,-7264])),new II.ptr(11565,11565,$toNativeArray($kindInt32,[-7264,0,-7264])),new II.ptr(42560,42605,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(42624,42651,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(42786,42799,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(42802,42863,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(42873,42876,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(42877,42877,$toNativeArray($kindInt32,[0,-35332,0])),new II.ptr(42878,42887,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(42891,42892,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(42893,42893,$toNativeArray($kindInt32,[0,-42280,0])),new II.ptr(42896,42899,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(42900,42900,$toNativeArray($kindInt32,[48,0,48])),new II.ptr(42902,42921,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(42922,42922,$toNativeArray($kindInt32,[0,-42308,0])),new II.ptr(42923,42923,$toNativeArray($kindInt32,[0,-42319,0])),new II.ptr(42924,42924,$toNativeArray($kindInt32,[0,-42315,0])),new II.ptr(42925,42925,$toNativeArray($kindInt32,[0,-42305,0])),new II.ptr(42926,42926,$toNativeArray($kindInt32,[0,-42308,0])),new II.ptr(42928,42928,$toNativeArray($kindInt32,[0,-42258,0])),new II.ptr(42929,42929,$toNativeArray($kindInt32,[0,-42282,0])),new II.ptr(42930,42930,$toNativeArray($kindInt32,[0,-42261,0])),new II.ptr(42931,42931,$toNativeArray($kindInt32,[0,928,0])),new II.ptr(42932,42943,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(42946,42947,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(42948,42948,$toNativeArray($kindInt32,[0,-48,0])),new II.ptr(42949,42949,$toNativeArray($kindInt32,[0,-42307,0])),new II.ptr(42950,42950,$toNativeArray($kindInt32,[0,-35384,0])),new II.ptr(42951,42954,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(42997,42998,$toNativeArray($kindInt32,[1114112,1114112,1114112])),new II.ptr(43859,43859,$toNativeArray($kindInt32,[-928,0,-928])),new II.ptr(43888,43967,$toNativeArray($kindInt32,[-38864,0,-38864])),new II.ptr(65313,65338,$toNativeArray($kindInt32,[0,32,0])),new II.ptr(65345,65370,$toNativeArray($kindInt32,[-32,0,-32])),new II.ptr(66560,66599,$toNativeArray($kindInt32,[0,40,0])),new II.ptr(66600,66639,$toNativeArray($kindInt32,[-40,0,-40])),new II.ptr(66736,66771,$toNativeArray($kindInt32,[0,40,0])),new II.ptr(66776,66811,$toNativeArray($kindInt32,[-40,0,-40])),new II.ptr(68736,68786,$toNativeArray($kindInt32,[0,64,0])),new II.ptr(68800,68850,$toNativeArray($kindInt32,[-64,0,-64])),new II.ptr(71840,71871,$toNativeArray($kindInt32,[0,32,0])),new II.ptr(71872,71903,$toNativeArray($kindInt32,[-32,0,-32])),new II.ptr(93760,93791,$toNativeArray($kindInt32,[0,32,0])),new II.ptr(93792,93823,$toNativeArray($kindInt32,[-32,0,-32])),new II.ptr(125184,125217,$toNativeArray($kindInt32,[0,34,0])),new II.ptr(125218,125251,$toNativeArray($kindInt32,[-34,0,-34]))]);$pkg.CaseRanges=HS;HT=$toNativeArray($kindUint8,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,144,130,130,130,136,130,130,130,130,130,130,136,130,130,130,130,132,132,132,132,132,132,132,132,132,132,130,130,136,136,136,130,130,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,130,130,130,136,130,136,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,130,136,130,136,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,16,130,136,136,136,136,136,130,136,136,224,130,136,0,136,136,136,136,132,132,136,192,130,130,136,132,224,130,132,132,132,130,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,136,160,160,160,160,160,160,160,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,136,192,192,192,192,192,192,192,192]);$pkg.PrintRanges=new JS([$pkg.L,$pkg.M,$pkg.N,$pkg.P,$pkg.S]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["unicode/utf8"]=(function(){var $pkg={},$init,B,A,C,D,F,G,H,I,J,K,L,M,N,P,Q;B=$pkg.acceptRange=$newType(0,$kindStruct,"utf8.acceptRange",true,"unicode/utf8",false,function(lo_,hi_){this.$val=this;if(arguments.length===0){this.lo=0;this.hi=0;return;}this.lo=lo_;this.hi=hi_;});D=function(a){var a,b,c,d,e,f;b=a.$length;if(b===0){return false;}d=(c=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),((c<0||c>=A.length)?($throwRuntimeError("index out of range"),undefined):A[c]));if(b>=((((d&7)>>>0)>>0))){return true;}f=$clone((e=d>>>4<<24>>>24,((e<0||e>=C.length)?($throwRuntimeError("index out of range"),undefined):C[e])),B);if(b>1&&((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])<f.lo||f.hi<(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]))){return true;}else if(b>2&&((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2])<128||191<(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]))){return true;}return false;};$pkg.FullRune=D;F=function(a){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=0;d=a.$length;if(d<1){e=65533;f=0;b=e;c=f;return[b,c];}g=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]);h=((g<0||g>=A.length)?($throwRuntimeError("index out of range"),undefined):A[g]);if(h>=240){i=(((h>>0))<<31>>0)>>31>>0;j=(((((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])>>0))&~i)>>0)|(65533&i);k=1;b=j;c=k;return[b,c];}l=((((h&7)>>>0)>>0));n=$clone((m=h>>>4<<24>>>24,((m<0||m>=C.length)?($throwRuntimeError("index out of range"),undefined):C[m])),B);if(d<l){o=65533;p=1;b=o;c=p;return[b,c];}q=(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]);if(q<n.lo||n.hi<q){r=65533;s=1;b=r;c=s;return[b,c];}if(l<=2){t=(((((g&31)>>>0)>>0))<<6>>0)|((((q&63)>>>0)>>0));u=2;b=t;c=u;return[b,c];}v=(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]);if(v<128||191<v){w=65533;x=1;b=w;c=x;return[b,c];}if(l<=3){y=((((((g&15)>>>0)>>0))<<12>>0)|(((((q&63)>>>0)>>0))<<6>>0))|((((v&63)>>>0)>>0));z=3;b=y;c=z;return[b,c];}aa=(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]);if(aa<128||191<aa){ab=65533;ac=1;b=ab;c=ac;return[b,c];}ad=(((((((g&7)>>>0)>>0))<<18>>0)|(((((q&63)>>>0)>>0))<<12>>0))|(((((v&63)>>>0)>>0))<<6>>0))|((((aa&63)>>>0)>>0));ae=4;b=ad;c=ae;return[b,c];};$pkg.DecodeRune=F;G=function(a){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=0;d=a.length;if(d<1){e=65533;f=0;b=e;c=f;return[b,c];}g=a.charCodeAt(0);h=((g<0||g>=A.length)?($throwRuntimeError("index out of range"),undefined):A[g]);if(h>=240){i=(((h>>0))<<31>>0)>>31>>0;j=((((a.charCodeAt(0)>>0))&~i)>>0)|(65533&i);k=1;b=j;c=k;return[b,c];}l=((((h&7)>>>0)>>0));n=$clone((m=h>>>4<<24>>>24,((m<0||m>=C.length)?($throwRuntimeError("index out of range"),undefined):C[m])),B);if(d<l){o=65533;p=1;b=o;c=p;return[b,c];}q=a.charCodeAt(1);if(q<n.lo||n.hi<q){r=65533;s=1;b=r;c=s;return[b,c];}if(l<=2){t=(((((g&31)>>>0)>>0))<<6>>0)|((((q&63)>>>0)>>0));u=2;b=t;c=u;return[b,c];}v=a.charCodeAt(2);if(v<128||191<v){w=65533;x=1;b=w;c=x;return[b,c];}if(l<=3){y=((((((g&15)>>>0)>>0))<<12>>0)|(((((q&63)>>>0)>>0))<<6>>0))|((((v&63)>>>0)>>0));z=3;b=y;c=z;return[b,c];}aa=a.charCodeAt(3);if(aa<128||191<aa){ab=65533;ac=1;b=ab;c=ac;return[b,c];}ad=(((((((g&7)>>>0)>>0))<<18>>0)|(((((q&63)>>>0)>>0))<<12>>0))|(((((v&63)>>>0)>>0))<<6>>0))|((((aa&63)>>>0)>>0));ae=4;b=ad;c=ae;return[b,c];};$pkg.DecodeRuneInString=G;H=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=0;c=0;d=a.$length;if(d===0){e=65533;f=0;b=e;c=f;return[b,c];}g=d-1>>0;b=((((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g])>>0));if(b<128){h=b;i=1;b=h;c=i;return[b,c];}j=d-4>>0;if(j<0){j=0;}g=g-(1)>>0;while(true){if(!(g>=j)){break;}if(N(((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]))){break;}g=g-(1)>>0;}if(g<0){g=0;}k=F($subslice(a,g,d));b=k[0];c=k[1];if(!(((g+c>>0)===d))){l=65533;m=1;b=l;c=m;return[b,c];}n=b;o=c;b=n;c=o;return[b,c];};$pkg.DecodeLastRune=H;I=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=0;c=0;d=a.length;if(d===0){e=65533;f=0;b=e;c=f;return[b,c];}g=d-1>>0;b=((a.charCodeAt(g)>>0));if(b<128){h=b;i=1;b=h;c=i;return[b,c];}j=d-4>>0;if(j<0){j=0;}g=g-(1)>>0;while(true){if(!(g>=j)){break;}if(N(a.charCodeAt(g))){break;}g=g-(1)>>0;}if(g<0){g=0;}k=G($substring(a,g,d));b=k[0];c=k[1];if(!(((g+c>>0)===d))){l=65533;m=1;b=l;c=m;return[b,c];}n=b;o=c;b=n;c=o;return[b,c];};$pkg.DecodeLastRuneInString=I;J=function(a){var a;if(a<0){return-1;}else if(a<=127){return 1;}else if(a<=2047){return 2;}else if(55296<=a&&a<=57343){return-1;}else if(a<=65535){return 3;}else if(a<=1114111){return 4;}return-1;};$pkg.RuneLen=J;K=function(a,b){var a,b,c;c=((b>>>0));if(c<=127){(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((b<<24>>>24)));return 1;}else if(c<=2047){$unused((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((192|(((b>>6>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 2;}else if((c>1114111)||(55296<=c&&c<=57343)){b=65533;$unused((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((224|(((b>>12>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|(((((b>>6>>0)<<24>>>24))&63)>>>0))>>>0));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 3;}else if(c<=65535){$unused((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((224|(((b>>12>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|(((((b>>6>>0)<<24>>>24))&63)>>>0))>>>0));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 3;}else{$unused((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((240|(((b>>18>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|(((((b>>12>>0)<<24>>>24))&63)>>>0))>>>0));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=((128|(((((b>>6>>0)<<24>>>24))&63)>>>0))>>>0));(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 4;}};$pkg.EncodeRune=K;L=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=a.$length;c=0;d=0;while(true){if(!(d<b)){break;}c=c+(1)>>0;e=((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d]);if(e<128){d=d+(1)>>0;continue;}f=((e<0||e>=A.length)?($throwRuntimeError("index out of range"),undefined):A[e]);if(f===241){d=d+(1)>>0;continue;}g=((((f&7)>>>0)>>0));if((d+g>>0)>b){d=d+(1)>>0;continue;}i=$clone((h=f>>>4<<24>>>24,((h<0||h>=C.length)?($throwRuntimeError("index out of range"),undefined):C[h])),B);k=(j=d+1>>0,((j<0||j>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+j]));if(k<i.lo||i.hi<k){g=1;}else if(g===2){}else{m=(l=d+2>>0,((l<0||l>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+l]));if(m<128||191<m){g=1;}else if(g===3){}else{o=(n=d+3>>0,((n<0||n>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+n]));if(o<128||191<o){g=1;}}}d=d+(g)>>0;}return c;};$pkg.RuneCount=L;M=function(a){var a,b,c,d,e,f,g,h,i,j,k,l;b=0;c=a.length;d=0;while(true){if(!(d<c)){break;}e=a.charCodeAt(d);if(e<128){d=d+(1)>>0;b=b+(1)>>0;continue;}f=((e<0||e>=A.length)?($throwRuntimeError("index out of range"),undefined):A[e]);if(f===241){d=d+(1)>>0;b=b+(1)>>0;continue;}g=((((f&7)>>>0)>>0));if((d+g>>0)>c){d=d+(1)>>0;b=b+(1)>>0;continue;}i=$clone((h=f>>>4<<24>>>24,((h<0||h>=C.length)?($throwRuntimeError("index out of range"),undefined):C[h])),B);j=a.charCodeAt((d+1>>0));if(j<i.lo||i.hi<j){g=1;}else if(g===2){}else{k=a.charCodeAt((d+2>>0));if(k<128||191<k){g=1;}else if(g===3){}else{l=a.charCodeAt((d+3>>0));if(l<128||191<l){g=1;}}}d=d+(g)>>0;b=b+(1)>>0;}b=b;return b;};$pkg.RuneCountInString=M;N=function(a){var a;return!((((a&192)>>>0)===128));};$pkg.RuneStart=N;P=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m;while(true){if(!(a.length>=8)){break;}b=(((((((a.charCodeAt(0)>>>0))|(((a.charCodeAt(1)>>>0))<<8>>>0))>>>0)|(((a.charCodeAt(2)>>>0))<<16>>>0))>>>0)|(((a.charCodeAt(3)>>>0))<<24>>>0))>>>0;c=(((((((a.charCodeAt(4)>>>0))|(((a.charCodeAt(5)>>>0))<<8>>>0))>>>0)|(((a.charCodeAt(6)>>>0))<<16>>>0))>>>0)|(((a.charCodeAt(7)>>>0))<<24>>>0))>>>0;if(!(((((((b|c)>>>0))&2155905152)>>>0)===0))){break;}a=$substring(a,8);}d=a.length;e=0;while(true){if(!(e<d)){break;}f=a.charCodeAt(e);if(f<128){e=e+(1)>>0;continue;}g=((f<0||f>=A.length)?($throwRuntimeError("index out of range"),undefined):A[f]);if(g===241){return false;}h=((((g&7)>>>0)>>0));if((e+h>>0)>d){return false;}j=$clone((i=g>>>4<<24>>>24,((i<0||i>=C.length)?($throwRuntimeError("index out of range"),undefined):C[i])),B);k=a.charCodeAt((e+1>>0));if(k<j.lo||j.hi<k){return false;}else if(h===2){}else{l=a.charCodeAt((e+2>>0));if(l<128||191<l){return false;}else if(h===3){}else{m=a.charCodeAt((e+3>>0));if(m<128||191<m){return false;}}}e=e+(h)>>0;}return true;};$pkg.ValidString=P;Q=function(a){var a;if(0<=a&&a<55296){return true;}else if(57343<a&&a<=1114111){return true;}return false;};$pkg.ValidRune=Q;B.init("unicode/utf8",[{prop:"lo",name:"lo",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"hi",name:"hi",embedded:false,exported:false,typ:$Uint8,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:A=$toNativeArray($kindUint8,[240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,19,3,3,3,3,3,3,3,3,3,3,3,3,35,3,3,52,4,4,4,68,241,241,241,241,241,241,241,241,241,241,241]);C=$toNativeArray($kindStruct,[new B.ptr(128,191),new B.ptr(160,191),new B.ptr(128,159),new B.ptr(144,191),new B.ptr(128,143),new B.ptr(0,0),new B.ptr(0,0),new B.ptr(0,0),new B.ptr(0,0),new B.ptr(0,0),new B.ptr(0,0),new B.ptr(0,0),new B.ptr(0,0),new B.ptr(0,0),new B.ptr(0,0),new B.ptr(0,0)]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["bytes"]=(function(){var $pkg={},$init,A,D,B,E,C,F,BA,BM,BN,BT,BV,BW,BZ,CB,CC,AA,BO,BQ,G,H,I,J,S,AE,AR,AS,AT,AW,AY,AZ,BB,BC,BF,BG,BK,BL,BP;A=$packages["errors"];D=$packages["internal/bytealg"];B=$packages["io"];E=$packages["unicode"];C=$packages["unicode/utf8"];F=$pkg.Reader=$newType(0,$kindStruct,"bytes.Reader",true,"bytes",true,function(s_,i_,prevRune_){this.$val=this;if(arguments.length===0){this.s=BT.nil;this.i=new $Int64(0,0);this.prevRune=0;return;}this.s=s_;this.i=i_;this.prevRune=prevRune_;});BA=$pkg.asciiSet=$newType(32,$kindArray,"bytes.asciiSet",true,"bytes",false,null);BM=$pkg.Buffer=$newType(0,$kindStruct,"bytes.Buffer",true,"bytes",true,function(buf_,off_,lastRead_){this.$val=this;if(arguments.length===0){this.buf=BT.nil;this.off=0;this.lastRead=0;return;}this.buf=buf_;this.off=off_;this.lastRead=lastRead_;});BN=$pkg.readOp=$newType(1,$kindInt8,"bytes.readOp",true,"bytes",false,null);BT=$sliceType($Uint8);BV=$arrayType($Uint8,4);BW=$ptrType(BA);BZ=$arrayType($Uint32,8);CB=$ptrType(BM);CC=$ptrType(F);F.ptr.prototype.Len=function(){var d,e,f,g,h,i;d=this;if((e=d.i,f=(new $Int64(0,d.s.$length)),(e.$high>f.$high||(e.$high===f.$high&&e.$low>=f.$low)))){return 0;}return(((g=(h=(new $Int64(0,d.s.$length)),i=d.i,new $Int64(h.$high-i.$high,h.$low-i.$low)),g.$low+((g.$high>>31)*4294967296))>>0));};F.prototype.Len=function(){return this.$val.Len();};F.ptr.prototype.Size=function(){var d;d=this;return(new $Int64(0,d.s.$length));};F.prototype.Size=function(){return this.$val.Size();};F.ptr.prototype.Read=function(d){var d,e,f,g,h,i,j,k,l,m;e=0;f=$ifaceNil;g=this;if((h=g.i,i=(new $Int64(0,g.s.$length)),(h.$high>i.$high||(h.$high===i.$high&&h.$low>=i.$low)))){j=0;k=B.EOF;e=j;f=k;return[e,f];}g.prevRune=-1;e=$copySlice(d,$subslice(g.s,$flatten64(g.i)));g.i=(l=g.i,m=(new $Int64(0,e)),new $Int64(l.$high+m.$high,l.$low+m.$low));return[e,f];};F.prototype.Read=function(d){return this.$val.Read(d);};F.ptr.prototype.ReadAt=function(d,e){var d,e,f,g,h,i,j,k,l,m;f=0;g=$ifaceNil;h=this;if((e.$high<0||(e.$high===0&&e.$low<0))){i=0;j=A.New("bytes.Reader.ReadAt: negative offset");f=i;g=j;return[f,g];}if((k=(new $Int64(0,h.s.$length)),(e.$high>k.$high||(e.$high===k.$high&&e.$low>=k.$low)))){l=0;m=B.EOF;f=l;g=m;return[f,g];}f=$copySlice(d,$subslice(h.s,$flatten64(e)));if(f<d.$length){g=B.EOF;}return[f,g];};F.prototype.ReadAt=function(d,e){return this.$val.ReadAt(d,e);};F.ptr.prototype.ReadByte=function(){var d,e,f,g,h,i,j,k;d=this;d.prevRune=-1;if((e=d.i,f=(new $Int64(0,d.s.$length)),(e.$high>f.$high||(e.$high===f.$high&&e.$low>=f.$low)))){return[0,B.EOF];}i=(g=d.s,h=d.i,(($flatten64(h)<0||$flatten64(h)>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+$flatten64(h)]));d.i=(j=d.i,k=new $Int64(0,1),new $Int64(j.$high+k.$high,j.$low+k.$low));return[i,$ifaceNil];};F.prototype.ReadByte=function(){return this.$val.ReadByte();};F.ptr.prototype.UnreadByte=function(){var d,e,f,g;d=this;if((e=d.i,(e.$high<0||(e.$high===0&&e.$low<=0)))){return A.New("bytes.Reader.UnreadByte: at beginning of slice");}d.prevRune=-1;d.i=(f=d.i,g=new $Int64(0,1),new $Int64(f.$high-g.$high,f.$low-g.$low));return $ifaceNil;};F.prototype.UnreadByte=function(){return this.$val.UnreadByte();};F.ptr.prototype.ReadRune=function(){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;d=0;e=0;f=$ifaceNil;g=this;if((h=g.i,i=(new $Int64(0,g.s.$length)),(h.$high>i.$high||(h.$high===i.$high&&h.$low>=i.$low)))){g.prevRune=-1;j=0;k=0;l=B.EOF;d=j;e=k;f=l;return[d,e,f];}g.prevRune=(((m=g.i,m.$low+((m.$high>>31)*4294967296))>>0));p=(n=g.s,o=g.i,(($flatten64(o)<0||$flatten64(o)>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+$flatten64(o)]));if(p<128){g.i=(q=g.i,r=new $Int64(0,1),new $Int64(q.$high+r.$high,q.$low+r.$low));s=((p>>0));t=1;u=$ifaceNil;d=s;e=t;f=u;return[d,e,f];}v=C.DecodeRune($subslice(g.s,$flatten64(g.i)));d=v[0];e=v[1];g.i=(w=g.i,x=(new $Int64(0,e)),new $Int64(w.$high+x.$high,w.$low+x.$low));return[d,e,f];};F.prototype.ReadRune=function(){return this.$val.ReadRune();};F.ptr.prototype.UnreadRune=function(){var d,e;d=this;if((e=d.i,(e.$high<0||(e.$high===0&&e.$low<=0)))){return A.New("bytes.Reader.UnreadRune: at beginning of slice");}if(d.prevRune<0){return A.New("bytes.Reader.UnreadRune: previous operation was not ReadRune");}d.i=(new $Int64(0,d.prevRune));d.prevRune=-1;return $ifaceNil;};F.prototype.UnreadRune=function(){return this.$val.UnreadRune();};F.ptr.prototype.Seek=function(d,e){var d,e,f,g,h,i,j;f=this;f.prevRune=-1;g=new $Int64(0,0);h=e;if(h===(0)){g=d;}else if(h===(1)){g=(i=f.i,new $Int64(i.$high+d.$high,i.$low+d.$low));}else if(h===(2)){g=(j=(new $Int64(0,f.s.$length)),new $Int64(j.$high+d.$high,j.$low+d.$low));}else{return[new $Int64(0,0),A.New("bytes.Reader.Seek: invalid whence")];}if((g.$high<0||(g.$high===0&&g.$low<0))){return[new $Int64(0,0),A.New("bytes.Reader.Seek: negative position")];}f.i=g;return[g,$ifaceNil];};F.prototype.Seek=function(d,e){return this.$val.Seek(d,e);};F.ptr.prototype.WriteTo=function(d){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=new $Int64(0,0);f=$ifaceNil;g=this;g.prevRune=-1;if((h=g.i,i=(new $Int64(0,g.s.$length)),(h.$high>i.$high||(h.$high===i.$high&&h.$low>=i.$low)))){j=new $Int64(0,0);k=$ifaceNil;e=j;f=k;$s=-1;return[e,f];}l=$subslice(g.s,$flatten64(g.i));n=d.Write(l);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];f=m[1];if(o>l.$length){$panic(new $String("bytes.Reader.WriteTo: invalid Write count"));}g.i=(p=g.i,q=(new $Int64(0,o)),new $Int64(p.$high+q.$high,p.$low+q.$low));e=(new $Int64(0,o));if(!((o===l.$length))&&$interfaceIsEqual(f,$ifaceNil)){f=B.ErrShortWrite;}$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:F.ptr.prototype.WriteTo};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};F.prototype.WriteTo=function(d){return this.$val.WriteTo(d);};F.ptr.prototype.Reset=function(d){var d,e;e=this;F.copy(e,new F.ptr(d,new $Int64(0,0),-1));};F.prototype.Reset=function(d){return this.$val.Reset(d);};G=function(d){var d;return new F.ptr(d,new $Int64(0,0),-1);};$pkg.NewReader=G;H=function(d,e){var d,e,f,g,h,i;f=d;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(i===e){return h;}g++;}return-1;};$pkg.IndexByte=H;I=function(d,e){var d,e,f,g,h,i;if(!((d.$length===e.$length))){return false;}f=d;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(!((i===((h<0||h>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+h])))){return false;}g++;}return true;};$pkg.Equal=I;J=function(d,e){var d,e,f,g,h,i,j;f=d;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(h>=e.$length){return 1;}j=((h<0||h>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+h]);if(i<j){return-1;}if(i>j){return 1;}g++;}if(d.$length<e.$length){return-1;}return 0;};$pkg.Compare=J;S=function(d,e){var d,e,f,g,h,i,j,k;if(0<=e&&e<128){return H(d,((e<<24>>>24)));}else if((e===65533)){f=0;while(true){if(!(f<d.$length)){break;}g=C.DecodeRune($subslice(d,f));h=g[0];i=g[1];if(h===65533){return f;}f=f+(i)>>0;}return-1;}else if(!C.ValidRune(e)){return-1;}else{j=BV.zero();k=C.EncodeRune(new BT(j),e);return BL(d,$subslice(new BT(j),0,k));}};$pkg.IndexRune=S;AE=function(d,e){var d,e;return d.$length>=e.$length&&I($subslice(d,0,e.$length),e);};$pkg.HasPrefix=AE;AR=function(d,e){var d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=AY(d,e,false);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(g===-1){$s=-1;return BT.nil;}$s=-1;return $subslice(d,g);}return;}if($f===undefined){$f={$blk:AR};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimLeftFunc=AR;AS=function(d,e){var d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=AZ(d,e,false);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(g>=0&&((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g])>=128){h=C.DecodeRune($subslice(d,g));i=h[1];g=g+(i)>>0;}else{g=g+(1)>>0;}$s=-1;return $subslice(d,0,g);}return;}if($f===undefined){$f={$blk:AS};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimRightFunc=AS;AT=function(d,e){var d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=AR(d,e);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=AS(f,e);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=3;case 3:return h;}return;}if($f===undefined){$f={$blk:AT};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimFunc=AT;AW=function(d,e){var d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=AY(d,e,true);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:AW};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.IndexFunc=AW;AY=function(d,e,f){var d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=0;case 1:if(!(g<d.$length)){$s=2;continue;}h=1;i=((((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g])>>0));if(i>=128){j=C.DecodeRune($subslice(d,g));i=j[0];h=j[1];}k=e(i);$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(k===f){$s=3;continue;}$s=4;continue;case 3:$s=-1;return g;case 4:g=g+(h)>>0;$s=1;continue;case 2:$s=-1;return-1;}return;}if($f===undefined){$f={$blk:AY};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AZ=function(d,e,f){var d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=d.$length;case 1:if(!(g>0)){$s=2;continue;}h=(((i=g-1>>0,((i<0||i>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+i]))>>0));j=1;k=h;l=j;if(k>=128){m=C.DecodeLastRune($subslice(d,0,g));k=m[0];l=m[1];}g=g-(l)>>0;n=e(k);$s=5;case 5:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(n===f){$s=3;continue;}$s=4;continue;case 3:$s=-1;return g;case 4:$s=1;continue;case 2:$s=-1;return-1;}return;}if($f===undefined){$f={$blk:AZ};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BB=function(d){var d,e,f,g,h,i,j,k,l,m,n;e=BZ.zero();f=false;g=0;while(true){if(!(g<d.length)){break;}h=d.charCodeAt(g);if(h>=128){i=$clone(e,BA);j=false;BA.copy(e,i);f=j;return[e,f];}k=h>>>5<<24>>>24;((k<0||k>=e.length)?($throwRuntimeError("index out of range"),undefined):e[k]=((((k<0||k>=e.length)?($throwRuntimeError("index out of range"),undefined):e[k])|(((l=((((h&31)>>>0)>>>0)),l<32?(1<<l):0)>>>0)))>>>0));g=g+(1)>>0;}m=$clone(e,BA);n=true;BA.copy(e,m);f=n;return[e,f];};BA.prototype.contains=function(d){var d,e,f,g,h;e=this.$val;return!((((((f=e,g=d>>>5<<24>>>24,((g<0||g>=f.length)?($throwRuntimeError("index out of range"),undefined):f[g]))&(((h=((((d&31)>>>0)>>>0)),h<32?(1<<h):0)>>>0)))>>>0))===0));};$ptrType(BA).prototype.contains=function(d){return(new BA(this.$get())).contains(d);};BC=function(d){var d,e,f,g;if((d.length===1)&&d.charCodeAt(0)<128){return(function(e){var e;return e===((d.charCodeAt(0)>>0));});}e=BB(d);f=$clone(e[0],BA);g=e[1];if(g){return(function(h){var h;return h<128&&new BW(f).contains(((h<<24>>>24)));});}return(function(h){var h,i,j,k,l;i=d;j=0;while(true){if(!(j<i.length)){break;}k=$decodeRune(i,j);l=k[0];if(l===h){return true;}j+=k[1];}return false;});};BF=function(d,e){var d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=AS(d,BC(e));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:BF};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimRight=BF;BG=function(d){var d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=0;case 1:if(!(e<d.$length)){$s=2;continue;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(f>=128){$s=3;continue;}$s=4;continue;case 3:g=AT($subslice(d,e),E.IsSpace);$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=6;case 6:return h;case 4:if(((f<0||f>=AA.length)?($throwRuntimeError("index out of range"),undefined):AA[f])===0){$s=2;continue;}e=e+(1)>>0;$s=1;continue;case 2:i=d.$length;case 7:if(!(i>e)){$s=8;continue;}k=(j=i-1>>0,((j<0||j>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+j]));if(k>=128){$s=9;continue;}$s=10;continue;case 9:l=AT($subslice(d,e,i),E.IsSpace);$s=11;case 11:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=12;case 12:return m;case 10:if(((k<0||k>=AA.length)?($throwRuntimeError("index out of range"),undefined):AA[k])===0){$s=8;continue;}i=i-(1)>>0;$s=7;continue;case 8:if(e===i){$s=-1;return BT.nil;}$s=-1;return $subslice(d,e,i);}return;}if($f===undefined){$f={$blk:BG};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimSpace=BG;BK=function(d,e){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;while(true){if(!(!((d.$length===0))&&!((e.$length===0)))){break;}f=0;g=0;h=f;i=g;if((0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])<128){j=(((0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])>>0));k=$subslice(d,1);h=j;d=k;}else{l=C.DecodeRune(d);m=l[0];n=l[1];o=m;p=$subslice(d,n);h=o;d=p;}if((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])<128){q=(((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])>>0));r=$subslice(e,1);i=q;e=r;}else{s=C.DecodeRune(e);t=s[0];u=s[1];v=t;w=$subslice(e,u);i=v;e=w;}if(i===h){continue;}if(i<h){x=h;y=i;i=x;h=y;}if(i<128){if(65<=h&&h<=90&&(i===((h+97>>0)-65>>0))){continue;}return false;}z=E.SimpleFold(h);while(true){if(!(!((z===h))&&z<i)){break;}z=E.SimpleFold(z);}if(z===i){continue;}return false;}return d.$length===e.$length;};$pkg.EqualFold=BK;BL=function(d,e){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;f=e.$length;if((f===0)){return 0;}else if((f===1)){return H(d,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]));}else if((f===d.$length)){if(I(e,d)){return 0;}return-1;}else if(f>d.$length){return-1;}else if(f<=D.MaxLen){if(d.$length<=0){return D.Index(d,e);}g=(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]);h=(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]);i=0;j=(d.$length-f>>0)+1>>0;k=0;while(true){if(!(i<j)){break;}if(!((((i<0||i>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+i])===g))){l=H($subslice(d,(i+1>>0),j),g);if(l<0){return-1;}i=i+((l+1>>0))>>0;}if(((m=i+1>>0,((m<0||m>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+m]))===h)&&I($subslice(d,i,(i+f>>0)),e)){return i;}k=k+(1)>>0;i=i+(1)>>0;if(k>D.Cutover(i)){n=D.Index($subslice(d,i),e);if(n>=0){return n+i>>0;}return-1;}}return-1;}o=(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]);p=(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]);q=0;r=0;s=(d.$length-f>>0)+1>>0;while(true){if(!(q<s)){break;}if(!((((q<0||q>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+q])===o))){t=H($subslice(d,(q+1>>0),s),o);if(t<0){break;}q=q+((t+1>>0))>>0;}if(((u=q+1>>0,((u<0||u>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+u]))===p)&&I($subslice(d,q,(q+f>>0)),e)){return q;}q=q+(1)>>0;r=r+(1)>>0;if(r>=(4+(q>>4>>0)>>0)&&q<s){v=D.IndexRabinKarpBytes($subslice(d,q),e);if(v<0){return-1;}return q+v>>0;}}return-1;};$pkg.Index=BL;BM.ptr.prototype.Bytes=function(){var d;d=this;return $subslice(d.buf,d.off);};BM.prototype.Bytes=function(){return this.$val.Bytes();};BM.ptr.prototype.String=function(){var d;d=this;if(d===CB.nil){return"<nil>";}return($bytesToString($subslice(d.buf,d.off)));};BM.prototype.String=function(){return this.$val.String();};BM.ptr.prototype.empty=function(){var d;d=this;return d.buf.$length<=d.off;};BM.prototype.empty=function(){return this.$val.empty();};BM.ptr.prototype.Len=function(){var d;d=this;return d.buf.$length-d.off>>0;};BM.prototype.Len=function(){return this.$val.Len();};BM.ptr.prototype.Cap=function(){var d;d=this;return d.buf.$capacity;};BM.prototype.Cap=function(){return this.$val.Cap();};BM.ptr.prototype.Truncate=function(d){var d,e;e=this;if(d===0){e.Reset();return;}e.lastRead=0;if(d<0||d>e.Len()){$panic(new $String("bytes.Buffer: truncation out of range"));}e.buf=$subslice(e.buf,0,(e.off+d>>0));};BM.prototype.Truncate=function(d){return this.$val.Truncate(d);};BM.ptr.prototype.Reset=function(){var d;d=this;d.buf=$subslice(d.buf,0,0);d.off=0;d.lastRead=0;};BM.prototype.Reset=function(){return this.$val.Reset();};BM.ptr.prototype.tryGrowByReslice=function(d){var d,e,f;e=this;f=e.buf.$length;if(d<=(e.buf.$capacity-f>>0)){e.buf=$subslice(e.buf,0,(f+d>>0));return[f,true];}return[0,false];};BM.prototype.tryGrowByReslice=function(d){return this.$val.tryGrowByReslice(d);};BM.ptr.prototype.grow=function(d){var d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=e.Len();if((f===0)&&!((e.off===0))){e.Reset();}g=e.tryGrowByReslice(d);h=g[0];i=g[1];if(i){$s=-1;return h;}if(e.buf===BT.nil&&d<=64){e.buf=$makeSlice(BT,d,64);$s=-1;return 0;}j=e.buf.$capacity;if(d<=((k=j/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))-f>>0)){$s=1;continue;}if(j>((2147483647-j>>0)-d>>0)){$s=2;continue;}$s=3;continue;case 1:$copySlice(e.buf,$subslice(e.buf,e.off));$s=4;continue;case 2:$panic($pkg.ErrTooLarge);$s=4;continue;case 3:l=BP(($imul(2,j))+d>>0);$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$copySlice(m,$subslice(e.buf,e.off));e.buf=m;case 4:e.off=0;e.buf=$subslice(e.buf,0,(f+d>>0));$s=-1;return f;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.grow};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.grow=function(d){return this.$val.grow(d);};BM.ptr.prototype.Grow=function(d){var d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;if(d<0){$panic(new $String("bytes.Buffer.Grow: negative count"));}f=e.grow(d);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;e.buf=$subslice(e.buf,0,g);$s=-1;return;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Grow};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Grow=function(d){return this.$val.Grow(d);};BM.ptr.prototype.Write=function(d){var d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=0;f=$ifaceNil;g=this;g.lastRead=0;h=g.tryGrowByReslice(d.$length);i=h[0];j=h[1];if(!j){$s=1;continue;}$s=2;continue;case 1:k=g.grow(d.$length);$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}i=k;case 2:l=$copySlice($subslice(g.buf,i),d);m=$ifaceNil;e=l;f=m;$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Write};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Write=function(d){return this.$val.Write(d);};BM.ptr.prototype.WriteString=function(d){var d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=0;f=$ifaceNil;g=this;g.lastRead=0;h=g.tryGrowByReslice(d.length);i=h[0];j=h[1];if(!j){$s=1;continue;}$s=2;continue;case 1:k=g.grow(d.length);$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}i=k;case 2:l=$copyString($subslice(g.buf,i),d);m=$ifaceNil;e=l;f=m;$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.WriteString};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.WriteString=function(d){return this.$val.WriteString(d);};BM.ptr.prototype.ReadFrom=function(d){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=new $Int64(0,0);f=$ifaceNil;g=this;g.lastRead=0;case 1:h=g.grow(512);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;g.buf=$subslice(g.buf,0,i);k=d.Read($subslice(g.buf,i,g.buf.$capacity));$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];if(l<0){$panic(BO);}g.buf=$subslice(g.buf,0,(i+l>>0));e=(n=(new $Int64(0,l)),new $Int64(e.$high+n.$high,e.$low+n.$low));if($interfaceIsEqual(m,B.EOF)){o=e;p=$ifaceNil;e=o;f=p;$s=-1;return[e,f];}if(!($interfaceIsEqual(m,$ifaceNil))){q=e;r=m;e=q;f=r;$s=-1;return[e,f];}$s=1;continue;case 2:$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.ReadFrom};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.ReadFrom=function(d){return this.$val.ReadFrom(d);};BP=function(d){var d,e,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);$deferred.push([(function(){if(!($interfaceIsEqual($recover(),$ifaceNil))){$panic($pkg.ErrTooLarge);}}),[]]);e=$makeSlice(BT,d);$s=1;case 1:return e;}return;}}catch(err){$err=err;$s=-1;return BT.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:BP};}$f.d=d;$f.e=e;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};BM.ptr.prototype.WriteTo=function(d){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=new $Int64(0,0);f=$ifaceNil;g=this;g.lastRead=0;h=g.Len();if(h>0){$s=1;continue;}$s=2;continue;case 1:j=d.Write($subslice(g.buf,g.off));$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];if(k>h){$panic(new $String("bytes.Buffer.WriteTo: invalid Write count"));}g.off=g.off+(k)>>0;e=(new $Int64(0,k));if(!($interfaceIsEqual(l,$ifaceNil))){m=e;n=l;e=m;f=n;$s=-1;return[e,f];}if(!((k===h))){o=e;p=B.ErrShortWrite;e=o;f=p;$s=-1;return[e,f];}case 2:g.Reset();q=e;r=$ifaceNil;e=q;f=r;$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.WriteTo};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.WriteTo=function(d){return this.$val.WriteTo(d);};BM.ptr.prototype.WriteByte=function(d){var d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;e.lastRead=0;f=e.tryGrowByReslice(1);g=f[0];h=f[1];if(!h){$s=1;continue;}$s=2;continue;case 1:i=e.grow(1);$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}g=i;case 2:(j=e.buf,((g<0||g>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+g]=d));$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.WriteByte};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.WriteByte=function(d){return this.$val.WriteByte(d);};BM.ptr.prototype.WriteRune=function(d){var d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=0;f=$ifaceNil;g=this;if(((d>>>0))<128){$s=1;continue;}$s=2;continue;case 1:h=g.WriteByte(((d<<24>>>24)));$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;i=1;j=$ifaceNil;e=i;f=j;$s=-1;return[e,f];case 2:g.lastRead=0;k=g.tryGrowByReslice(4);l=k[0];m=k[1];if(!m){$s=4;continue;}$s=5;continue;case 4:n=g.grow(4);$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}l=n;case 5:e=C.EncodeRune($subslice(g.buf,l,(l+4>>0)),d);g.buf=$subslice(g.buf,0,(l+e>>0));o=e;p=$ifaceNil;e=o;f=p;$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.WriteRune};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.WriteRune=function(d){return this.$val.WriteRune(d);};BM.ptr.prototype.Read=function(d){var d,e,f,g,h,i,j,k,l,m;e=0;f=$ifaceNil;g=this;g.lastRead=0;if(g.empty()){g.Reset();if(d.$length===0){h=0;i=$ifaceNil;e=h;f=i;return[e,f];}j=0;k=B.EOF;e=j;f=k;return[e,f];}e=$copySlice(d,$subslice(g.buf,g.off));g.off=g.off+(e)>>0;if(e>0){g.lastRead=-1;}l=e;m=$ifaceNil;e=l;f=m;return[e,f];};BM.prototype.Read=function(d){return this.$val.Read(d);};BM.ptr.prototype.Next=function(d){var d,e,f,g;e=this;e.lastRead=0;f=e.Len();if(d>f){d=f;}g=$subslice(e.buf,e.off,(e.off+d>>0));e.off=e.off+(d)>>0;if(d>0){e.lastRead=-1;}return g;};BM.prototype.Next=function(d){return this.$val.Next(d);};BM.ptr.prototype.ReadByte=function(){var d,e,f,g;d=this;if(d.empty()){d.Reset();return[0,B.EOF];}g=(e=d.buf,f=d.off,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));d.off=d.off+(1)>>0;d.lastRead=-1;return[g,$ifaceNil];};BM.prototype.ReadByte=function(){return this.$val.ReadByte();};BM.ptr.prototype.ReadRune=function(){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;d=0;e=0;f=$ifaceNil;g=this;if(g.empty()){g.Reset();h=0;i=0;j=B.EOF;d=h;e=i;f=j;return[d,e,f];}m=(k=g.buf,l=g.off,((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]));if(m<128){g.off=g.off+(1)>>0;g.lastRead=1;n=((m>>0));o=1;p=$ifaceNil;d=n;e=o;f=p;return[d,e,f];}q=C.DecodeRune($subslice(g.buf,g.off));d=q[0];r=q[1];g.off=g.off+(r)>>0;g.lastRead=((r<<24>>24));s=d;t=r;u=$ifaceNil;d=s;e=t;f=u;return[d,e,f];};BM.prototype.ReadRune=function(){return this.$val.ReadRune();};BM.ptr.prototype.UnreadRune=function(){var d;d=this;if(d.lastRead<=0){return A.New("bytes.Buffer: UnreadRune: previous operation was not a successful ReadRune");}if(d.off>=((d.lastRead>>0))){d.off=d.off-(((d.lastRead>>0)))>>0;}d.lastRead=0;return $ifaceNil;};BM.prototype.UnreadRune=function(){return this.$val.UnreadRune();};BM.ptr.prototype.UnreadByte=function(){var d;d=this;if(d.lastRead===0){return BQ;}d.lastRead=0;if(d.off>0){d.off=d.off-(1)>>0;}return $ifaceNil;};BM.prototype.UnreadByte=function(){return this.$val.UnreadByte();};BM.ptr.prototype.ReadBytes=function(d){var d,e,f,g,h,i,j,k;e=BT.nil;f=$ifaceNil;g=this;h=g.readSlice(d);i=h[0];f=h[1];e=$appendSlice(e,i);j=e;k=f;e=j;f=k;return[e,f];};BM.prototype.ReadBytes=function(d){return this.$val.ReadBytes(d);};BM.ptr.prototype.readSlice=function(d){var d,e,f,g,h,i,j,k;e=BT.nil;f=$ifaceNil;g=this;h=H($subslice(g.buf,g.off),d);i=(g.off+h>>0)+1>>0;if(h<0){i=g.buf.$length;f=B.EOF;}e=$subslice(g.buf,g.off,i);g.off=i;g.lastRead=-1;j=e;k=f;e=j;f=k;return[e,f];};BM.prototype.readSlice=function(d){return this.$val.readSlice(d);};BM.ptr.prototype.ReadString=function(d){var d,e,f,g,h,i,j,k;e="";f=$ifaceNil;g=this;h=g.readSlice(d);i=h[0];f=h[1];j=($bytesToString(i));k=f;e=j;f=k;return[e,f];};BM.prototype.ReadString=function(d){return this.$val.ReadString(d);};CC.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([BT],[$Int,$error],false)},{prop:"ReadAt",name:"ReadAt",pkg:"",typ:$funcType([BT,$Int64],[$Int,$error],false)},{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"UnreadByte",name:"UnreadByte",pkg:"",typ:$funcType([],[$error],false)},{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)},{prop:"Seek",name:"Seek",pkg:"",typ:$funcType([$Int64,$Int],[$Int64,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([B.Writer],[$Int64,$error],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([BT],[],false)}];BW.methods=[{prop:"contains",name:"contains",pkg:"bytes",typ:$funcType([$Uint8],[$Bool],false)}];CB.methods=[{prop:"Bytes",name:"Bytes",pkg:"",typ:$funcType([],[BT],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"empty",name:"empty",pkg:"bytes",typ:$funcType([],[$Bool],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Cap",name:"Cap",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Truncate",name:"Truncate",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"tryGrowByReslice",name:"tryGrowByReslice",pkg:"bytes",typ:$funcType([$Int],[$Int,$Bool],false)},{prop:"grow",name:"grow",pkg:"bytes",typ:$funcType([$Int],[$Int],false)},{prop:"Grow",name:"Grow",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([BT],[$Int,$error],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[$Int,$error],false)},{prop:"ReadFrom",name:"ReadFrom",pkg:"",typ:$funcType([B.Reader],[$Int64,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([B.Writer],[$Int64,$error],false)},{prop:"WriteByte",name:"WriteByte",pkg:"",typ:$funcType([$Uint8],[$error],false)},{prop:"WriteRune",name:"WriteRune",pkg:"",typ:$funcType([$Int32],[$Int,$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([BT],[$Int,$error],false)},{prop:"Next",name:"Next",pkg:"",typ:$funcType([$Int],[BT],false)},{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)},{prop:"UnreadByte",name:"UnreadByte",pkg:"",typ:$funcType([],[$error],false)},{prop:"ReadBytes",name:"ReadBytes",pkg:"",typ:$funcType([$Uint8],[BT,$error],false)},{prop:"readSlice",name:"readSlice",pkg:"bytes",typ:$funcType([$Uint8],[BT,$error],false)},{prop:"ReadString",name:"ReadString",pkg:"",typ:$funcType([$Uint8],[$String,$error],false)}];F.init("bytes",[{prop:"s",name:"s",embedded:false,exported:false,typ:BT,tag:""},{prop:"i",name:"i",embedded:false,exported:false,typ:$Int64,tag:""},{prop:"prevRune",name:"prevRune",embedded:false,exported:false,typ:$Int,tag:""}]);BA.init($Uint32,8);BM.init("bytes",[{prop:"buf",name:"buf",embedded:false,exported:false,typ:BT,tag:""},{prop:"off",name:"off",embedded:false,exported:false,typ:$Int,tag:""},{prop:"lastRead",name:"lastRead",embedded:false,exported:false,typ:BN,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AA=$toNativeArray($kindUint8,[0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);$pkg.ErrTooLarge=A.New("bytes.Buffer: too large");BO=A.New("bytes.Buffer: reader returned negative count from Read");BQ=A.New("bytes.Buffer: UnreadByte: previous operation was not a successful read");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["encoding"]=(function(){var $pkg={},$init,A,B,C,D,E;A=$pkg.BinaryMarshaler=$newType(8,$kindInterface,"encoding.BinaryMarshaler",true,"encoding",true,null);B=$pkg.BinaryUnmarshaler=$newType(8,$kindInterface,"encoding.BinaryUnmarshaler",true,"encoding",true,null);C=$pkg.TextMarshaler=$newType(8,$kindInterface,"encoding.TextMarshaler",true,"encoding",true,null);D=$pkg.TextUnmarshaler=$newType(8,$kindInterface,"encoding.TextUnmarshaler",true,"encoding",true,null);E=$sliceType($Uint8);A.init([{prop:"MarshalBinary",name:"MarshalBinary",pkg:"",typ:$funcType([],[E,$error],false)}]);B.init([{prop:"UnmarshalBinary",name:"UnmarshalBinary",pkg:"",typ:$funcType([E],[$error],false)}]);C.init([{prop:"MarshalText",name:"MarshalText",pkg:"",typ:$funcType([],[E,$error],false)}]);D.init([{prop:"UnmarshalText",name:"UnmarshalText",pkg:"",typ:$funcType([E],[$error],false)}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["math/bits"]=(function(){var $pkg={},$init,A,B,C,M,N,D,E,F,H,K,L,O,R,S,AL,AM,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ;A=$pkg._err=$newType(8,$kindString,"bits._err",true,"math/bits",false,null);A.prototype.Error=function(){var e;e=this.$val;return(e);};$ptrType(A).prototype.Error=function(){return new A(this.$get()).Error();};A.prototype.RuntimeError=function(){var e;e=this.$val;};$ptrType(A).prototype.RuntimeError=function(){return new A(this.$get()).RuntimeError();};D=function(e,f){var e,f,g,h,i,j,k,l,m,n,o,p;g=0;h=0;i=(e&65535)>>>0;j=e>>>16>>>0;k=(f&65535)>>>0;l=f>>>16>>>0;m=$imul(i,k)>>>0;n=($imul(j,k)>>>0)+(m>>>16>>>0)>>>0;o=(n&65535)>>>0;p=n>>>16>>>0;o=o+(($imul(i,l)>>>0))>>>0;g=(($imul(j,l)>>>0)+p>>>0)+(o>>>16>>>0)>>>0;h=$imul(e,f)>>>0;return[g,h];};$pkg.Mul32=D;E=function(e,f,g){var e,f,g,h,i;h=0;i=0;h=(e+f>>>0)+g>>>0;i=((((((e&f)>>>0))|((((((e|f)>>>0))&~h)>>>0)))>>>0))>>>31>>>0;return[h,i];};$pkg.Add32=E;F=function(e,f,g){var aa,ab,ac,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=0;i=0;if(g===0){$panic(C);}if(g<=e){$panic(B);}j=((K(g)>>>0));g=(k=(j),k<32?(g<<k):0)>>>0;l=g>>>16>>>0;m=(g&65535)>>>0;p=(((n=j,n<32?(e<<n):0)>>>0)|((o=((32-j>>>0)),o<32?(f>>>o):0)>>>0))>>>0;r=(q=j,q<32?(f<<q):0)>>>0;s=r>>>16>>>0;t=(r&65535)>>>0;v=(u=p/l,(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero"));w=p-($imul(v,l)>>>0)>>>0;while(true){if(!(v>=65536||($imul(v,m)>>>0)>(($imul(65536,w)>>>0)+s>>>0))){break;}v=v-(1)>>>0;w=w+(l)>>>0;if(w>=65536){break;}}x=(($imul(p,65536)>>>0)+s>>>0)-($imul(v,g)>>>0)>>>0;z=(y=x/l,(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));w=x-($imul(z,l)>>>0)>>>0;while(true){if(!(z>=65536||($imul(z,m)>>>0)>(($imul(65536,w)>>>0)+t>>>0))){break;}z=z-(1)>>>0;w=w+(l)>>>0;if(w>=65536){break;}}aa=($imul(v,65536)>>>0)+z>>>0;ab=(ac=j,ac<32?((((($imul(x,65536)>>>0)+t>>>0)-($imul(z,g)>>>0)>>>0))>>>ac):0)>>>0;h=aa;i=ab;return[h,i];};$pkg.Div32=F;H=function(e){var e;return 32-AM(e)>>0;};$pkg.LeadingZeros=H;K=function(e){var e;return 32-AP(e)>>0;};$pkg.LeadingZeros32=K;L=function(e){var e;return 64-AQ(e)>>0;};$pkg.LeadingZeros64=L;O=function(e){var e;if(true){return R(((e>>>0)));}return S((new $Uint64(0,e)));};$pkg.TrailingZeros=O;R=function(e){var e,f;if(e===0){return 32;}return(((f=($imul((((e&(-e>>>0))>>>0)),125613361)>>>0)>>>27>>>0,((f<0||f>=M.length)?($throwRuntimeError("index out of range"),undefined):M[f]))>>0));};$pkg.TrailingZeros32=R;S=function(e){var e,f,g;if((e.$high===0&&e.$low===0)){return 64;}return(((f=$shiftRightUint64($mul64(((g=new $Uint64(-e.$high,-e.$low),new $Uint64(e.$high&g.$high,(e.$low&g.$low)>>>0))),new $Uint64(66559345,3033172745)),58),(($flatten64(f)<0||$flatten64(f)>=N.length)?($throwRuntimeError("index out of range"),undefined):N[$flatten64(f)]))>>0));};$pkg.TrailingZeros64=S;AL=function(e){var e,f,g,h,i,j,k,l,m;e=(f=(g=$shiftRightUint64(e,8),new $Uint64(g.$high&16711935,(g.$low&16711935)>>>0)),h=$shiftLeft64(new $Uint64(e.$high&16711935,(e.$low&16711935)>>>0),8),new $Uint64(f.$high|h.$high,(f.$low|h.$low)>>>0));e=(i=(j=$shiftRightUint64(e,16),new $Uint64(j.$high&65535,(j.$low&65535)>>>0)),k=$shiftLeft64(new $Uint64(e.$high&65535,(e.$low&65535)>>>0),16),new $Uint64(i.$high|k.$high,(i.$low|k.$low)>>>0));return(l=$shiftRightUint64(e,32),m=$shiftLeft64(e,32),new $Uint64(l.$high|m.$high,(l.$low|m.$low)>>>0));};$pkg.ReverseBytes64=AL;AM=function(e){var e;if(true){return AP(((e>>>0)));}return AQ((new $Uint64(0,e)));};$pkg.Len=AM;AP=function(e){var e,f,g,h;f=0;if(e>=65536){e=(g=(16),g<32?(e>>>g):0)>>>0;f=16;}if(e>=256){e=(h=(8),h<32?(e>>>h):0)>>>0;f=f+(8)>>0;}f=f+(("\x00\x01\x02\x02\x03\x03\x03\x03\x04\x04\x04\x04\x04\x04\x04\x04\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b".charCodeAt(e)>>0))>>0;return f;};$pkg.Len32=AP;AQ=function(e){var e,f;f=0;if((e.$high>1||(e.$high===1&&e.$low>=0))){e=$shiftRightUint64(e,(32));f=32;}if((e.$high>0||(e.$high===0&&e.$low>=65536))){e=$shiftRightUint64(e,(16));f=f+(16)>>0;}if((e.$high>0||(e.$high===0&&e.$low>=256))){e=$shiftRightUint64(e,(8));f=f+(8)>>0;}f=f+(("\x00\x01\x02\x02\x03\x03\x03\x03\x04\x04\x04\x04\x04\x04\x04\x04\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b".charCodeAt($flatten64(e))>>0))>>0;return f;};$pkg.Len64=AQ;AR=function(e,f,g){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;h=0;i=0;if(true){j=E(((e>>>0)),((f>>>0)),((g>>>0)));k=j[0];l=j[1];m=((k>>>0));n=((l>>>0));h=m;i=n;return[h,i];}o=AS((new $Uint64(0,e)),(new $Uint64(0,f)),(new $Uint64(0,g)));p=o[0];q=o[1];r=((p.$low>>>0));s=((q.$low>>>0));h=r;i=s;return[h,i];};$pkg.Add=AR;AS=function(e,f,g){var e,f,g,h,i,j,k,l,m;h=new $Uint64(0,0);i=new $Uint64(0,0);h=(j=new $Uint64(e.$high+f.$high,e.$low+f.$low),new $Uint64(j.$high+g.$high,j.$low+g.$low));i=$shiftRightUint64(((k=new $Uint64(e.$high&f.$high,(e.$low&f.$low)>>>0),l=(m=new $Uint64(e.$high|f.$high,(e.$low|f.$low)>>>0),new $Uint64(m.$high&~h.$high,(m.$low&~h.$low)>>>0)),new $Uint64(k.$high|l.$high,(k.$low|l.$low)>>>0))),63);return[h,i];};$pkg.Add64=AS;AT=function(e,f,g){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;h=0;i=0;if(true){j=AU(((e>>>0)),((f>>>0)),((g>>>0)));k=j[0];l=j[1];m=((k>>>0));n=((l>>>0));h=m;i=n;return[h,i];}o=AV((new $Uint64(0,e)),(new $Uint64(0,f)),(new $Uint64(0,g)));p=o[0];q=o[1];r=((p.$low>>>0));s=((q.$low>>>0));h=r;i=s;return[h,i];};$pkg.Sub=AT;AU=function(e,f,g){var e,f,g,h,i;h=0;i=0;h=(e-f>>>0)-g>>>0;i=(((((((~e>>>0)&f)>>>0))|((((~(((e^f)>>>0))>>>0)&h)>>>0)))>>>0))>>>31>>>0;return[h,i];};$pkg.Sub32=AU;AV=function(e,f,g){var e,f,g,h,i,j,k,l,m,n,o;h=new $Uint64(0,0);i=new $Uint64(0,0);h=(j=new $Uint64(e.$high-f.$high,e.$low-f.$low),new $Uint64(j.$high-g.$high,j.$low-g.$low));i=$shiftRightUint64(((k=(l=new $Uint64(~e.$high,~e.$low>>>0),new $Uint64(l.$high&f.$high,(l.$low&f.$low)>>>0)),m=(n=(o=new $Uint64(e.$high^f.$high,(e.$low^f.$low)>>>0),new $Uint64(~o.$high,~o.$low>>>0)),new $Uint64(n.$high&h.$high,(n.$low&h.$low)>>>0)),new $Uint64(k.$high|m.$high,(k.$low|m.$low)>>>0))),63);return[h,i];};$pkg.Sub64=AV;AW=function(e,f){var e,f,g,h,i,j,k,l,m,n,o,p,q,r;g=0;h=0;if(true){i=D(((e>>>0)),((f>>>0)));j=i[0];k=i[1];l=((j>>>0));m=((k>>>0));g=l;h=m;return[g,h];}n=AX((new $Uint64(0,e)),(new $Uint64(0,f)));o=n[0];p=n[1];q=((o.$low>>>0));r=((p.$low>>>0));g=q;h=r;return[g,h];};$pkg.Mul=AW;AX=function(e,f){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;g=new $Uint64(0,0);h=new $Uint64(0,0);i=new $Uint64(e.$high&0,(e.$low&4294967295)>>>0);j=$shiftRightUint64(e,32);k=new $Uint64(f.$high&0,(f.$low&4294967295)>>>0);l=$shiftRightUint64(f,32);m=$mul64(i,k);p=(n=$mul64(j,k),o=$shiftRightUint64(m,32),new $Uint64(n.$high+o.$high,n.$low+o.$low));q=new $Uint64(p.$high&0,(p.$low&4294967295)>>>0);r=$shiftRightUint64(p,32);q=(s=$mul64(i,l),new $Uint64(q.$high+s.$high,q.$low+s.$low));g=(t=(u=$mul64(j,l),new $Uint64(u.$high+r.$high,u.$low+r.$low)),v=$shiftRightUint64(q,32),new $Uint64(t.$high+v.$high,t.$low+v.$low));h=$mul64(e,f);return[g,h];};$pkg.Mul64=AX;AY=function(e,f,g){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;h=0;i=0;if(true){j=F(((e>>>0)),((f>>>0)),((g>>>0)));k=j[0];l=j[1];m=((k>>>0));n=((l>>>0));h=m;i=n;return[h,i];}o=AZ((new $Uint64(0,e)),(new $Uint64(0,f)),(new $Uint64(0,g)));p=o[0];q=o[1];r=((p.$low>>>0));s=((q.$low>>>0));h=r;i=s;return[h,i];};$pkg.Div=AY;AZ=function(e,f,g){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=new $Uint64(0,0);i=new $Uint64(0,0);if((g.$high===0&&g.$low===0)){$panic(C);}if((g.$high<e.$high||(g.$high===e.$high&&g.$low<=e.$low))){$panic(B);}j=((L(g)>>>0));g=$shiftLeft64(g,(j));k=$shiftRightUint64(g,32);l=new $Uint64(g.$high&0,(g.$low&4294967295)>>>0);o=(m=$shiftLeft64(e,j),n=$shiftRightUint64(f,((64-j>>>0))),new $Uint64(m.$high|n.$high,(m.$low|n.$low)>>>0));p=$shiftLeft64(f,j);q=$shiftRightUint64(p,32);r=new $Uint64(p.$high&0,(p.$low&4294967295)>>>0);s=$div64(o,k,false);u=(t=$mul64(s,k),new $Uint64(o.$high-t.$high,o.$low-t.$low));while(true){if(!((s.$high>1||(s.$high===1&&s.$low>=0))||(v=$mul64(s,l),w=(x=$mul64(new $Uint64(1,0),u),new $Uint64(x.$high+q.$high,x.$low+q.$low)),(v.$high>w.$high||(v.$high===w.$high&&v.$low>w.$low))))){break;}s=(y=new $Uint64(0,1),new $Uint64(s.$high-y.$high,s.$low-y.$low));u=(z=k,new $Uint64(u.$high+z.$high,u.$low+z.$low));if((u.$high>1||(u.$high===1&&u.$low>=0))){break;}}ad=(aa=(ab=$mul64(o,new $Uint64(1,0)),new $Uint64(ab.$high+q.$high,ab.$low+q.$low)),ac=$mul64(s,g),new $Uint64(aa.$high-ac.$high,aa.$low-ac.$low));ae=$div64(ad,k,false);u=(af=$mul64(ae,k),new $Uint64(ad.$high-af.$high,ad.$low-af.$low));while(true){if(!((ae.$high>1||(ae.$high===1&&ae.$low>=0))||(ag=$mul64(ae,l),ah=(ai=$mul64(new $Uint64(1,0),u),new $Uint64(ai.$high+r.$high,ai.$low+r.$low)),(ag.$high>ah.$high||(ag.$high===ah.$high&&ag.$low>ah.$low))))){break;}ae=(aj=new $Uint64(0,1),new $Uint64(ae.$high-aj.$high,ae.$low-aj.$low));u=(ak=k,new $Uint64(u.$high+ak.$high,u.$low+ak.$low));if((u.$high>1||(u.$high===1&&u.$low>=0))){break;}}al=(am=$mul64(s,new $Uint64(1,0)),new $Uint64(am.$high+ae.$high,am.$low+ae.$low));an=$shiftRightUint64(((ao=(ap=$mul64(ad,new $Uint64(1,0)),new $Uint64(ap.$high+r.$high,ap.$low+r.$low)),aq=$mul64(ae,g),new $Uint64(ao.$high-aq.$high,ao.$low-aq.$low))),j);h=al;i=an;return[h,i];};$pkg.Div64=AZ;A.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"RuntimeError",name:"RuntimeError",pkg:"",typ:$funcType([],[],false)}];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:B=new A("runtime error: integer overflow");C=new A("runtime error: integer divide by zero");M=$toNativeArray($kindUint8,[0,1,28,2,29,14,24,3,30,22,20,15,25,17,4,8,31,27,13,23,21,19,16,7,26,12,18,6,11,5,10,9]);N=$toNativeArray($kindUint8,[0,1,56,2,57,49,28,3,61,58,42,50,38,29,17,4,62,47,59,36,45,43,51,22,53,39,33,30,24,18,12,5,63,55,48,27,60,41,37,16,46,35,44,21,52,32,23,11,54,26,40,15,34,20,31,10,25,14,19,9,13,8,7,6]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["math"]=(function(){var $pkg={},$init,B,A,IT,IU,IV,IW,DN,DO,DP,DQ,DR,FJ,BJ,BU,EB,EG,EK,EM,EN,EO,EP,EQ,ET,EY,EZ,FB,FF,FK,FL,FM,FN,FO,FV,HC,HM;B=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["math/bits"];IT=$arrayType($Uint32,2);IU=$arrayType($Float32,2);IV=$arrayType($Float64,1);IW=$structType("math",[{prop:"uint32array",name:"uint32array",embedded:false,exported:false,typ:IT,tag:""},{prop:"float32array",name:"float32array",embedded:false,exported:false,typ:IU,tag:""},{prop:"float64array",name:"float64array",embedded:false,exported:false,typ:IV,tag:""}]);BJ=function(av){var av,aw,ax,ay;aw=EK(av);ax=aw[0];ay=aw[1];if(ax===0.5){return((ay-1>>0));}return EQ(ax)*1.4426950408889634+(ay);};BU=function(av,aw){var av,aw,ax,ay,az,ba,bb,bc;if((av===0)){return av;}else if(EN(av,0)||EO(av)){return av;}ax=HC(av);av=ax[0];ay=ax[1];aw=aw+(ay)>>0;az=FN(av);aw=aw+((((($shiftRightUint64(az,52).$low>>0))&2047)-1023>>0))>>0;if(aw<-1075){return EB(0,av);}if(aw>1023){if(av<0){return EM(-1);}return EM(1);}ba=1;if(aw<-1022){aw=aw+(53)>>0;ba=1.1102230246251565e-16;}az=(bb=new $Uint64(2146435072,0),new $Uint64(az.$high&~bb.$high,(az.$low&~bb.$low)>>>0));az=(bc=$shiftLeft64((new $Uint64(0,(aw+1023>>0))),52),new $Uint64(az.$high|bc.$high,(az.$low|bc.$low)>>>0));return ba*FO(az);};EB=function(av,aw){var av,aw;if(!((av<0||(1/av===DQ))===(aw<0||(1/aw===DQ)))){return-av;}return av;};$pkg.Copysign=EB;EG=function(av){var av;return $parseFloat(DN.exp(av));};$pkg.Exp=EG;EK=function(av){var av,aw,ax,ay;aw=0;ax=0;ay=FV(av);aw=ay[0];ax=ay[1];return[aw,ax];};$pkg.Frexp=EK;EM=function(av){var av;if(av>=0){return DP;}else{return DQ;}};$pkg.Inf=EM;EN=function(av,aw){var av,aw;if(av===DP){return aw>=0;}if(av===DQ){return aw<=0;}return false;};$pkg.IsInf=EN;EO=function(av){var av,aw;aw=false;aw=!((av===av));return aw;};$pkg.IsNaN=EO;EP=function(av,aw){var av,aw;if(-1024<aw&&aw<1024){if(av===0){return av;}return av*$parseFloat(DN.pow(2,aw));}return BU(av,aw);};$pkg.Ldexp=EP;EQ=function(av){var av;if(!((av===av))){return DR;}return $parseFloat(DN.log(av));};$pkg.Log=EQ;ET=function(av){var av;return BJ(av);};$pkg.Log2=ET;EY=function(){return DR;};$pkg.NaN=EY;EZ=function(av,aw){var av,aw;if((av===1)||((av===-1)&&((aw===DP)||(aw===DQ)))){return 1;}return $parseFloat(DN.pow(av,aw));};$pkg.Pow=EZ;FB=function(av){var av;return av<0||(1/av===DQ);};$pkg.Signbit=FB;FF=function(av){var av;return $parseFloat(DN.sqrt(av));};$pkg.Sqrt=FF;FK=function(){var av;av=new($global.ArrayBuffer)(8);FJ.uint32array=new($global.Uint32Array)(av);FJ.float32array=new($global.Float32Array)(av);FJ.float64array=new($global.Float64Array)(av);};FL=function(av){var av;FJ.float32array[0]=av;return FJ.uint32array[0];};$pkg.Float32bits=FL;FM=function(av){var av;FJ.uint32array[0]=av;return FJ.float32array[0];};$pkg.Float32frombits=FM;FN=function(av){var av,aw,ax;FJ.float64array[0]=av;return(aw=$shiftLeft64((new $Uint64(0,FJ.uint32array[1])),32),ax=(new $Uint64(0,FJ.uint32array[0])),new $Uint64(aw.$high+ax.$high,aw.$low+ax.$low));};$pkg.Float64bits=FN;FO=function(av){var av;FJ.uint32array[0]=((av.$low>>>0));FJ.uint32array[1]=(($shiftRightUint64(av,32).$low>>>0));return FJ.float64array[0];};$pkg.Float64frombits=FO;FV=function(av){var av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg;aw=0;ax=0;if((av===0)){ay=av;az=0;aw=ay;ax=az;return[aw,ax];}else if(EN(av,0)||EO(av)){ba=av;bb=0;aw=ba;ax=bb;return[aw,ax];}bc=HC(av);av=bc[0];ax=bc[1];bd=FN(av);ax=ax+((((((be=$shiftRightUint64(bd,52),new $Uint64(be.$high&0,(be.$low&2047)>>>0)).$low>>0))-1023>>0)+1>>0))>>0;bd=(bf=new $Uint64(2146435072,0),new $Uint64(bd.$high&~bf.$high,(bd.$low&~bf.$low)>>>0));bd=(bg=new $Uint64(1071644672,0),new $Uint64(bd.$high|bg.$high,(bd.$low|bg.$low)>>>0));aw=FO(bd);return[aw,ax];};HC=function(av){var av,aw,ax,ay,az,ba,bb;aw=0;ax=0;if(HM(av)<2.2250738585072014e-308){ay=av*4.503599627370496e+15;az=-52;aw=ay;ax=az;return[aw,ax];}ba=av;bb=0;aw=ba;ax=bb;return[aw,ax];};HM=function(av){var av,aw;return FO((aw=FN(av),new $Uint64(aw.$high&~2147483648,(aw.$low&~0)>>>0)));};$pkg.Abs=HM;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}FJ=new IW.ptr(IT.zero(),IU.zero(),IV.zero());DN=$global.Math;DO=0;DP=1/DO;DQ=-1/DO;DR=0/DO;FK();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["internal/abi"]=(function(){var $pkg={},$init;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["internal/goexperiment"]=(function(){var $pkg={},$init;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["internal/itoa"]=(function(){var $pkg={},$init,C,D,A,B;C=$arrayType($Uint8,20);D=$sliceType($Uint8);A=function(a){var a;if(a<0){return"-"+B(((-a>>>0)));}return B(((a>>>0)));};$pkg.Itoa=A;B=function(a){var a,b,c,d,e;if(a===0){return"0";}b=C.zero();c=19;while(true){if(!(a>=10)){break;}e=(d=a/10,(d===d&&d!==1/0&&d!==-1/0)?d>>>0:$throwRuntimeError("integer divide by zero"));((c<0||c>=b.length)?($throwRuntimeError("index out of range"),undefined):b[c]=((((48+a>>>0)-(e*10>>>0)>>>0)<<24>>>24)));c=c-(1)>>0;a=e;}((c<0||c>=b.length)?($throwRuntimeError("index out of range"),undefined):b[c]=(((48+a>>>0)<<24>>>24)));return($bytesToString($subslice(new D(b),c)));};$pkg.Uitoa=B;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["strconv"]=(function(){var $pkg={},$init,F,C,E,D,B,A,BL,BU,CE,CI,CQ,DT,DU,DV,DW,DX,DY,DZ,EA,EB,EC,ED,EE,EF,EG,EH,EI,AQ,AR,AS,AT,AU,AZ,BM,DR,BN,DS,CD,CJ,CY,DC,DD,DE,G,H,J,K,L,M,N,O,P,T,V,Y,Z,AA,AC,AD,AE,AF,AG,AI,AJ,AK,AL,AM,AN,AO,AP,AV,AX,AY,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BO,BP,BQ,BR,BS,BT,BV,BW,BX,BY,BZ,CA,CB,CC,CF,CG,CH,CK,CL,CM,CO,CP,CR,CS,CT,CU,CV,CW,CX,CZ,DA,DB,DF,DG,DH,DI,DJ,DK,DL;F=$packages["errors"];C=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["internal/bytealg"];D=$packages["math"];B=$packages["math/bits"];A=$packages["unicode/utf8"];BL=$pkg.floatInfo=$newType(0,$kindStruct,"strconv.floatInfo",true,"strconv",false,function(mantbits_,expbits_,bias_){this.$val=this;if(arguments.length===0){this.mantbits=0;this.expbits=0;this.bias=0;return;}this.mantbits=mantbits_;this.expbits=expbits_;this.bias=bias_;});BU=$pkg.decimalSlice=$newType(0,$kindStruct,"strconv.decimalSlice",true,"strconv",false,function(d_,nd_,dp_,neg_){this.$val=this;if(arguments.length===0){this.d=EA.nil;this.nd=0;this.dp=0;this.neg=false;return;}this.d=d_;this.nd=nd_;this.dp=dp_;this.neg=neg_;});CE=$pkg.decimal=$newType(0,$kindStruct,"strconv.decimal",true,"strconv",false,function(d_,nd_,dp_,neg_,trunc_){this.$val=this;if(arguments.length===0){this.d=EG.zero();this.nd=0;this.dp=0;this.neg=false;this.trunc=false;return;}this.d=d_;this.nd=nd_;this.dp=dp_;this.neg=neg_;this.trunc=trunc_;});CI=$pkg.leftCheat=$newType(0,$kindStruct,"strconv.leftCheat",true,"strconv",false,function(delta_,cutoff_){this.$val=this;if(arguments.length===0){this.delta=0;this.cutoff="";return;}this.delta=delta_;this.cutoff=cutoff_;});CQ=$pkg.NumError=$newType(0,$kindStruct,"strconv.NumError",true,"strconv",true,function(Func_,Num_,Err_){this.$val=this;if(arguments.length===0){this.Func="";this.Num="";this.Err=$ifaceNil;return;}this.Func=Func_;this.Num=Num_;this.Err=Err_;});DT=$sliceType($Uint16);DU=$sliceType($Uint32);DV=$arrayType($Uint64,2);DW=$sliceType(CI);DX=$sliceType($Int);DY=$sliceType($Float64);DZ=$sliceType($Float32);EA=$sliceType($Uint8);EB=$arrayType($Uint8,4);EC=$arrayType($Uint8,65);ED=$ptrType(BL);EE=$arrayType($Uint8,32);EF=$arrayType($Uint8,24);EG=$arrayType($Uint8,800);EH=$ptrType(CQ);EI=$ptrType(CE);G=function(c,d){var c,d;return!((CO(c,d)===-1));};H=function(c,d,e,f){var c,d,e,f,g;return($bytesToString(J($makeSlice(EA,0,(g=($imul(3,c.length))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"))),c,d,e,f)));};J=function(c,d,e,f,g){var c,d,e,f,g,h,i,j,k;if((c.$capacity-c.$length>>0)<d.length){h=$makeSlice(EA,c.$length,(((c.$length+1>>0)+d.length>>0)+1>>0));$copySlice(h,c);c=h;}c=$append(c,e);i=0;while(true){if(!(d.length>0)){break;}j=((d.charCodeAt(0)>>0));i=1;if(j>=128){k=A.DecodeRuneInString(d);j=k[0];i=k[1];}if((i===1)&&(j===65533)){c=$appendSlice(c,"\\x");c=$append(c,"0123456789abcdef".charCodeAt((d.charCodeAt(0)>>>4<<24>>>24)));c=$append(c,"0123456789abcdef".charCodeAt(((d.charCodeAt(0)&15)>>>0)));d=$substring(d,i);continue;}c=L(c,j,e,f,g);d=$substring(d,i);}c=$append(c,e);return c;};K=function(c,d,e,f,g){var c,d,e,f,g;c=$append(c,e);if(!A.ValidRune(d)){d=65533;}c=L(c,d,e,f,g);c=$append(c,e);return c;};L=function(c,d,e,f,g){var c,d,e,f,g,h,i,j,k,l;h=EB.zero();if((d===((e>>0)))||(d===92)){c=$append(c,92);c=$append(c,((d<<24>>>24)));return c;}if(f){if(d<128&&AG(d)){c=$append(c,((d<<24>>>24)));return c;}}else if(AG(d)||g&&AI(d)){i=A.EncodeRune(new EA(h),d);c=$appendSlice(c,$subslice(new EA(h),0,i));return c;}j=d;if(j===(7)){c=$appendSlice(c,"\\a");}else if(j===(8)){c=$appendSlice(c,"\\b");}else if(j===(12)){c=$appendSlice(c,"\\f");}else if(j===(10)){c=$appendSlice(c,"\\n");}else if(j===(13)){c=$appendSlice(c,"\\r");}else if(j===(9)){c=$appendSlice(c,"\\t");}else if(j===(11)){c=$appendSlice(c,"\\v");}else{if(d<32){c=$appendSlice(c,"\\x");c=$append(c,"0123456789abcdef".charCodeAt((((d<<24>>>24))>>>4<<24>>>24)));c=$append(c,"0123456789abcdef".charCodeAt(((((d<<24>>>24))&15)>>>0)));}else if(d>1114111){d=65533;c=$appendSlice(c,"\\u");k=12;while(true){if(!(k>=0)){break;}c=$append(c,"0123456789abcdef".charCodeAt((((d>>$min(((k>>>0)),31))>>0)&15)));k=k-(4)>>0;}}else if(d<65536){c=$appendSlice(c,"\\u");k=12;while(true){if(!(k>=0)){break;}c=$append(c,"0123456789abcdef".charCodeAt((((d>>$min(((k>>>0)),31))>>0)&15)));k=k-(4)>>0;}}else{c=$appendSlice(c,"\\U");l=28;while(true){if(!(l>=0)){break;}c=$append(c,"0123456789abcdef".charCodeAt((((d>>$min(((l>>>0)),31))>>0)&15)));l=l-(4)>>0;}}}return c;};M=function(c){var c;return H(c,34,false,false);};$pkg.Quote=M;N=function(c,d){var c,d;return J(c,d,34,false,false);};$pkg.AppendQuote=N;O=function(c){var c;return H(c,34,true,false);};$pkg.QuoteToASCII=O;P=function(c,d){var c,d;return J(c,d,34,true,false);};$pkg.AppendQuoteToASCII=P;T=function(c,d){var c,d;return K(c,d,39,false,false);};$pkg.AppendQuoteRune=T;V=function(c,d){var c,d;return K(c,d,39,true,false);};$pkg.AppendQuoteRuneToASCII=V;Y=function(c){var c,d,e,f;while(true){if(!(c.length>0)){break;}d=A.DecodeRuneInString(c);e=d[0];f=d[1];c=$substring(c,f);if(f>1){if(e===65279){return false;}continue;}if(e===65533){return false;}if((e<32&&!((e===9)))||(e===96)||(e===127)){return false;}}return true;};$pkg.CanBackquote=Y;Z=function(c){var c,d,e,f,g,h,i,j,k,l;d=0;e=false;f=((c>>0));if(48<=f&&f<=57){g=f-48>>0;h=true;d=g;e=h;return[d,e];}else if(97<=f&&f<=102){i=(f-97>>0)+10>>0;j=true;d=i;e=j;return[d,e];}else if(65<=f&&f<=70){k=(f-65>>0)+10>>0;l=true;d=k;e=l;return[d,e];}return[d,e];};AA=function(c,d){var aa,ab,ac,ad,ae,af,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;e=0;f=false;g="";h=$ifaceNil;if(c.length===0){h=$pkg.ErrSyntax;return[e,f,g,h];}i=c.charCodeAt(0);if((i===d)&&((d===39)||(d===34))){h=$pkg.ErrSyntax;return[e,f,g,h];}else if(i>=128){j=A.DecodeRuneInString(c);k=j[0];l=j[1];m=k;n=true;o=$substring(c,l);p=$ifaceNil;e=m;f=n;g=o;h=p;return[e,f,g,h];}else if(!((i===92))){q=((c.charCodeAt(0)>>0));r=false;s=$substring(c,1);t=$ifaceNil;e=q;f=r;g=s;h=t;return[e,f,g,h];}if(c.length<=1){h=$pkg.ErrSyntax;return[e,f,g,h];}u=c.charCodeAt(1);c=$substring(c,2);switch(0){default:v=u;if(v===(97)){e=7;}else if(v===(98)){e=8;}else if(v===(102)){e=12;}else if(v===(110)){e=10;}else if(v===(114)){e=13;}else if(v===(116)){e=9;}else if(v===(118)){e=11;}else if((v===(120))||(v===(117))||(v===(85))){w=0;x=u;if(x===(120)){w=2;}else if(x===(117)){w=4;}else if(x===(85)){w=8;}y=0;if(c.length<w){h=$pkg.ErrSyntax;return[e,f,g,h];}z=0;while(true){if(!(z<w)){break;}aa=Z(c.charCodeAt(z));ab=aa[0];ac=aa[1];if(!ac){h=$pkg.ErrSyntax;return[e,f,g,h];}y=(y<<4>>0)|ab;z=z+(1)>>0;}c=$substring(c,w);if(u===120){e=y;break;}if(y>1114111){h=$pkg.ErrSyntax;return[e,f,g,h];}e=y;f=true;}else if((v===(48))||(v===(49))||(v===(50))||(v===(51))||(v===(52))||(v===(53))||(v===(54))||(v===(55))){ad=((u>>0))-48>>0;if(c.length<2){h=$pkg.ErrSyntax;return[e,f,g,h];}ae=0;while(true){if(!(ae<2)){break;}af=((c.charCodeAt(ae)>>0))-48>>0;if(af<0||af>7){h=$pkg.ErrSyntax;return[e,f,g,h];}ad=((ad<<3>>0))|af;ae=ae+(1)>>0;}c=$substring(c,2);if(ad>255){h=$pkg.ErrSyntax;return[e,f,g,h];}e=ad;}else if(v===(92)){e=92;}else if((v===(39))||(v===(34))){if(!((u===d))){h=$pkg.ErrSyntax;return[e,f,g,h];}e=((u>>0));}else{h=$pkg.ErrSyntax;return[e,f,g,h];}}g=c;return[e,f,g,h];};$pkg.UnquoteChar=AA;AC=function(c){var c,d,e,f,g;d=AD(c,true);e=d[0];f=d[1];g=d[2];if(f.length>0){return["",$pkg.ErrSyntax];}return[e,g];};$pkg.Unquote=AC;AD=function(c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;e="";f="";g=$ifaceNil;if(c.length<2){h="";i=c;j=$pkg.ErrSyntax;e=h;f=i;g=j;return[e,f,g];}k=c.charCodeAt(0);l=CO($substring(c,1),k);if(l<0){m="";n=c;o=$pkg.ErrSyntax;e=m;f=n;g=o;return[e,f,g];}l=l+(2)>>0;p=k;if(p===(96)){if(!d){e=$substring(c,0,l);}else if(!G($substring(c,0,l),13)){e=$substring(c,1,(l-1>>0));}else{q=$makeSlice(EA,0,(((l-1>>0)-1>>0)-1>>0));r=1;while(true){if(!(r<(l-1>>0))){break;}if(!((c.charCodeAt(r)===13))){q=$append(q,c.charCodeAt(r));}r=r+(1)>>0;}e=($bytesToString(q));}s=e;t=$substring(c,l);u=$ifaceNil;e=s;f=t;g=u;return[e,f,g];}else if((p===(34))||(p===(39))){if(!G($substring(c,0,l),92)&&!G($substring(c,0,l),10)){v=false;w=k;if(w===(34)){v=A.ValidString($substring(c,1,(l-1>>0)));}else if(w===(39)){x=A.DecodeRuneInString($substring(c,1,(l-1>>0)));y=x[0];z=x[1];v=(((1+z>>0)+1>>0)===l)&&(!((y===65533))||!((z===1)));}if(v){e=$substring(c,0,l);if(d){e=$substring(e,1,(l-1>>0));}aa=e;ab=$substring(c,l);ac=$ifaceNil;e=aa;f=ab;g=ac;return[e,f,g];}}ad=EA.nil;ae=c;c=$substring(c,1);if(d){ad=$makeSlice(EA,0,(af=($imul(3,l))/2,(af===af&&af!==1/0&&af!==-1/0)?af>>0:$throwRuntimeError("integer divide by zero")));}while(true){if(!(c.length>0&&!((c.charCodeAt(0)===k)))){break;}ag=AA(c,k);ah=ag[0];ai=ag[1];aj=ag[2];ak=ag[3];if((c.charCodeAt(0)===10)||!($interfaceIsEqual(ak,$ifaceNil))){al="";am=ae;an=$pkg.ErrSyntax;e=al;f=am;g=an;return[e,f,g];}c=aj;if(d){if(ah<128||!ai){ad=$append(ad,((ah<<24>>>24)));}else{ao=EB.zero();ap=A.EncodeRune(new EA(ao),ah);ad=$appendSlice(ad,$subslice(new EA(ao),0,ap));}}if(k===39){break;}}if(!(c.length>0&&(c.charCodeAt(0)===k))){aq="";ar=ae;as=$pkg.ErrSyntax;e=aq;f=ar;g=as;return[e,f,g];}c=$substring(c,1);if(d){at=($bytesToString(ad));au=c;av=$ifaceNil;e=at;f=au;g=av;return[e,f,g];}aw=$substring(ae,0,(ae.length-c.length>>0));ax=c;ay=$ifaceNil;e=aw;f=ax;g=ay;return[e,f,g];}else{az="";ba=c;bb=$pkg.ErrSyntax;e=az;f=ba;g=bb;return[e,f,g];}};AE=function(c,d){var c,d,e,f,g,h,i;e=0;f=c.$length;g=e;h=f;while(true){if(!(g<h)){break;}i=g+(((h-g>>0))>>1>>0)>>0;if(((i<0||i>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+i])<d){g=i+1>>0;}else{h=i;}}return g;};AF=function(c,d){var c,d,e,f,g,h,i;e=0;f=c.$length;g=e;h=f;while(true){if(!(g<h)){break;}i=g+(((h-g>>0))>>1>>0)>>0;if(((i<0||i>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+i])<d){g=i+1>>0;}else{h=i;}}return g;};AG=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;if(c<=255){if(32<=c&&c<=126){return true;}if(161<=c&&c<=255){return!((c===173));}return false;}if(0<=c&&c<65536){d=((c<<16>>>16));e=AQ;f=AR;g=d;h=e;i=f;j=AE(h,g);if(j>=h.$length||g<(k=(j&~1)>>0,((k<0||k>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+k]))||(l=j|1,((l<0||l>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+l]))<g){return false;}m=AE(i,g);return m>=i.$length||!((((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m])===g));}n=((c>>>0));o=AS;p=AT;q=n;r=o;s=p;t=AF(r,q);if(t>=r.$length||q<(u=(t&~1)>>0,((u<0||u>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+u]))||(v=t|1,((v<0||v>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+v]))<q){return false;}if(c>=131072){return true;}c=c-(65536)>>0;w=AE(s,((c<<16>>>16)));return w>=s.$length||!((((w<0||w>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+w])===((c<<16>>>16))));};$pkg.IsPrint=AG;AI=function(c){var c,d,e;if(c>65535){return false;}d=((c<<16>>>16));e=AE(AU,d);return e<AU.$length&&(d===((e<0||e>=AU.$length)?($throwRuntimeError("index out of range"),undefined):AU.$array[AU.$offset+e]));};AJ=function(c,d){var c,d,e,f;if( true&&(c.$high<0||(c.$high===0&&c.$low<100))&&(d===10)){return AN(((c.$low>>0)));}e=AO(EA.nil,c,d,false,false);f=e[1];return f;};$pkg.FormatUint=AJ;AK=function(c,d){var c,d,e,f;if( true&&(0<c.$high||(0===c.$high&&0<=c.$low))&&(c.$high<0||(c.$high===0&&c.$low<100))&&(d===10)){return AN((((c.$low+((c.$high>>31)*4294967296))>>0)));}e=AO(EA.nil,(new $Uint64(c.$high,c.$low)),d,(c.$high<0||(c.$high===0&&c.$low<0)),false);f=e[1];return f;};$pkg.FormatInt=AK;AL=function(c,d,e){var c,d,e,f;if( true&&(0<d.$high||(0===d.$high&&0<=d.$low))&&(d.$high<0||(d.$high===0&&d.$low<100))&&(e===10)){return $appendSlice(c,AN((((d.$low+((d.$high>>31)*4294967296))>>0))));}f=AO(c,(new $Uint64(d.$high,d.$low)),e,(d.$high<0||(d.$high===0&&d.$low<0)),true);c=f[0];return c;};$pkg.AppendInt=AL;AM=function(c,d,e){var c,d,e,f;if( true&&(d.$high<0||(d.$high===0&&d.$low<100))&&(e===10)){return $appendSlice(c,AN(((d.$low>>0))));}f=AO(c,d,e,false,true);c=f[0];return c;};$pkg.AppendUint=AM;AN=function(c){var c;if(c<10){return $substring("0123456789abcdefghijklmnopqrstuvwxyz",c,(c+1>>0));}return $substring("00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899",($imul(c,2)),(($imul(c,2))+2>>0));};AO=function(c,d,e,f,g){var aa,ab,ac,ad,ae,af,ag,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=EA.nil;i="";if(e<2||e>36){$panic(new $String("strconv: illegal AppendInt/FormatInt base"));}j=EC.zero();k=65;if(f){d=new $Uint64(-d.$high,-d.$low);}if(e===10){if(true){while(true){if(!((d.$high>0||(d.$high===0&&d.$low>=1000000000)))){break;}l=$div64(d,new $Uint64(0,1000000000),false);n=(((m=$mul64(l,new $Uint64(0,1000000000)),new $Uint64(d.$high-m.$high,d.$low-m.$low)).$low>>>0));o=4;while(true){if(!(o>0)){break;}q=(p=n%100,p===p?p:$throwRuntimeError("integer divide by zero"))*2>>>0;n=(r=n/(100),(r===r&&r!==1/0&&r!==-1/0)?r>>>0:$throwRuntimeError("integer divide by zero"));k=k-(2)>>0;(s=k+1>>0,((s<0||s>=j.length)?($throwRuntimeError("index out of range"),undefined):j[s]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((q+1>>>0))));(t=k+0>>0,((t<0||t>=j.length)?($throwRuntimeError("index out of range"),undefined):j[t]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((q+0>>>0))));o=o-(1)>>0;}k=k-(1)>>0;((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt(((n*2>>>0)+1>>>0)));d=l;}}u=((d.$low>>>0));while(true){if(!(u>=100)){break;}w=(v=u%100,v===v?v:$throwRuntimeError("integer divide by zero"))*2>>>0;u=(x=u/(100),(x===x&&x!==1/0&&x!==-1/0)?x>>>0:$throwRuntimeError("integer divide by zero"));k=k-(2)>>0;(y=k+1>>0,((y<0||y>=j.length)?($throwRuntimeError("index out of range"),undefined):j[y]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((w+1>>>0))));(z=k+0>>0,((z<0||z>=j.length)?($throwRuntimeError("index out of range"),undefined):j[z]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((w+0>>>0))));}aa=u*2>>>0;k=k-(1)>>0;((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((aa+1>>>0)));if(u>=10){k=k-(1)>>0;((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt(aa));}}else if(AP(e)){ab=(((B.TrailingZeros(((e>>>0)))>>>0))&7)>>>0;ac=(new $Uint64(0,e));ad=((e>>>0))-1>>>0;while(true){if(!((d.$high>ac.$high||(d.$high===ac.$high&&d.$low>=ac.$low)))){break;}k=k-(1)>>0;((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((((d.$low>>>0))&ad)>>>0)));d=$shiftRightUint64(d,(ab));}k=k-(1)>>0;((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((d.$low>>>0))));}else{ae=(new $Uint64(0,e));while(true){if(!((d.$high>ae.$high||(d.$high===ae.$high&&d.$low>=ae.$low)))){break;}k=k-(1)>>0;af=$div64(d,ae,false);((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((((ag=$mul64(af,ae),new $Uint64(d.$high-ag.$high,d.$low-ag.$low)).$low>>>0))));d=af;}k=k-(1)>>0;((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((d.$low>>>0))));}if(f){k=k-(1)>>0;((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]=45);}if(g){h=$appendSlice(c,$subslice(new EA(j),k));return[h,i];}i=($bytesToString($subslice(new EA(j),k)));return[h,i];};AP=function(c){var c;return(c&((c-1>>0)))===0;};AV=function(c){var c;return $internalize(c.toString(),$String);};$pkg.Itoa=AV;AX=function(c,d,e,f){var aa,ab,ac,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;if(f<0){$panic(new $String("ryuFtoaFixed32 called with negative prec"));}if(f>9){$panic(new $String("ryuFtoaFixed32 called with prec > 9"));}if(d===0){g=0;h=0;c.nd=g;c.dp=h;return;}i=e;j=B.Len32(d);if(j<25){d=(k=((((25-j>>0)>>>0))),k<32?(d<<k):0)>>>0;i=i+(((j)-25>>0))>>0;}l=(-BC(i+24>>0)+f>>0)-1>>0;m=l<=27&&l>=0;n=BH(d,i,l);o=n[0];p=n[1];q=n[2];if(p>=0){$panic(new $String("not enough significant bits after mult64bitPow10"));}if(l<0&&l>=-10&&BJ((new $Uint64(0,d)),-l)){m=true;q=true;}r=((-p>>>0));t=((((s=r,s<32?(1<<s):0)>>>0)-1>>>0));u=(v=r,v<32?(o>>>v):0)>>>0;w=(o&t)>>>0;o=u;x=w;y=false;if(m){y=x>((z=((r-1>>>0)),z<32?(1<<z):0)>>>0)||((x===((aa=((r-1>>>0)),aa<32?(1<<aa):0)>>>0))&&!q)||((x===((ab=((r-1>>>0)),ab<32?(1<<ab):0)>>>0))&&q&&(((o&1)>>>0)===1));}else{y=((ac=((r-1>>>0)),ac<32?(x>>>ac):0)>>>0)===1;}if(!((x===0))){q=false;}BA(c,(new $Uint64(0,o)),!q,y,f);c.dp=c.dp-(l)>>0;};AY=function(c,d,e,f){var aa,ab,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;if(f>18){$panic(new $String("ryuFtoaFixed64 called with prec > 18"));}if((d.$high===0&&d.$low===0)){g=0;h=0;c.nd=g;c.dp=h;return;}i=e;j=B.Len64(d);if(j<55){d=$shiftLeft64(d,(((55-j>>0)>>>0)));i=i+(((j)-55>>0))>>0;}k=(-BC(i+54>>0)+f>>0)-1>>0;l=k<=55&&k>=0;m=BI(d,i,k);n=m[0];o=m[1];p=m[2];if(o>=0){$panic(new $String("not enough significant bits after mult128bitPow10"));}if(k<0&&k>=-22&&BJ(d,-k)){l=true;p=true;}q=((-o>>>0));s=((r=$shiftLeft64(new $Uint64(0,1),q),new $Uint64(r.$high-0,r.$low-1)));t=$shiftRightUint64(n,q);u=new $Uint64(n.$high&s.$high,(n.$low&s.$low)>>>0);n=t;v=u;w=false;if(l){w=(x=$shiftLeft64(new $Uint64(0,1),((q-1>>>0))),(v.$high>x.$high||(v.$high===x.$high&&v.$low>x.$low)))||((y=$shiftLeft64(new $Uint64(0,1),((q-1>>>0))),(v.$high===y.$high&&v.$low===y.$low))&&!p)||((z=$shiftLeft64(new $Uint64(0,1),((q-1>>>0))),(v.$high===z.$high&&v.$low===z.$low))&&p&&(aa=new $Uint64(n.$high&0,(n.$low&1)>>>0),(aa.$high===0&&aa.$low===1)));}else{w=(ab=$shiftRightUint64(v,((q-1>>>0))),(ab.$high===0&&ab.$low===1));}if(!((v.$high===0&&v.$low===0))){p=false;}BA(c,n,!p,w,f);c.dp=c.dp-(k)>>0;};BA=function(c,d,e,f,g){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=((g<0||g>=AZ.length)?($throwRuntimeError("index out of range"),undefined):AZ[g]);i=0;while(true){if(!((d.$high>h.$high||(d.$high===h.$high&&d.$low>=h.$low)))){break;}j=$div64(d,new $Uint64(0,10),false);k=$div64(d,new $Uint64(0,10),true);l=j;m=k;d=l;i=i+(1)>>0;if((m.$high>0||(m.$high===0&&m.$low>5))){f=true;}else if((m.$high<0||(m.$high===0&&m.$low<5))){f=false;}else{f=e||(n=new $Uint64(d.$high&0,(d.$low&1)>>>0),(n.$high===0&&n.$low===1));}if(!((m.$high===0&&m.$low===0))){e=true;}}if(f){d=(o=new $Uint64(0,1),new $Uint64(d.$high+o.$high,d.$low+o.$low));}if((d.$high>h.$high||(d.$high===h.$high&&d.$low>=h.$low))){d=$div64(d,(new $Uint64(0,10)),false);i=i+(1)>>0;}p=((g>>>0));c.nd=(g);q=d;while(true){if(!((q.$high>0||(q.$high===0&&q.$low>=100)))){break;}r=new $Uint64(0,0);s=new $Uint64(0,0);t=r;u=s;if((v=$shiftRightUint64(q,32),(v.$high===0&&v.$low===0))){w=(new $Uint64(0,(x=((q.$low>>>0))/100,(x===x&&x!==1/0&&x!==-1/0)?x>>>0:$throwRuntimeError("integer divide by zero"))));y=(new $Uint64(0,(z=((q.$low>>>0))%100,z===z?z:$throwRuntimeError("integer divide by zero"))));t=w;u=y;}else{aa=$div64(q,new $Uint64(0,100),false);ab=$div64(q,new $Uint64(0,100),true);t=aa;u=ab;}p=p-(2)>>>0;(ad=c.d,ae=p+1>>>0,((ae<0||ae>=ad.$length)?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+ae]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt($flatten64((ac=$mul64(new $Uint64(0,2),u),new $Uint64(ac.$high+0,ac.$low+1))))));(ag=c.d,ah=p+0>>>0,((ah<0||ah>=ag.$length)?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+ah]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt($flatten64((af=$mul64(new $Uint64(0,2),u),new $Uint64(af.$high+0,af.$low+0))))));q=t;}if((q.$high>0||(q.$high===0&&q.$low>0))){p=p-(1)>>>0;(aj=c.d,((p<0||p>=aj.$length)?($throwRuntimeError("index out of range"),undefined):aj.$array[aj.$offset+p]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt($flatten64((ai=$mul64(new $Uint64(0,2),q),new $Uint64(ai.$high+0,ai.$low+1))))));}if((q.$high>0||(q.$high===0&&q.$low>=10))){p=p-(1)>>>0;(ak=c.d,((p<0||p>=ak.$length)?($throwRuntimeError("index out of range"),undefined):ak.$array[ak.$offset+p]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt($flatten64($mul64(new $Uint64(0,2),q)))));}while(true){if(!((al=c.d,am=c.nd-1>>0,((am<0||am>=al.$length)?($throwRuntimeError("index out of range"),undefined):al.$array[al.$offset+am]))===48)){break;}c.nd=c.nd-(1)>>0;i=i+(1)>>0;}c.dp=c.nd+i>>0;};BB=function(c,d,e,f){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;if((d.$high===0&&d.$low===0)){g=0;h=0;c.nd=g;c.dp=h;return;}if(e<=0&&B.TrailingZeros64(d)>=-e){d=$shiftRightUint64(d,(((-e>>>0))));BF(c,d,d,d,true,false);return;}i=BE(d,e,f);j=i[0];k=i[1];l=i[2];m=i[3];if(m===0){BF(c,j,k,l,true,false);return;}n=BC(-m)+1>>0;o=new $Uint64(0,0);p=new $Uint64(0,0);q=new $Uint64(0,0);r=o;s=p;t=q;u=false;v=false;w=false;x=u;y=v;z=w;if(f===BM){aa=0;ab=0;ac=0;ad=aa;ae=ab;af=ac;ag=BH(((j.$low>>>0)),m,n);ad=ag[0];x=ag[2];ah=BH(((k.$low>>>0)),m,n);ae=ah[0];y=ah[2];ai=BH(((l.$low>>>0)),m,n);af=ai[0];m=ai[1];z=ai[2];aj=(new $Uint64(0,ad));ak=(new $Uint64(0,ae));al=(new $Uint64(0,af));r=aj;s=ak;t=al;}else{am=BI(j,m,n);r=am[0];x=am[2];an=BI(k,m,n);s=an[0];y=an[2];ao=BI(l,m,n);t=ao[0];m=ao[1];z=ao[2];}if(m>=0){$panic(new $String("not enough significant bits after mult128bitPow10"));}if(n>55){ap=false;aq=false;ar=false;x=ap;y=aq;z=ar;}if(n<0&&n>=-24){if(BJ(j,-n)){x=true;}if(BJ(k,-n)){y=true;}if(BJ(l,-n)){z=true;}}as=((-m>>>0));au=((at=$shiftLeft64(new $Uint64(0,1),as),new $Uint64(at.$high-0,at.$low-1)));av=$shiftRightUint64(r,as);aw=new $Uint64(r.$high&au.$high,(r.$low&au.$low)>>>0);r=av;ax=aw;ay=$shiftRightUint64(s,as);az=new $Uint64(s.$high&au.$high,(s.$low&au.$low)>>>0);s=ay;ba=az;bb=$shiftRightUint64(t,as);bc=new $Uint64(t.$high&au.$high,(t.$low&au.$low)>>>0);t=bb;bd=bc;be=!z||(bd.$high>0||(bd.$high===0&&bd.$low>0));if(z&&(bd.$high===0&&bd.$low===0)){be=(bf=new $Uint64(d.$high&0,(d.$low&1)>>>0),(bf.$high===0&&bf.$low===0));}if(!be){t=(bg=new $Uint64(0,1),new $Uint64(t.$high-bg.$high,t.$low-bg.$low));}bh=false;if(y){bh=(bi=$shiftLeft64(new $Uint64(0,1),((as-1>>>0))),(ba.$high>bi.$high||(ba.$high===bi.$high&&ba.$low>bi.$low)))||((bj=$shiftLeft64(new $Uint64(0,1),((as-1>>>0))),(ba.$high===bj.$high&&ba.$low===bj.$low))&&(bk=new $Uint64(s.$high&0,(s.$low&1)>>>0),(bk.$high===0&&bk.$low===1)));}else{bh=(bl=$shiftRightUint64(ba,((as-1>>>0))),(bl.$high===0&&bl.$low===1));}bn=x&&(ax.$high===0&&ax.$low===0)&&((bm=new $Uint64(d.$high&0,(d.$low&1)>>>0),(bm.$high===0&&bm.$low===0)));if(!bn){r=(bo=new $Uint64(0,1),new $Uint64(r.$high+bo.$high,r.$low+bo.$low));}bp=y&&(ba.$high===0&&ba.$low===0);BF(c,r,s,t,bp,bh);c.dp=c.dp-(n)>>0;};BC=function(c){var c;return(($imul(c,78913)))>>18>>0;};BD=function(c){var c;return(($imul(c,108853)))>>15>>0;};BE=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;f=new $Uint64(0,0);g=new $Uint64(0,0);h=new $Uint64(0,0);i=0;if(!((j=$shiftLeft64(new $Uint64(0,1),e.mantbits),(c.$high===j.$high&&c.$low===j.$low)))||(d===((e.bias+1>>0)-((e.mantbits>>0))>>0))){k=(l=$mul64(new $Uint64(0,2),c),new $Uint64(l.$high-0,l.$low-1));m=$mul64(new $Uint64(0,2),c);n=(o=$mul64(new $Uint64(0,2),c),new $Uint64(o.$high+0,o.$low+1));f=k;g=m;h=n;i=d-1>>0;return[f,g,h,i];}else{p=(q=$mul64(new $Uint64(0,4),c),new $Uint64(q.$high-0,q.$low-1));r=$mul64(new $Uint64(0,4),c);s=(t=$mul64(new $Uint64(0,4),c),new $Uint64(t.$high+0,t.$low+2));f=p;g=r;h=s;i=d-2>>0;return[f,g,h,i];}};BF=function(c,d,e,f,g,h){var aa,ab,ac,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;i=BK(d);j=i[0];k=i[1];l=BK(e);m=l[0];n=l[1];o=BK(f);p=o[0];q=o[1];if(p===0){BG(c,k,n,q,g,h,8);}else if(j<p){if(!((k===0))){j=j+(1)>>>0;}g=g&&(n===0);h=(n>500000000)||((n===500000000)&&h);BG(c,j,m,p,g,h,8);c.dp=c.dp+(9)>>0;}else{c.nd=0;r=9;s=m;while(true){if(!(s>0)){break;}t=(u=s/10,(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero"));v=(w=s%10,w===w?w:$throwRuntimeError("integer divide by zero"));x=t;y=v;s=x;r=r-(1)>>>0;(z=c.d,((r<0||r>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+r]=(((y+48>>>0)<<24>>>24))));}c.d=$subslice(c.d,r);c.nd=(((9-r>>>0)>>0));BG(c,k,n,q,g,h,c.nd+8>>0);}while(true){if(!(c.nd>0&&((aa=c.d,ab=c.nd-1>>0,((ab<0||ab>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+ab]))===48))){break;}c.nd=c.nd-(1)>>0;}while(true){if(!(c.nd>0&&((ac=c.d,(0>=ac.$length?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+0]))===48))){break;}c.nd=c.nd-(1)>>0;c.dp=c.dp-(1)>>0;c.d=$subslice(c.d,1);}};BG=function(c,d,e,f,g,h,i){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;if(f===0){c.dp=i+1>>0;return;}j=0;k=0;while(true){if(!(f>0)){break;}m=(l=((d+9>>>0))/10,(l===l&&l!==1/0&&l!==-1/0)?l>>>0:$throwRuntimeError("integer divide by zero"));n=(o=e/10,(o===o&&o!==1/0&&o!==-1/0)?o>>>0:$throwRuntimeError("integer divide by zero"));p=(q=e%10,q===q?q:$throwRuntimeError("integer divide by zero"));r=n;s=p;u=(t=f/10,(t===t&&t!==1/0&&t!==-1/0)?t>>>0:$throwRuntimeError("integer divide by zero"));if(m>u){break;}if((m===(r+1>>>0))&&r<u){r=r+(1)>>>0;s=0;h=false;}j=j+(1)>>0;g=g&&(k===0);k=((s>>0));v=m;w=r;x=u;d=v;e=w;f=x;}if(j>0){h=k>5||((k===5)&&!g)||((k===5)&&g&&(((e&1)>>>0)===1));}if(e<f&&h){e=e+(1)>>>0;}i=i-(j)>>0;y=e;z=i;while(true){if(!(z>c.nd)){break;}aa=(ab=y/100,(ab===ab&&ab!==1/0&&ab!==-1/0)?ab>>>0:$throwRuntimeError("integer divide by zero"));ac=(ad=y%100,ad===ad?ad:$throwRuntimeError("integer divide by zero"));ae=aa;af=ac;(ag=c.d,((z<0||z>=ag.$length)?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+z]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((($imul(2,af)>>>0)+1>>>0))));(ah=c.d,ai=z-1>>0,((ai<0||ai>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ai]="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((($imul(2,af)>>>0)+0>>>0))));z=z-(2)>>0;y=ae;}if(z===c.nd){(aj=c.d,((z<0||z>=aj.$length)?($throwRuntimeError("index out of range"),undefined):aj.$array[aj.$offset+z]=(((y+48>>>0)<<24>>>24))));}c.nd=i+1>>0;c.dp=c.nd+j>>0;};BH=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;f=0;g=0;h=false;if(e===0){i=c<<6>>>0;j=d-6>>0;k=true;f=i;g=j;h=k;return[f,g,h];}if(e<-348||347<e){$panic(new $String("mult64bitPow10: power of 10 is out of range"));}m=(l=e- -348>>0,((l<0||l>=CD.length)?($throwRuntimeError("index out of range"),undefined):CD[l]))[1];if(e<0){m=(n=new $Uint64(0,1),new $Uint64(m.$high+n.$high,m.$low+n.$low));}o=B.Mul64((new $Uint64(0,c)),m);p=o[0];q=o[1];d=d+(((BD(e)-63>>0)+57>>0))>>0;r=(((s=$shiftLeft64(p,7),t=$shiftRightUint64(q,57),new $Uint64(s.$high|t.$high,(s.$low|t.$low)>>>0)).$low>>>0));u=d;v=(w=$shiftLeft64(q,7),(w.$high===0&&w.$low===0));f=r;g=u;h=v;return[f,g,h];};BI=function(c,d,e){var aa,ab,ac,ad,ae,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=new $Uint64(0,0);g=0;h=false;if(e===0){i=$shiftLeft64(c,8);j=d-8>>0;k=true;f=i;g=j;h=k;return[f,g,h];}if(e<-348||347<e){$panic(new $String("mult128bitPow10: power of 10 is out of range"));}m=$clone((l=e- -348>>0,((l<0||l>=CD.length)?($throwRuntimeError("index out of range"),undefined):CD[l])),DV);if(e<0){m[0]=(n=m[0],o=new $Uint64(0,1),new $Uint64(n.$high+o.$high,n.$low+o.$low));}d=d+(((BD(e)-127>>0)+119>>0))>>0;p=B.Mul64(c,m[0]);q=p[0];r=p[1];s=B.Mul64(c,m[1]);t=s[0];u=s[1];v=B.Add64(q,u,new $Uint64(0,0));w=v[0];x=v[1];t=(y=x,new $Uint64(t.$high+y.$high,t.$low+y.$low));z=(aa=$shiftLeft64(t,9),ab=$shiftRightUint64(w,55),new $Uint64(aa.$high|ab.$high,(aa.$low|ab.$low)>>>0));ac=d;ad=(ae=$shiftLeft64(w,9),(ae.$high===0&&ae.$low===0))&&(r.$high===0&&r.$low===0);f=z;g=ac;h=ad;return[f,g,h];};BJ=function(c,d){var c,d,e,f;if((c.$high===0&&c.$low===0)){return true;}e=0;while(true){if(!(e<d)){break;}if(!((f=$div64(c,new $Uint64(0,5),true),(f.$high===0&&f.$low===0)))){return false;}c=$div64(c,(new $Uint64(0,5)),false);e=e+(1)>>0;}return true;};BK=function(c){var c,d,e,f,g;if(false){}d=B.Mul64($shiftRightUint64(c,1),new $Uint64(2305843009,917808536));e=d[0];f=$shiftRightUint64(e,28);return[((f.$low>>>0)),(((g=$mul64(f,new $Uint64(0,1000000000)),new $Uint64(c.$high-g.$high,c.$low-g.$low)).$low>>>0))];};BO=function(c,d,e,f){var c,d,e,f;return($bytesToString(BQ($makeSlice(EA,0,CA(e+4>>0,24)),c,d,e,f)));};$pkg.FormatFloat=BO;BP=function(c,d,e,f,g){var c,d,e,f,g;return BQ(c,d,e,f,g);};$pkg.AppendFloat=BP;BQ=function(c,d,e,f,g){var aa,ab,ac,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;h=new $Uint64(0,0);i=ED.nil;j=g;if(j===(32)){h=(new $Uint64(0,D.Float32bits(($fround(d)))));i=BM;}else if(j===(64)){h=D.Float64bits(d);i=BN;}else{$panic(new $String("strconv: illegal AppendFloat/FormatFloat bitSize"));}l=!((k=$shiftRightUint64(h,((i.expbits+i.mantbits>>>0))),(k.$high===0&&k.$low===0)));n=(($shiftRightUint64(h,i.mantbits).$low>>0))&((((m=i.expbits,m<32?(1<<m):0)>>0)-1>>0));q=(o=(p=$shiftLeft64(new $Uint64(0,1),i.mantbits),new $Uint64(p.$high-0,p.$low-1)),new $Uint64(h.$high&o.$high,(h.$low&o.$low)>>>0));r=n;if(r===((((s=i.expbits,s<32?(1<<s):0)>>0)-1>>0))){t="";if(!((q.$high===0&&q.$low===0))){t="NaN";}else if(l){t="-Inf";}else{t="+Inf";}return $appendSlice(c,t);}else if(r===(0)){n=n+(1)>>0;}else{q=(u=$shiftLeft64(new $Uint64(0,1),i.mantbits),new $Uint64(q.$high|u.$high,(q.$low|u.$low)>>>0));}n=n+(i.bias)>>0;if(e===98){return BX(c,l,q,n,i);}if((e===120)||(e===88)){return BY(c,f,e,l,q,n,i);}if(!CY){return BR(c,f,e,l,q,n,i);}v=new BU.ptr(EA.nil,0,0,false);w=false;x=f<0;if(x){y=EE.zero();v.d=new EA(y);BB(v,q,n-((i.mantbits>>0))>>0,i);w=true;z=e;if((z===(101))||(z===(69))){f=CA(v.nd-1>>0,0);}else if(z===(102)){f=CA(v.nd-v.dp>>0,0);}else if((z===(103))||(z===(71))){f=v.nd;}}else if(!((e===102))){aa=f;ab=e;if((ab===(101))||(ab===(69))){aa=aa+(1)>>0;}else if((ab===(103))||(ab===(71))){if(f===0){f=1;}aa=f;}ac=EF.zero();if((g===32)&&aa<=9){v.d=new EA(ac);AX(v,((q.$low>>>0)),n-((i.mantbits>>0))>>0,aa);w=true;}else if(aa<=18){v.d=new EA(ac);AY(v,q,n-((i.mantbits>>0))>>0,aa);w=true;}}if(!w){return BR(c,f,e,l,q,n,i);}return BS(c,x,l,$clone(v,BU),f,e);};BR=function(c,d,e,f,g,h,i){var c,d,e,f,g,h,i,j,k,l,m,n;j=new CE.ptr(EG.zero(),0,0,false,false);j.Assign(g);j.Shift(h-((i.mantbits>>0))>>0);k=new BU.ptr(EA.nil,0,0,false);l=d<0;if(l){BT(j,g,h,i);BU.copy(k,new BU.ptr(new EA(j.d),j.nd,j.dp,false));m=e;if((m===(101))||(m===(69))){d=k.nd-1>>0;}else if(m===(102)){d=CA(k.nd-k.dp>>0,0);}else if((m===(103))||(m===(71))){d=k.nd;}}else{n=e;if((n===(101))||(n===(69))){j.Round(d+1>>0);}else if(n===(102)){j.Round(j.dp+d>>0);}else if((n===(103))||(n===(71))){if(d===0){d=1;}j.Round(d);}BU.copy(k,new BU.ptr(new EA(j.d),j.nd,j.dp,false));}return BS(c,l,f,$clone(k,BU),d,e);};BS=function(c,d,e,f,g,h){var c,d,e,f,g,h,i,j,k;i=h;if((i===(101))||(i===(69))){return BV(c,e,$clone(f,BU),g,h);}else if(i===(102)){return BW(c,e,$clone(f,BU),g);}else if((i===(103))||(i===(71))){j=g;if(j>f.nd&&f.nd>=f.dp){j=f.nd;}if(d){j=6;}k=f.dp-1>>0;if(k<-4||k>=j){if(g>f.nd){g=f.nd;}return BV(c,e,$clone(f,BU),g-1>>0,(h+101<<24>>>24)-103<<24>>>24);}if(g>f.dp){g=f.nd;}return BW(c,e,$clone(f,BU),CA(g-f.dp>>0,0));}return $append(c,37,h);};BT=function(c,d,e,f){var aa,ab,ac,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;if((d.$high===0&&d.$low===0)){c.nd=0;return;}g=f.bias+1>>0;if(e>g&&($imul(332,((c.dp-c.nd>>0))))>=($imul(100,((e-((f.mantbits>>0))>>0))))){return;}h=new CE.ptr(EG.zero(),0,0,false,false);h.Assign((i=$mul64(d,new $Uint64(0,2)),new $Uint64(i.$high+0,i.$low+1)));h.Shift((e-((f.mantbits>>0))>>0)-1>>0);j=new $Uint64(0,0);k=0;if((l=$shiftLeft64(new $Uint64(0,1),f.mantbits),(d.$high>l.$high||(d.$high===l.$high&&d.$low>l.$low)))||(e===g)){j=new $Uint64(d.$high-0,d.$low-1);k=e;}else{j=(m=$mul64(d,new $Uint64(0,2)),new $Uint64(m.$high-0,m.$low-1));k=e-1>>0;}n=new CE.ptr(EG.zero(),0,0,false,false);n.Assign((o=$mul64(j,new $Uint64(0,2)),new $Uint64(o.$high+0,o.$low+1)));n.Shift((k-((f.mantbits>>0))>>0)-1>>0);q=(p=$div64(d,new $Uint64(0,2),true),(p.$high===0&&p.$low===0));r=0;s=0;while(true){t=(s-h.dp>>0)+c.dp>>0;if(t>=c.nd){break;}u=(s-h.dp>>0)+n.dp>>0;v=48;if(u>=0&&u<n.nd){v=(w=n.d,((u<0||u>=w.length)?($throwRuntimeError("index out of range"),undefined):w[u]));}x=48;if(t>=0){x=(y=c.d,((t<0||t>=y.length)?($throwRuntimeError("index out of range"),undefined):y[t]));}z=48;if(s<h.nd){z=(aa=h.d,((s<0||s>=aa.length)?($throwRuntimeError("index out of range"),undefined):aa[s]));}ab=!((v===x))||q&&((u+1>>0)===n.nd);if((r===0)&&(x+1<<24>>>24)<z){r=2;}else if((r===0)&&!((x===z))){r=1;}else if((r===1)&&(!((x===57))||!((z===48)))){r=2;}ac=r>0&&(q||r>1||(s+1>>0)<h.nd);if(ab&&ac){c.Round(t+1>>0);return;}else if(ab){c.RoundDown(t+1>>0);return;}else if(ac){c.RoundUp(t+1>>0);return;}s=s+(1)>>0;}};BV=function(c,d,e,f,g){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(d){c=$append(c,45);}h=48;if(!((e.nd===0))){h=(i=e.d,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]));}c=$append(c,h);if(f>0){c=$append(c,46);j=1;k=BZ(e.nd,f+1>>0);if(j<k){c=$appendSlice(c,$subslice(e.d,j,k));j=k;}while(true){if(!(j<=f)){break;}c=$append(c,48);j=j+(1)>>0;}}c=$append(c,g);l=e.dp-1>>0;if(e.nd===0){l=0;}if(l<0){h=45;l=-l;}else{h=43;}c=$append(c,h);if(l<10){c=$append(c,48,((l<<24>>>24))+48<<24>>>24);}else if(l<100){c=$append(c,(((m=l/10,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24,(((n=l%10,n===n?n:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24);}else{c=$append(c,(((o=l/100,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24,(p=(((q=l/10,(q===q&&q!==1/0&&q!==-1/0)?q>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24))%10,p===p?p:$throwRuntimeError("integer divide by zero"))+48<<24>>>24,(((r=l%10,r===r?r:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24);}return c;};BW=function(c,d,e,f){var c,d,e,f,g,h,i,j,k;if(d){c=$append(c,45);}if(e.dp>0){g=BZ(e.nd,e.dp);c=$appendSlice(c,$subslice(e.d,0,g));while(true){if(!(g<e.dp)){break;}c=$append(c,48);g=g+(1)>>0;}}else{c=$append(c,48);}if(f>0){c=$append(c,46);h=0;while(true){if(!(h<f)){break;}i=48;j=e.dp+h>>0;if(0<=j&&j<e.nd){i=(k=e.d,((j<0||j>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+j]));}c=$append(c,i);h=h+(1)>>0;}}return c;};BX=function(c,d,e,f,g){var c,d,e,f,g,h,i;if(d){c=$append(c,45);}h=AO(c,e,10,false,true);c=h[0];c=$append(c,112);f=f-(((g.mantbits>>0)))>>0;if(f>=0){c=$append(c,43);}i=AO(c,(new $Uint64(0,f)),10,f<0,true);c=i[0];return c;};BY=function(c,d,e,f,g,h,i){var aa,ab,ac,ad,ae,af,ag,ah,ai,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;if((g.$high===0&&g.$low===0)){h=0;}g=$shiftLeft64(g,((60-i.mantbits>>>0)));while(true){if(!(!((g.$high===0&&g.$low===0))&&(j=new $Uint64(g.$high&268435456,(g.$low&0)>>>0),(j.$high===0&&j.$low===0)))){break;}g=$shiftLeft64(g,(1));h=h-(1)>>0;}if(d>=0&&d<15){k=((($imul(d,4))>>>0));m=(l=$shiftLeft64(g,k),new $Uint64(l.$high&268435455,(l.$low&4294967295)>>>0));g=$shiftRightUint64(g,((60-k>>>0)));if((n=(o=new $Uint64(g.$high&0,(g.$low&1)>>>0),new $Uint64(m.$high|o.$high,(m.$low|o.$low)>>>0)),(n.$high>134217728||(n.$high===134217728&&n.$low>0)))){g=(p=new $Uint64(0,1),new $Uint64(g.$high+p.$high,g.$low+p.$low));}g=$shiftLeft64(g,((60-k>>>0)));if(!((q=new $Uint64(g.$high&536870912,(g.$low&0)>>>0),(q.$high===0&&q.$low===0)))){g=$shiftRightUint64(g,(1));h=h+(1)>>0;}}r="0123456789abcdef";if(e===88){r="0123456789ABCDEF";}if(f){c=$append(c,45);}c=$append(c,48,e,48+(((s=$shiftRightUint64(g,60),new $Uint64(s.$high&0,(s.$low&1)>>>0)).$low<<24>>>24))<<24>>>24);g=$shiftLeft64(g,(4));if(d<0&&!((g.$high===0&&g.$low===0))){c=$append(c,46);while(true){if(!(!((g.$high===0&&g.$low===0)))){break;}c=$append(c,r.charCodeAt($flatten64((t=$shiftRightUint64(g,60),new $Uint64(t.$high&0,(t.$low&15)>>>0)))));g=$shiftLeft64(g,(4));}}else if(d>0){c=$append(c,46);u=0;while(true){if(!(u<d)){break;}c=$append(c,r.charCodeAt($flatten64((v=$shiftRightUint64(g,60),new $Uint64(v.$high&0,(v.$low&15)>>>0)))));g=$shiftLeft64(g,(4));u=u+(1)>>0;}}w=80;if(e===CP(e)){w=112;}c=$append(c,w);if(h<0){w=45;h=-h;}else{w=43;}c=$append(c,w);if(h<100){c=$append(c,(((x=h/10,(x===x&&x!==1/0&&x!==-1/0)?x>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24,(((y=h%10,y===y?y:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24);}else if(h<1000){c=$append(c,(((z=h/100,(z===z&&z!==1/0&&z!==-1/0)?z>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24,(((aa=((ab=h/10,(ab===ab&&ab!==1/0&&ab!==-1/0)?ab>>0:$throwRuntimeError("integer divide by zero")))%10,aa===aa?aa:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24,(((ac=h%10,ac===ac?ac:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24);}else{c=$append(c,(((ad=h/1000,(ad===ad&&ad!==1/0&&ad!==-1/0)?ad>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24,(ae=(((af=h/100,(af===af&&af!==1/0&&af!==-1/0)?af>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24))%10,ae===ae?ae:$throwRuntimeError("integer divide by zero"))+48<<24>>>24,(((ag=((ah=h/10,(ah===ah&&ah!==1/0&&ah!==-1/0)?ah>>0:$throwRuntimeError("integer divide by zero")))%10,ag===ag?ag:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24,(((ai=h%10,ai===ai?ai:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24);}return c;};BZ=function(c,d){var c,d;if(c<d){return c;}return d;};CA=function(c,d){var c,d;if(c>d){return c;}return d;};CB=function(c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=0;g=false;if((c.$high===0&&c.$low===0)){if(e){f=D.Float64frombits(new $Uint64(2147483648,0));}h=f;i=true;f=h;g=i;return[f,g];}if(d<-348||347<d){j=0;k=false;f=j;g=k;return[f,g];}l=B.LeadingZeros64(c);c=$shiftLeft64(c,(((l>>>0))));o=(m=(new $Uint64(0,(((($imul(217706,d))>>16>>0)+64>>0)+1023>>0))),n=(new $Uint64(0,l)),new $Uint64(m.$high-n.$high,m.$low-n.$low));p=B.Mul64(c,(q=d- -348>>0,((q<0||q>=CD.length)?($throwRuntimeError("index out of range"),undefined):CD[q]))[1]);r=p[0];s=p[1];if((t=new $Uint64(r.$high&0,(r.$low&511)>>>0),(t.$high===0&&t.$low===511))&&(u=new $Uint64(s.$high+c.$high,s.$low+c.$low),(u.$high<c.$high||(u.$high===c.$high&&u.$low<c.$low)))){v=B.Mul64(c,(w=d- -348>>0,((w<0||w>=CD.length)?($throwRuntimeError("index out of range"),undefined):CD[w]))[0]);x=v[0];y=v[1];z=r;aa=new $Uint64(s.$high+x.$high,s.$low+x.$low);ab=z;ac=aa;if((ac.$high<s.$high||(ac.$high===s.$high&&ac.$low<s.$low))){ab=(ad=new $Uint64(0,1),new $Uint64(ab.$high+ad.$high,ab.$low+ad.$low));}if((ae=new $Uint64(ab.$high&0,(ab.$low&511)>>>0),(ae.$high===0&&ae.$low===511))&&(af=new $Uint64(ac.$high+0,ac.$low+1),(af.$high===0&&af.$low===0))&&(ag=new $Uint64(y.$high+c.$high,y.$low+c.$low),(ag.$high<c.$high||(ag.$high===c.$high&&ag.$low<c.$low)))){ah=0;ai=false;f=ah;g=ai;return[f,g];}aj=ab;ak=ac;r=aj;s=ak;}al=$shiftRightUint64(r,63);am=$shiftRightUint64(r,$flatten64((new $Uint64(al.$high+0,al.$low+9))));o=(an=new $Uint64(0^al.$high,(1^al.$low)>>>0),new $Uint64(o.$high-an.$high,o.$low-an.$low));if((s.$high===0&&s.$low===0)&&(ao=new $Uint64(r.$high&0,(r.$low&511)>>>0),(ao.$high===0&&ao.$low===0))&&(ap=new $Uint64(am.$high&0,(am.$low&3)>>>0),(ap.$high===0&&ap.$low===1))){aq=0;ar=false;f=aq;g=ar;return[f,g];}am=(as=new $Uint64(am.$high&0,(am.$low&1)>>>0),new $Uint64(am.$high+as.$high,am.$low+as.$low));am=$shiftRightUint64(am,(1));if((at=$shiftRightUint64(am,53),(at.$high>0||(at.$high===0&&at.$low>0)))){am=$shiftRightUint64(am,(1));o=(au=new $Uint64(0,1),new $Uint64(o.$high+au.$high,o.$low+au.$low));}if((av=new $Uint64(o.$high-0,o.$low-1),(av.$high>0||(av.$high===0&&av.$low>=2046)))){aw=0;ax=false;f=aw;g=ax;return[f,g];}ba=(ay=$shiftLeft64(o,52),az=new $Uint64(am.$high&1048575,(am.$low&4294967295)>>>0),new $Uint64(ay.$high|az.$high,(ay.$low|az.$low)>>>0));if(e){ba=(bb=new $Uint64(2147483648,0),new $Uint64(ba.$high|bb.$high,(ba.$low|bb.$low)>>>0));}bc=D.Float64frombits(ba);bd=true;f=bc;g=bd;return[f,g];};CC=function(c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=0;g=false;if((c.$high===0&&c.$low===0)){if(e){f=D.Float32frombits(2147483648);}h=f;i=true;f=h;g=i;return[f,g];}if(d<-348||347<d){j=0;k=false;f=j;g=k;return[f,g];}l=B.LeadingZeros64(c);c=$shiftLeft64(c,(((l>>>0))));o=(m=(new $Uint64(0,(((($imul(217706,d))>>16>>0)+64>>0)+127>>0))),n=(new $Uint64(0,l)),new $Uint64(m.$high-n.$high,m.$low-n.$low));p=B.Mul64(c,(q=d- -348>>0,((q<0||q>=CD.length)?($throwRuntimeError("index out of range"),undefined):CD[q]))[1]);r=p[0];s=p[1];if((t=new $Uint64(r.$high&63,(r.$low&4294967295)>>>0),(t.$high===63&&t.$low===4294967295))&&(u=new $Uint64(s.$high+c.$high,s.$low+c.$low),(u.$high<c.$high||(u.$high===c.$high&&u.$low<c.$low)))){v=B.Mul64(c,(w=d- -348>>0,((w<0||w>=CD.length)?($throwRuntimeError("index out of range"),undefined):CD[w]))[0]);x=v[0];y=v[1];z=r;aa=new $Uint64(s.$high+x.$high,s.$low+x.$low);ab=z;ac=aa;if((ac.$high<s.$high||(ac.$high===s.$high&&ac.$low<s.$low))){ab=(ad=new $Uint64(0,1),new $Uint64(ab.$high+ad.$high,ab.$low+ad.$low));}if((ae=new $Uint64(ab.$high&63,(ab.$low&4294967295)>>>0),(ae.$high===63&&ae.$low===4294967295))&&(af=new $Uint64(ac.$high+0,ac.$low+1),(af.$high===0&&af.$low===0))&&(ag=new $Uint64(y.$high+c.$high,y.$low+c.$low),(ag.$high<c.$high||(ag.$high===c.$high&&ag.$low<c.$low)))){ah=0;ai=false;f=ah;g=ai;return[f,g];}aj=ab;ak=ac;r=aj;s=ak;}al=$shiftRightUint64(r,63);am=$shiftRightUint64(r,$flatten64((new $Uint64(al.$high+0,al.$low+38))));o=(an=new $Uint64(0^al.$high,(1^al.$low)>>>0),new $Uint64(o.$high-an.$high,o.$low-an.$low));if((s.$high===0&&s.$low===0)&&(ao=new $Uint64(r.$high&63,(r.$low&4294967295)>>>0),(ao.$high===0&&ao.$low===0))&&(ap=new $Uint64(am.$high&0,(am.$low&3)>>>0),(ap.$high===0&&ap.$low===1))){aq=0;ar=false;f=aq;g=ar;return[f,g];}am=(as=new $Uint64(am.$high&0,(am.$low&1)>>>0),new $Uint64(am.$high+as.$high,am.$low+as.$low));am=$shiftRightUint64(am,(1));if((at=$shiftRightUint64(am,24),(at.$high>0||(at.$high===0&&at.$low>0)))){am=$shiftRightUint64(am,(1));o=(au=new $Uint64(0,1),new $Uint64(o.$high+au.$high,o.$low+au.$low));}if((av=new $Uint64(o.$high-0,o.$low-1),(av.$high>0||(av.$high===0&&av.$low>=254)))){aw=0;ax=false;f=aw;g=ax;return[f,g];}ba=(ay=$shiftLeft64(o,23),az=new $Uint64(am.$high&0,(am.$low&8388607)>>>0),new $Uint64(ay.$high|az.$high,(ay.$low|az.$low)>>>0));if(e){ba=(bb=new $Uint64(0,2147483648),new $Uint64(ba.$high|bb.$high,(ba.$low|bb.$low)>>>0));}bc=D.Float32frombits(((ba.$low>>>0)));bd=true;f=bc;g=bd;return[f,g];};CE.ptr.prototype.String=function(){var c,d,e,f;c=this;d=10+c.nd>>0;if(c.dp>0){d=d+(c.dp)>>0;}if(c.dp<0){d=d+(-c.dp)>>0;}e=$makeSlice(EA,d);f=0;if((c.nd===0)){return"0";}else if(c.dp<=0){((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]=48);f=f+(1)>>0;((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]=46);f=f+(1)>>0;f=f+(CF($subslice(e,f,(f+-c.dp>>0))))>>0;f=f+($copySlice($subslice(e,f),$subslice(new EA(c.d),0,c.nd)))>>0;}else if(c.dp<c.nd){f=f+($copySlice($subslice(e,f),$subslice(new EA(c.d),0,c.dp)))>>0;((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]=46);f=f+(1)>>0;f=f+($copySlice($subslice(e,f),$subslice(new EA(c.d),c.dp,c.nd)))>>0;}else{f=f+($copySlice($subslice(e,f),$subslice(new EA(c.d),0,c.nd)))>>0;f=f+(CF($subslice(e,f,((f+c.dp>>0)-c.nd>>0))))>>0;}return($bytesToString($subslice(e,0,f)));};CE.prototype.String=function(){return this.$val.String();};CF=function(c){var c,d,e,f;d=c;e=0;while(true){if(!(e<d.$length)){break;}f=e;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=48);e++;}return c.$length;};CG=function(c){var c,d,e;while(true){if(!(c.nd>0&&((d=c.d,e=c.nd-1>>0,((e<0||e>=d.length)?($throwRuntimeError("index out of range"),undefined):d[e]))===48))){break;}c.nd=c.nd-(1)>>0;}if(c.nd===0){c.dp=0;}};CE.ptr.prototype.Assign=function(c){var c,d,e,f,g,h,i,j;d=this;e=EF.zero();f=0;while(true){if(!((c.$high>0||(c.$high===0&&c.$low>0)))){break;}g=$div64(c,new $Uint64(0,10),false);c=(h=$mul64(new $Uint64(0,10),g),new $Uint64(c.$high-h.$high,c.$low-h.$low));((f<0||f>=e.length)?($throwRuntimeError("index out of range"),undefined):e[f]=((new $Uint64(c.$high+0,c.$low+48).$low<<24>>>24)));f=f+(1)>>0;c=g;}d.nd=0;f=f-(1)>>0;while(true){if(!(f>=0)){break;}(i=d.d,j=d.nd,((j<0||j>=i.length)?($throwRuntimeError("index out of range"),undefined):i[j]=((f<0||f>=e.length)?($throwRuntimeError("index out of range"),undefined):e[f])));d.nd=d.nd+(1)>>0;f=f-(1)>>0;}d.dp=d.nd;CG(d);};CE.prototype.Assign=function(c){return this.$val.Assign(c);};CH=function(c,d){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;e=0;f=0;g=0;while(true){if(!(((h=d,h<32?(g>>>h):0)>>>0)===0)){break;}if(e>=c.nd){if(g===0){c.nd=0;return;}while(true){if(!(((i=d,i<32?(g>>>i):0)>>>0)===0)){break;}g=g*10>>>0;e=e+(1)>>0;}break;}k=(((j=c.d,((e<0||e>=j.length)?($throwRuntimeError("index out of range"),undefined):j[e]))>>>0));g=((g*10>>>0)+k>>>0)-48>>>0;e=e+(1)>>0;}c.dp=c.dp-((e-1>>0))>>0;m=(((l=d,l<32?(1<<l):0)>>>0))-1>>>0;while(true){if(!(e<c.nd)){break;}o=(((n=c.d,((e<0||e>=n.length)?($throwRuntimeError("index out of range"),undefined):n[e]))>>>0));q=(p=d,p<32?(g>>>p):0)>>>0;g=(g&(m))>>>0;(r=c.d,((f<0||f>=r.length)?($throwRuntimeError("index out of range"),undefined):r[f]=(((q+48>>>0)<<24>>>24))));f=f+(1)>>0;g=((g*10>>>0)+o>>>0)-48>>>0;e=e+(1)>>0;}while(true){if(!(g>0)){break;}t=(s=d,s<32?(g>>>s):0)>>>0;g=(g&(m))>>>0;if(f<800){(u=c.d,((f<0||f>=u.length)?($throwRuntimeError("index out of range"),undefined):u[f]=(((t+48>>>0)<<24>>>24))));f=f+(1)>>0;}else if(t>0){c.trunc=true;}g=g*10>>>0;}c.nd=f;CG(c);};CK=function(c,d){var c,d,e;e=0;while(true){if(!(e<d.length)){break;}if(e>=c.$length){return true;}if(!((((e<0||e>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+e])===d.charCodeAt(e)))){return((e<0||e>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+e])<d.charCodeAt(e);}e=e+(1)>>0;}return false;};CL=function(c,d){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;e=((d<0||d>=CJ.$length)?($throwRuntimeError("index out of range"),undefined):CJ.$array[CJ.$offset+d]).delta;if(CK($subslice(new EA(c.d),0,c.nd),((d<0||d>=CJ.$length)?($throwRuntimeError("index out of range"),undefined):CJ.$array[CJ.$offset+d]).cutoff)){e=e-(1)>>0;}f=c.nd;g=c.nd+e>>0;h=0;f=f-(1)>>0;while(true){if(!(f>=0)){break;}h=h+(((i=d,i<32?((((((j=c.d,((f<0||f>=j.length)?($throwRuntimeError("index out of range"),undefined):j[f]))>>>0))-48>>>0))<<i):0)>>>0))>>>0;l=(k=h/10,(k===k&&k!==1/0&&k!==-1/0)?k>>>0:$throwRuntimeError("integer divide by zero"));m=h-(10*l>>>0)>>>0;g=g-(1)>>0;if(g<800){(n=c.d,((g<0||g>=n.length)?($throwRuntimeError("index out of range"),undefined):n[g]=(((m+48>>>0)<<24>>>24))));}else if(!((m===0))){c.trunc=true;}h=l;f=f-(1)>>0;}while(true){if(!(h>0)){break;}p=(o=h/10,(o===o&&o!==1/0&&o!==-1/0)?o>>>0:$throwRuntimeError("integer divide by zero"));q=h-(10*p>>>0)>>>0;g=g-(1)>>0;if(g<800){(r=c.d,((g<0||g>=r.length)?($throwRuntimeError("index out of range"),undefined):r[g]=(((q+48>>>0)<<24>>>24))));}else if(!((q===0))){c.trunc=true;}h=p;}c.nd=c.nd+(e)>>0;if(c.nd>=800){c.nd=800;}c.dp=c.dp+(e)>>0;CG(c);};CE.ptr.prototype.Shift=function(c){var c,d;d=this;if((d.nd===0)){}else if(c>0){while(true){if(!(c>28)){break;}CL(d,28);c=c-(28)>>0;}CL(d,((c>>>0)));}else if(c<0){while(true){if(!(c<-28)){break;}CH(d,28);c=c+(28)>>0;}CH(d,((-c>>>0)));}};CE.prototype.Shift=function(c){return this.$val.Shift(c);};CM=function(c,d){var c,d,e,f,g,h,i;if(d<0||d>=c.nd){return false;}if(((e=c.d,((d<0||d>=e.length)?($throwRuntimeError("index out of range"),undefined):e[d]))===53)&&((d+1>>0)===c.nd)){if(c.trunc){return true;}return d>0&&!(((f=(((g=c.d,h=d-1>>0,((h<0||h>=g.length)?($throwRuntimeError("index out of range"),undefined):g[h]))-48<<24>>>24))%2,f===f?f:$throwRuntimeError("integer divide by zero"))===0));}return(i=c.d,((d<0||d>=i.length)?($throwRuntimeError("index out of range"),undefined):i[d]))>=53;};CE.ptr.prototype.Round=function(c){var c,d;d=this;if(c<0||c>=d.nd){return;}if(CM(d,c)){d.RoundUp(c);}else{d.RoundDown(c);}};CE.prototype.Round=function(c){return this.$val.Round(c);};CE.ptr.prototype.RoundDown=function(c){var c,d;d=this;if(c<0||c>=d.nd){return;}d.nd=c;CG(d);};CE.prototype.RoundDown=function(c){return this.$val.RoundDown(c);};CE.ptr.prototype.RoundUp=function(c){var c,d,e,f,g,h,i;d=this;if(c<0||c>=d.nd){return;}e=c-1>>0;while(true){if(!(e>=0)){break;}g=(f=d.d,((e<0||e>=f.length)?($throwRuntimeError("index out of range"),undefined):f[e]));if(g<57){(i=d.d,((e<0||e>=i.length)?($throwRuntimeError("index out of range"),undefined):i[e]=((h=d.d,((e<0||e>=h.length)?($throwRuntimeError("index out of range"),undefined):h[e]))+(1)<<24>>>24)));d.nd=e+1>>0;return;}e=e-(1)>>0;}d.d[0]=49;d.nd=1;d.dp=d.dp+(1)>>0;};CE.prototype.RoundUp=function(c){return this.$val.RoundUp(c);};CE.ptr.prototype.RoundedInteger=function(){var c,d,e,f,g,h,i;c=this;if(c.dp>20){return new $Uint64(4294967295,4294967295);}d=0;e=new $Uint64(0,0);d=0;while(true){if(!(d<c.dp&&d<c.nd)){break;}e=(f=$mul64(e,new $Uint64(0,10)),g=(new $Uint64(0,((h=c.d,((d<0||d>=h.length)?($throwRuntimeError("index out of range"),undefined):h[d]))-48<<24>>>24))),new $Uint64(f.$high+g.$high,f.$low+g.$low));d=d+(1)>>0;}while(true){if(!(d<c.dp)){break;}e=$mul64(e,(new $Uint64(0,10)));d=d+(1)>>0;}if(CM(c,c.dp)){e=(i=new $Uint64(0,1),new $Uint64(e.$high+i.$high,e.$low+i.$low));}return e;};CE.prototype.RoundedInteger=function(){return this.$val.RoundedInteger();};CO=function(c,d){var c,d;return E.IndexByteString(c,d);};CP=function(c){var c;return(c|32)>>>0;};CQ.ptr.prototype.Error=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.Err.Error();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e="strconv."+c.Func+": "+"parsing "+M(c.Num)+": "+d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:CQ.ptr.prototype.Error};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};CQ.prototype.Error=function(){return this.$val.Error();};CQ.ptr.prototype.Unwrap=function(){var c;c=this;return c.Err;};CQ.prototype.Unwrap=function(){return this.$val.Unwrap();};CR=function(c,d){var c,d;return new CQ.ptr(c,d,$pkg.ErrSyntax);};CS=function(c,d){var c,d;return new CQ.ptr(c,d,$pkg.ErrRange);};CT=function(c,d,e){var c,d,e;return new CQ.ptr(c,d,F.New("invalid base "+AV(e)));};CU=function(c,d,e){var c,d,e;return new CQ.ptr(c,d,F.New("invalid bit size "+AV(e)));};CV=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;if(c===""){return[new $Uint64(0,0),CR("ParseUint",c)];}f=d===0;g=c;if(2<=d&&d<=36){}else if((d===0)){d=10;if(c.charCodeAt(0)===48){if(c.length>=3&&(CP(c.charCodeAt(1))===98)){d=2;c=$substring(c,2);}else if(c.length>=3&&(CP(c.charCodeAt(1))===111)){d=8;c=$substring(c,2);}else if(c.length>=3&&(CP(c.charCodeAt(1))===120)){d=16;c=$substring(c,2);}else{d=8;c=$substring(c,1);}}}else{return[new $Uint64(0,0),CT("ParseUint",g,d)];}if(e===0){e=32;}else if(e<0||e>64){return[new $Uint64(0,0),CU("ParseUint",g,e)];}h=new $Uint64(0,0);i=d;if(i===(10)){h=new $Uint64(429496729,2576980378);}else if(i===(16)){h=new $Uint64(268435456,0);}else{h=(j=$div64(new $Uint64(4294967295,4294967295),(new $Uint64(0,d)),false),new $Uint64(j.$high+0,j.$low+1));}l=(k=$shiftLeft64(new $Uint64(0,1),((e>>>0))),new $Uint64(k.$high-0,k.$low-1));m=false;n=new $Uint64(0,0);o=(new EA($stringToBytes(c)));p=0;while(true){if(!(p<o.$length)){break;}q=((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]);r=0;if((q===95)&&f){m=true;p++;continue;}else if(48<=q&&q<=57){r=q-48<<24>>>24;}else if(97<=CP(q)&&CP(q)<=122){r=(CP(q)-97<<24>>>24)+10<<24>>>24;}else{return[new $Uint64(0,0),CR("ParseUint",g)];}if(r>=((d<<24>>>24))){return[new $Uint64(0,0),CR("ParseUint",g)];}if((n.$high>h.$high||(n.$high===h.$high&&n.$low>=h.$low))){return[l,CS("ParseUint",g)];}n=$mul64(n,((new $Uint64(0,d))));t=(s=(new $Uint64(0,r)),new $Uint64(n.$high+s.$high,n.$low+s.$low));if((t.$high<n.$high||(t.$high===n.$high&&t.$low<n.$low))||(t.$high>l.$high||(t.$high===l.$high&&t.$low>l.$low))){return[l,CS("ParseUint",g)];}n=t;p++;}if(m&&!CX(g)){return[new $Uint64(0,0),CR("ParseUint",g)];}return[n,$ifaceNil];};$pkg.ParseUint=CV;CW=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;f=new $Int64(0,0);g=$ifaceNil;if(c===""){h=new $Int64(0,0);i=CR("ParseInt",c);f=h;g=i;return[f,g];}j=c;k=false;if(c.charCodeAt(0)===43){c=$substring(c,1);}else if(c.charCodeAt(0)===45){k=true;c=$substring(c,1);}l=new $Uint64(0,0);m=CV(c,d,e);l=m[0];g=m[1];if(!($interfaceIsEqual(g,$ifaceNil))&&!($interfaceIsEqual($assertType(g,EH).Err,$pkg.ErrRange))){$assertType(g,EH).Func="ParseInt";$assertType(g,EH).Num=j;n=new $Int64(0,0);o=g;f=n;g=o;return[f,g];}if(e===0){e=32;}p=($shiftLeft64(new $Uint64(0,1),(((e-1>>0)>>>0))));if(!k&&(l.$high>p.$high||(l.$high===p.$high&&l.$low>=p.$low))){q=((r=new $Uint64(p.$high-0,p.$low-1),new $Int64(r.$high,r.$low)));s=CS("ParseInt",j);f=q;g=s;return[f,g];}if(k&&(l.$high>p.$high||(l.$high===p.$high&&l.$low>p.$low))){t=(u=(new $Int64(p.$high,p.$low)),new $Int64(-u.$high,-u.$low));v=CS("ParseInt",j);f=t;g=v;return[f,g];}w=(new $Int64(l.$high,l.$low));if(k){w=new $Int64(-w.$high,-w.$low);}x=w;y=$ifaceNil;f=x;g=y;return[f,g];};$pkg.ParseInt=CW;CX=function(c){var c,d,e,f;d=94;e=0;if(c.length>=1&&((c.charCodeAt(0)===45)||(c.charCodeAt(0)===43))){c=$substring(c,1);}f=false;if(c.length>=2&&(c.charCodeAt(0)===48)&&((CP(c.charCodeAt(1))===98)||(CP(c.charCodeAt(1))===111)||(CP(c.charCodeAt(1))===120))){e=2;d=48;f=CP(c.charCodeAt(1))===120;}while(true){if(!(e<c.length)){break;}if(48<=c.charCodeAt(e)&&c.charCodeAt(e)<=57||f&&97<=CP(c.charCodeAt(e))&&CP(c.charCodeAt(e))<=102){d=48;e=e+(1)>>0;continue;}if(c.charCodeAt(e)===95){if(!((d===48))){return false;}d=95;e=e+(1)>>0;continue;}if(d===95){return false;}d=33;e=e+(1)>>0;}return!((d===95));};CZ=function(c,d){var c,d,e,f,g;e=d.length;if(e>c.length){e=c.length;}f=0;while(true){if(!(f<e)){break;}g=c.charCodeAt(f);if(65<=g&&g<=90){g=g+(32)<<24>>>24;}if(!((g===d.charCodeAt(f)))){return f;}f=f+(1)>>0;}return e;};DA=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;d=0;e=0;f=false;if(c.length===0){g=0;h=0;i=false;d=g;e=h;f=i;return[d,e,f];}j=1;k=0;l=c.charCodeAt(0);if((l===(43))||(l===(45))){if(c.charCodeAt(0)===45){j=-1;}k=1;c=$substring(c,1);m=CZ(c,"infinity");if(3<m&&m<8){m=3;}if((m===3)||(m===8)){n=D.Inf(j);o=k+m>>0;p=true;d=n;e=o;f=p;return[d,e,f];}}else if((l===(105))||(l===(73))){m=CZ(c,"infinity");if(3<m&&m<8){m=3;}if((m===3)||(m===8)){q=D.Inf(j);r=k+m>>0;s=true;d=q;e=r;f=s;return[d,e,f];}}else if((l===(110))||(l===(78))){if(CZ(c,"nan")===3){t=D.NaN();u=3;v=true;d=t;e=u;f=v;return[d,e,f];}}w=0;x=0;y=false;d=w;e=x;f=y;return[d,e,f];};CE.ptr.prototype.set=function(c){var c,d,e,f,g,h,i,j,k,l;d=false;e=this;f=0;e.neg=false;e.trunc=false;if(f>=c.length){return d;}if((c.charCodeAt(f)===43)){f=f+(1)>>0;}else if((c.charCodeAt(f)===45)){e.neg=true;f=f+(1)>>0;}g=false;h=false;while(true){if(!(f<c.length)){break;}if((c.charCodeAt(f)===95)){f=f+(1)>>0;continue;}else if((c.charCodeAt(f)===46)){if(g){return d;}g=true;e.dp=e.nd;f=f+(1)>>0;continue;}else if(48<=c.charCodeAt(f)&&c.charCodeAt(f)<=57){h=true;if((c.charCodeAt(f)===48)&&(e.nd===0)){e.dp=e.dp-(1)>>0;f=f+(1)>>0;continue;}if(e.nd<800){(i=e.d,j=e.nd,((j<0||j>=i.length)?($throwRuntimeError("index out of range"),undefined):i[j]=c.charCodeAt(f)));e.nd=e.nd+(1)>>0;}else if(!((c.charCodeAt(f)===48))){e.trunc=true;}f=f+(1)>>0;continue;}break;}if(!h){return d;}if(!g){e.dp=e.nd;}if(f<c.length&&(CP(c.charCodeAt(f))===101)){f=f+(1)>>0;if(f>=c.length){return d;}k=1;if(c.charCodeAt(f)===43){f=f+(1)>>0;}else if(c.charCodeAt(f)===45){f=f+(1)>>0;k=-1;}if(f>=c.length||c.charCodeAt(f)<48||c.charCodeAt(f)>57){return d;}l=0;while(true){if(!(f<c.length&&(48<=c.charCodeAt(f)&&c.charCodeAt(f)<=57||(c.charCodeAt(f)===95)))){break;}if(c.charCodeAt(f)===95){f=f+(1)>>0;continue;}if(l<10000){l=(($imul(l,10))+((c.charCodeAt(f)>>0))>>0)-48>>0;}f=f+(1)>>0;}e.dp=e.dp+(($imul(l,k)))>>0;}if(!((f===c.length))){return d;}d=true;return d;};CE.prototype.set=function(c){return this.$val.set(c);};DB=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;d=new $Uint64(0,0);e=0;f=false;g=false;h=false;i=0;j=false;k=false;if(i>=c.length){return[d,e,f,g,h,i,j];}if((c.charCodeAt(i)===43)){i=i+(1)>>0;}else if((c.charCodeAt(i)===45)){f=true;i=i+(1)>>0;}l=new $Uint64(0,10);m=19;n=101;if((i+2>>0)<c.length&&(c.charCodeAt(i)===48)&&(CP(c.charCodeAt((i+1>>0)))===120)){l=new $Uint64(0,16);m=16;i=i+(2)>>0;n=112;h=true;}o=false;p=false;q=0;r=0;s=0;loop:while(true){if(!(i<c.length)){break;}t=c.charCodeAt(i);u=true;if(u===((t===95))){k=true;i=i+(1)>>0;continue;}else if(u===((t===46))){if(o){break loop;}o=true;s=q;i=i+(1)>>0;continue;}else if(u===(48<=t&&t<=57)){p=true;if((t===48)&&(q===0)){s=s-(1)>>0;i=i+(1)>>0;continue;}q=q+(1)>>0;if(r<m){d=$mul64(d,(l));d=(v=(new $Uint64(0,(t-48<<24>>>24))),new $Uint64(d.$high+v.$high,d.$low+v.$low));r=r+(1)>>0;}else if(!((t===48))){g=true;}i=i+(1)>>0;continue;}else if(u===((l.$high===0&&l.$low===16)&&97<=CP(t)&&CP(t)<=102)){p=true;q=q+(1)>>0;if(r<m){d=$mul64(d,(new $Uint64(0,16)));d=(w=(new $Uint64(0,((CP(t)-97<<24>>>24)+10<<24>>>24))),new $Uint64(d.$high+w.$high,d.$low+w.$low));r=r+(1)>>0;}else{g=true;}i=i+(1)>>0;continue;}break;}if(!p){return[d,e,f,g,h,i,j];}if(!o){s=q;}if((l.$high===0&&l.$low===16)){s=$imul(s,(4));r=$imul(r,(4));}if(i<c.length&&(CP(c.charCodeAt(i))===n)){i=i+(1)>>0;if(i>=c.length){return[d,e,f,g,h,i,j];}x=1;if(c.charCodeAt(i)===43){i=i+(1)>>0;}else if(c.charCodeAt(i)===45){i=i+(1)>>0;x=-1;}if(i>=c.length||c.charCodeAt(i)<48||c.charCodeAt(i)>57){return[d,e,f,g,h,i,j];}y=0;while(true){if(!(i<c.length&&(48<=c.charCodeAt(i)&&c.charCodeAt(i)<=57||(c.charCodeAt(i)===95)))){break;}if(c.charCodeAt(i)===95){k=true;i=i+(1)>>0;continue;}if(y<10000){y=(($imul(y,10))+((c.charCodeAt(i)>>0))>>0)-48>>0;}i=i+(1)>>0;}s=s+(($imul(y,x)))>>0;}else if((l.$high===0&&l.$low===16)){return[d,e,f,g,h,i,j];}if(!((d.$high===0&&d.$low===0))){e=s-r>>0;}if(k&&!CX($substring(c,0,i))){return[d,e,f,g,h,i,j];}j=true;return[d,e,f,g,h,i,j];};CE.ptr.prototype.floatBits=function(c){var aa,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s;$s=0;s:while(true){switch($s){case 0:d=new $Uint64(0,0);e=false;f=this;g=0;h=new $Uint64(0,0);if(f.nd===0){$s=1;continue;}$s=2;continue;case 1:h=new $Uint64(0,0);g=c.bias;$s=3;continue;case 2:if(f.dp>310){$s=4;continue;}$s=5;continue;case 4:$s=6;continue;case 5:if(f.dp<-330){$s=7;continue;}$s=8;continue;case 7:h=new $Uint64(0,0);g=c.bias;$s=3;continue;case 8:g=0;while(true){if(!(f.dp>0)){break;}i=0;if(f.dp>=DC.$length){i=27;}else{i=(j=f.dp,((j<0||j>=DC.$length)?($throwRuntimeError("index out of range"),undefined):DC.$array[DC.$offset+j]));}f.Shift(-i);g=g+(i)>>0;}while(true){if(!(f.dp<0||(f.dp===0)&&f.d[0]<53)){break;}k=0;if(-f.dp>=DC.$length){k=27;}else{k=(l=-f.dp,((l<0||l>=DC.$length)?($throwRuntimeError("index out of range"),undefined):DC.$array[DC.$offset+l]));}f.Shift(k);g=g-(k)>>0;}g=g-(1)>>0;if(g<(c.bias+1>>0)){m=(c.bias+1>>0)-g>>0;f.Shift(-m);g=g+(m)>>0;}if((g-c.bias>>0)>=(((n=c.expbits,n<32?(1<<n):0)>>0)-1>>0)){$s=9;continue;}$s=10;continue;case 9:$s=6;continue;case 10:f.Shift((((1+c.mantbits>>>0)>>0)));h=f.RoundedInteger();if((o=$shiftLeft64(new $Uint64(0,2),c.mantbits),(h.$high===o.$high&&h.$low===o.$low))){$s=11;continue;}$s=12;continue;case 11:h=$shiftRightUint64(h,(1));g=g+(1)>>0;if((g-c.bias>>0)>=(((p=c.expbits,p<32?(1<<p):0)>>0)-1>>0)){$s=13;continue;}$s=14;continue;case 13:$s=6;continue;case 14:case 12:if((q=(r=$shiftLeft64(new $Uint64(0,1),c.mantbits),new $Uint64(h.$high&r.$high,(h.$low&r.$low)>>>0)),(q.$high===0&&q.$low===0))){g=c.bias;}$s=3;continue;case 6:h=new $Uint64(0,0);g=(((s=c.expbits,s<32?(1<<s):0)>>0)-1>>0)+c.bias>>0;e=true;case 3:v=(t=(u=$shiftLeft64(new $Uint64(0,1),c.mantbits),new $Uint64(u.$high-0,u.$low-1)),new $Uint64(h.$high&t.$high,(h.$low&t.$low)>>>0));v=(w=$shiftLeft64((new $Uint64(0,(((g-c.bias>>0))&((((x=c.expbits,x<32?(1<<x):0)>>0)-1>>0))))),c.mantbits),new $Uint64(v.$high|w.$high,(v.$low|w.$low)>>>0));if(f.neg){v=(y=$shiftLeft64($shiftLeft64(new $Uint64(0,1),c.mantbits),c.expbits),new $Uint64(v.$high|y.$high,(v.$low|y.$low)>>>0));}z=v;aa=e;d=z;e=aa;$s=-1;return[d,e];}return;}};CE.prototype.floatBits=function(c){return this.$val.floatBits(c);};DF=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;f=0;g=false;if(!((h=$shiftRightUint64(c,BN.mantbits),(h.$high===0&&h.$low===0)))){return[f,g];}f=($flatten64(c));if(e){f=-f;}if((d===0)){i=f;j=true;f=i;g=j;return[f,g];}else if(d>0&&d<=37){if(d>22){f=f*((k=d-22>>0,((k<0||k>=DD.$length)?($throwRuntimeError("index out of range"),undefined):DD.$array[DD.$offset+k])));d=22;}if(f>1e+15||f<-1e+15){return[f,g];}l=f*((d<0||d>=DD.$length)?($throwRuntimeError("index out of range"),undefined):DD.$array[DD.$offset+d]);m=true;f=l;g=m;return[f,g];}else if(d<0&&d>=-22){n=f/(o=-d,((o<0||o>=DD.$length)?($throwRuntimeError("index out of range"),undefined):DD.$array[DD.$offset+o]));p=true;f=n;g=p;return[f,g];}return[f,g];};DG=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;f=0;g=false;if(!((h=$shiftRightUint64(c,BM.mantbits),(h.$high===0&&h.$low===0)))){return[f,g];}f=($flatten64(c));if(e){f=-f;}if((d===0)){i=f;j=true;f=i;g=j;return[f,g];}else if(d>0&&d<=17){if(d>10){f=$fround(f*((k=d-10>>0,((k<0||k>=DE.$length)?($throwRuntimeError("index out of range"),undefined):DE.$array[DE.$offset+k]))));d=10;}if(f>1e+07||f<-1e+07){return[f,g];}l=$fround(f*((d<0||d>=DE.$length)?($throwRuntimeError("index out of range"),undefined):DE.$array[DE.$offset+d]));m=true;f=l;g=m;return[f,g];}else if(d<0&&d>=-10){n=$fround(f/(o=-d,((o<0||o>=DE.$length)?($throwRuntimeError("index out of range"),undefined):DE.$array[DE.$offset+o])));p=true;f=n;g=p;return[f,g];}return[f,g];};DH=function(c,d,e,f,g,h){var aa,ab,ac,ad,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;j=(((i=d.expbits,i<32?(1<<i):0)>>0)+d.bias>>0)-2>>0;k=d.bias+1>>0;f=f+(((d.mantbits>>0)))>>0;while(true){if(!(!((e.$high===0&&e.$low===0))&&(l=$shiftRightUint64(e,((d.mantbits+2>>>0))),(l.$high===0&&l.$low===0)))){break;}e=$shiftLeft64(e,(1));f=f-(1)>>0;}if(h){e=(m=new $Uint64(0,1),new $Uint64(e.$high|m.$high,(e.$low|m.$low)>>>0));}while(true){if(!(!((n=$shiftRightUint64(e,(((1+d.mantbits>>>0)+2>>>0))),(n.$high===0&&n.$low===0))))){break;}e=(o=$shiftRightUint64(e,1),p=new $Uint64(e.$high&0,(e.$low&1)>>>0),new $Uint64(o.$high|p.$high,(o.$low|p.$low)>>>0));f=f+(1)>>0;}while(true){if(!((e.$high>0||(e.$high===0&&e.$low>1))&&f<(k-2>>0))){break;}e=(q=$shiftRightUint64(e,1),r=new $Uint64(e.$high&0,(e.$low&1)>>>0),new $Uint64(q.$high|r.$high,(q.$low|r.$low)>>>0));f=f+(1)>>0;}s=new $Uint64(e.$high&0,(e.$low&3)>>>0);e=$shiftRightUint64(e,(2));s=(t=new $Uint64(e.$high&0,(e.$low&1)>>>0),new $Uint64(s.$high|t.$high,(s.$low|t.$low)>>>0));f=f+(2)>>0;if((s.$high===0&&s.$low===3)){e=(u=new $Uint64(0,1),new $Uint64(e.$high+u.$high,e.$low+u.$low));if((v=$shiftLeft64(new $Uint64(0,1),((1+d.mantbits>>>0))),(e.$high===v.$high&&e.$low===v.$low))){e=$shiftRightUint64(e,(1));f=f+(1)>>0;}}if((w=$shiftRightUint64(e,d.mantbits),(w.$high===0&&w.$low===0))){f=d.bias;}x=$ifaceNil;if(f>j){e=$shiftLeft64(new $Uint64(0,1),d.mantbits);f=j+1>>0;x=CS("ParseFloat",c);}aa=(y=(z=$shiftLeft64(new $Uint64(0,1),d.mantbits),new $Uint64(z.$high-0,z.$low-1)),new $Uint64(e.$high&y.$high,(e.$low&y.$low)>>>0));aa=(ab=$shiftLeft64((new $Uint64(0,(((f-d.bias>>0))&((((ac=d.expbits,ac<32?(1<<ac):0)>>0)-1>>0))))),d.mantbits),new $Uint64(aa.$high|ab.$high,(aa.$low|ab.$low)>>>0));if(g){aa=(ad=$shiftLeft64($shiftLeft64(new $Uint64(0,1),d.mantbits),d.expbits),new $Uint64(aa.$high|ad.$high,(aa.$low|ad.$low)>>>0));}if(d===BM){return[(D.Float32frombits(((aa.$low>>>0)))),x];}return[D.Float64frombits(aa),x];};DI=function(c){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;d=0;e=0;f=$ifaceNil;g=DA(c);h=g[0];i=g[1];j=g[2];if(j){k=($fround(h));l=i;m=$ifaceNil;d=k;e=l;f=m;return[d,e,f];}n=DB(c);o=n[0];p=n[1];q=n[2];r=n[3];s=n[4];e=n[5];t=n[6];if(!t){u=0;v=e;w=CR("ParseFloat",c);d=u;e=v;f=w;return[d,e,f];}if(s){x=DH($substring(c,0,e),BM,o,p,q,r);y=x[0];z=x[1];aa=($fround(y));ab=e;ac=z;d=aa;e=ab;f=ac;return[d,e,f];}if(CY){if(!r){ad=DG(o,p,q);ae=ad[0];af=ad[1];if(af){ag=ae;ah=e;ai=$ifaceNil;d=ag;e=ah;f=ai;return[d,e,f];}}aj=CC(o,p,q);ak=aj[0];al=aj[1];if(al){if(!r){am=ak;an=e;ao=$ifaceNil;d=am;e=an;f=ao;return[d,e,f];}ap=CC(new $Uint64(o.$high+0,o.$low+1),p,q);aq=ap[0];ar=ap[1];if(ar&&(ak===aq)){as=ak;at=e;au=$ifaceNil;d=as;e=at;f=au;return[d,e,f];}}}av=new CE.ptr(EG.zero(),0,0,false,false);if(!av.set($substring(c,0,e))){aw=0;ax=e;ay=CR("ParseFloat",c);d=aw;e=ax;f=ay;return[d,e,f];}az=av.floatBits(BM);ba=az[0];bb=az[1];d=D.Float32frombits(((ba.$low>>>0)));if(bb){f=CS("ParseFloat",c);}bc=d;bd=e;be=f;d=bc;e=bd;f=be;return[d,e,f];};DJ=function(c){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;d=0;e=0;f=$ifaceNil;g=DA(c);h=g[0];i=g[1];j=g[2];if(j){k=h;l=i;m=$ifaceNil;d=k;e=l;f=m;return[d,e,f];}n=DB(c);o=n[0];p=n[1];q=n[2];r=n[3];s=n[4];e=n[5];t=n[6];if(!t){u=0;v=e;w=CR("ParseFloat",c);d=u;e=v;f=w;return[d,e,f];}if(s){x=DH($substring(c,0,e),BN,o,p,q,r);y=x[0];z=x[1];aa=y;ab=e;ac=z;d=aa;e=ab;f=ac;return[d,e,f];}if(CY){if(!r){ad=DF(o,p,q);ae=ad[0];af=ad[1];if(af){ag=ae;ah=e;ai=$ifaceNil;d=ag;e=ah;f=ai;return[d,e,f];}}aj=CB(o,p,q);ak=aj[0];al=aj[1];if(al){if(!r){am=ak;an=e;ao=$ifaceNil;d=am;e=an;f=ao;return[d,e,f];}ap=CB(new $Uint64(o.$high+0,o.$low+1),p,q);aq=ap[0];ar=ap[1];if(ar&&(ak===aq)){as=ak;at=e;au=$ifaceNil;d=as;e=at;f=au;return[d,e,f];}}}av=new CE.ptr(EG.zero(),0,0,false,false);if(!av.set($substring(c,0,e))){aw=0;ax=e;ay=CR("ParseFloat",c);d=aw;e=ax;f=ay;return[d,e,f];}az=av.floatBits(BN);ba=az[0];bb=az[1];d=D.Float64frombits(ba);if(bb){f=CS("ParseFloat",c);}bc=d;bd=e;be=f;d=bc;e=bd;f=be;return[d,e,f];};DK=function(c,d){var c,d,e,f,g,h;e=DL(c,d);f=e[0];g=e[1];h=e[2];if(!((g===c.length))&&($interfaceIsEqual(h,$ifaceNil)||!($interfaceIsEqual($assertType(h,EH).Err,$pkg.ErrSyntax)))){return[0,CR("ParseFloat",c)];}return[f,h];};$pkg.ParseFloat=DK;DL=function(c,d){var c,d,e,f,g,h;if(d===32){e=DI(c);f=e[0];g=e[1];h=e[2];return[(f),g,h];}return DJ(c);};EI.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Assign",name:"Assign",pkg:"",typ:$funcType([$Uint64],[],false)},{prop:"Shift",name:"Shift",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Round",name:"Round",pkg:"",typ:$funcType([$Int],[],false)},{prop:"RoundDown",name:"RoundDown",pkg:"",typ:$funcType([$Int],[],false)},{prop:"RoundUp",name:"RoundUp",pkg:"",typ:$funcType([$Int],[],false)},{prop:"RoundedInteger",name:"RoundedInteger",pkg:"",typ:$funcType([],[$Uint64],false)},{prop:"set",name:"set",pkg:"strconv",typ:$funcType([$String],[$Bool],false)},{prop:"floatBits",name:"floatBits",pkg:"strconv",typ:$funcType([ED],[$Uint64,$Bool],false)}];EH.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Unwrap",name:"Unwrap",pkg:"",typ:$funcType([],[$error],false)}];BL.init("strconv",[{prop:"mantbits",name:"mantbits",embedded:false,exported:false,typ:$Uint,tag:""},{prop:"expbits",name:"expbits",embedded:false,exported:false,typ:$Uint,tag:""},{prop:"bias",name:"bias",embedded:false,exported:false,typ:$Int,tag:""}]);BU.init("strconv",[{prop:"d",name:"d",embedded:false,exported:false,typ:EA,tag:""},{prop:"nd",name:"nd",embedded:false,exported:false,typ:$Int,tag:""},{prop:"dp",name:"dp",embedded:false,exported:false,typ:$Int,tag:""},{prop:"neg",name:"neg",embedded:false,exported:false,typ:$Bool,tag:""}]);CE.init("strconv",[{prop:"d",name:"d",embedded:false,exported:false,typ:EG,tag:""},{prop:"nd",name:"nd",embedded:false,exported:false,typ:$Int,tag:""},{prop:"dp",name:"dp",embedded:false,exported:false,typ:$Int,tag:""},{prop:"neg",name:"neg",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"trunc",name:"trunc",embedded:false,exported:false,typ:$Bool,tag:""}]);CI.init("strconv",[{prop:"delta",name:"delta",embedded:false,exported:false,typ:$Int,tag:""},{prop:"cutoff",name:"cutoff",embedded:false,exported:false,typ:$String,tag:""}]);CQ.init("",[{prop:"Func",name:"Func",embedded:false,exported:true,typ:$String,tag:""},{prop:"Num",name:"Num",embedded:false,exported:true,typ:$String,tag:""},{prop:"Err",name:"Err",embedded:false,exported:true,typ:$error,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=F.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AQ=new DT([32,126,161,887,890,895,900,1366,1369,1418,1421,1479,1488,1514,1519,1524,1542,1563,1566,1805,1808,1866,1869,1969,1984,2042,2045,2093,2096,2139,2142,2154,2208,2247,2259,2444,2447,2448,2451,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2531,2534,2558,2561,2570,2575,2576,2579,2617,2620,2626,2631,2632,2635,2637,2641,2641,2649,2654,2662,2678,2689,2745,2748,2765,2768,2768,2784,2787,2790,2801,2809,2828,2831,2832,2835,2873,2876,2884,2887,2888,2891,2893,2901,2903,2908,2915,2918,2935,2946,2954,2958,2965,2969,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3021,3024,3024,3031,3031,3046,3066,3072,3129,3133,3149,3157,3162,3168,3171,3174,3183,3191,3257,3260,3277,3285,3286,3294,3299,3302,3314,3328,3407,3412,3427,3430,3478,3482,3517,3520,3526,3530,3530,3535,3551,3558,3567,3570,3572,3585,3642,3647,3675,3713,3773,3776,3789,3792,3801,3804,3807,3840,3948,3953,4058,4096,4295,4301,4301,4304,4685,4688,4701,4704,4749,4752,4789,4792,4805,4808,4885,4888,4954,4957,4988,4992,5017,5024,5109,5112,5117,5120,5788,5792,5880,5888,5908,5920,5942,5952,5971,5984,6003,6016,6109,6112,6121,6128,6137,6144,6157,6160,6169,6176,6264,6272,6314,6320,6389,6400,6443,6448,6459,6464,6464,6468,6509,6512,6516,6528,6571,6576,6601,6608,6618,6622,6683,6686,6780,6783,6793,6800,6809,6816,6829,6832,6848,6912,6987,6992,7036,7040,7155,7164,7223,7227,7241,7245,7304,7312,7354,7357,7367,7376,7418,7424,7957,7960,7965,7968,8005,8008,8013,8016,8061,8064,8147,8150,8175,8178,8190,8208,8231,8240,8286,8304,8305,8308,8348,8352,8383,8400,8432,8448,8587,8592,9254,9280,9290,9312,11123,11126,11507,11513,11559,11565,11565,11568,11623,11631,11632,11647,11670,11680,11858,11904,12019,12032,12245,12272,12283,12289,12438,12441,12543,12549,12771,12784,40956,40960,42124,42128,42182,42192,42539,42560,42743,42752,42943,42946,42954,42997,43052,43056,43065,43072,43127,43136,43205,43214,43225,43232,43347,43359,43388,43392,43481,43486,43574,43584,43597,43600,43609,43612,43714,43739,43766,43777,43782,43785,43790,43793,43798,43808,43883,43888,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64449,64467,64831,64848,64911,64914,64967,65008,65021,65024,65049,65056,65131,65136,65276,65281,65470,65474,65479,65482,65487,65490,65495,65498,65500,65504,65518,65532,65533]);AR=new DT([173,907,909,930,1328,1424,1757,2111,2143,2229,2274,2436,2473,2481,2526,2564,2601,2609,2612,2615,2621,2653,2692,2702,2706,2729,2737,2740,2758,2762,2816,2820,2857,2865,2868,2910,2948,2961,2971,2973,3017,3085,3089,3113,3141,3145,3159,3213,3217,3241,3252,3269,3273,3295,3312,3341,3345,3397,3401,3456,3460,3506,3516,3541,3543,3715,3717,3723,3748,3750,3781,3783,3912,3992,4029,4045,4294,4681,4695,4697,4745,4785,4799,4801,4823,4881,5760,5901,5997,6001,6431,6751,7674,8024,8026,8028,8030,8117,8133,8156,8181,8335,11158,11311,11359,11558,11687,11695,11703,11711,11719,11727,11735,11743,11930,12352,12592,12687,12831,43470,43519,43815,43823,64311,64317,64319,64322,64325,65107,65127,65141,65511]);AS=new DU([65536,65613,65616,65629,65664,65786,65792,65794,65799,65843,65847,65948,65952,65952,66000,66045,66176,66204,66208,66256,66272,66299,66304,66339,66349,66378,66384,66426,66432,66499,66504,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,66927,66927,67072,67382,67392,67413,67424,67431,67584,67589,67592,67640,67644,67644,67647,67742,67751,67759,67808,67829,67835,67867,67871,67897,67903,67903,67968,68023,68028,68047,68050,68102,68108,68149,68152,68154,68159,68168,68176,68184,68192,68255,68288,68326,68331,68342,68352,68405,68409,68437,68440,68466,68472,68497,68505,68508,68521,68527,68608,68680,68736,68786,68800,68850,68858,68903,68912,68921,69216,69293,69296,69297,69376,69415,69424,69465,69552,69579,69600,69622,69632,69709,69714,69743,69759,69825,69840,69864,69872,69881,69888,69959,69968,70006,70016,70132,70144,70206,70272,70313,70320,70378,70384,70393,70400,70412,70415,70416,70419,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70753,70784,70855,70864,70873,71040,71093,71096,71133,71168,71236,71248,71257,71264,71276,71296,71352,71360,71369,71424,71450,71453,71467,71472,71487,71680,71739,71840,71922,71935,71942,71945,71945,71948,71992,71995,72006,72016,72025,72096,72103,72106,72151,72154,72164,72192,72263,72272,72354,72384,72440,72704,72773,72784,72812,72816,72847,72850,72886,72960,73014,73018,73031,73040,73049,73056,73112,73120,73129,73440,73464,73648,73648,73664,73713,73727,74649,74752,74868,74880,75075,77824,78894,82944,83526,92160,92728,92736,92777,92782,92783,92880,92909,92912,92917,92928,92997,93008,93047,93053,93071,93760,93850,93952,94026,94031,94087,94095,94111,94176,94180,94192,94193,94208,100343,100352,101589,101632,101640,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113820,113823,118784,119029,119040,119078,119081,119154,119163,119272,119296,119365,119520,119539,119552,119638,119648,119672,119808,119967,119970,119970,119973,119974,119977,120074,120077,120134,120138,120485,120488,120779,120782,121483,121499,121519,122880,122904,122907,122922,123136,123180,123184,123197,123200,123209,123214,123215,123584,123641,123647,123647,124928,125124,125127,125142,125184,125259,125264,125273,125278,125279,126065,126132,126209,126269,126464,126500,126503,126523,126530,126530,126535,126548,126551,126564,126567,126619,126625,126651,126704,126705,126976,127019,127024,127123,127136,127150,127153,127221,127232,127405,127462,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,128727,128736,128748,128752,128764,128768,128883,128896,128984,128992,129003,129024,129035,129040,129095,129104,129113,129120,129159,129168,129197,129200,129201,129280,129619,129632,129645,129648,129652,129656,129658,129664,129670,129680,129704,129712,129718,129728,129730,129744,129750,129792,129994,130032,130041,131072,173789,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,196608,201546,917760,917999]);AT=new DT([12,39,59,62,399,926,2057,2102,2134,2291,2564,2580,2584,3711,3754,4285,4405,4576,4626,4743,4745,4750,4766,4868,4905,4913,4916,4922,5212,6420,6423,6454,7177,7223,7336,7431,7434,7483,7486,7526,7529,7567,7570,9327,27231,27482,27490,54357,54429,54445,54458,54460,54468,54534,54549,54557,54586,54591,54597,54609,55968,57351,57378,57381,60932,60960,60963,60968,60979,60984,60986,61000,61002,61004,61008,61011,61016,61018,61020,61022,61024,61027,61035,61043,61048,61053,61055,61066,61092,61098,61632,61648,63865,63948,64403]);AU=new DT([160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288]);AZ=$toNativeArray($kindUint64,[new $Uint64(0,1),new $Uint64(0,10),new $Uint64(0,100),new $Uint64(0,1000),new $Uint64(0,10000),new $Uint64(0,100000),new $Uint64(0,1000000),new $Uint64(0,10000000),new $Uint64(0,100000000),new $Uint64(0,1000000000),new $Uint64(2,1410065408),new $Uint64(23,1215752192),new $Uint64(232,3567587328),new $Uint64(2328,1316134912),new $Uint64(23283,276447232),new $Uint64(232830,2764472320),new $Uint64(2328306,1874919424),new $Uint64(23283064,1569325056),new $Uint64(232830643,2808348672),new $Uint64(2328306436,2313682944)]);BM=new BL.ptr(23,8,-127);BN=new BL.ptr(52,11,-1023);CD=$toNativeArray($kindArray,[$toNativeArray($kindUint64,[new $Uint64(389204073,3445679187),new $Uint64(4203730336,136053384)]),$toNativeArray($kindUint64,[new $Uint64(243252546,542936756),new $Uint64(2627331460,85033365)]),$toNativeArray($kindUint64,[new $Uint64(1377807506,2826154593),new $Uint64(3284164325,106291706)]),$toNativeArray($kindUint64,[new $Uint64(3869743031,1385209593),new $Uint64(4105205406,1206606456)]),$toNativeArray($kindUint64,[new $Uint64(2418589394,2476368732),new $Uint64(2565753378,3975354507)]),$toNativeArray($kindUint64,[new $Uint64(1949494919,947977267),new $Uint64(3207191723,2821709486)]),$toNativeArray($kindUint64,[new $Uint64(289385001,111229759),new $Uint64(4008989654,2453395034)]),$toNativeArray($kindUint64,[new $Uint64(1254607449,2753873159),new $Uint64(2505618534,459630072)]),$toNativeArray($kindUint64,[new $Uint64(1568259312,221115977),new $Uint64(3132023167,2722021238)]),$toNativeArray($kindUint64,[new $Uint64(4107807788,276394972),new $Uint64(3915028959,2328784723)]),$toNativeArray($kindUint64,[new $Uint64(2030508955,2320230505),new $Uint64(2446893099,3066103188)]),$toNativeArray($kindUint64,[new $Uint64(2538136194,1826546308),new $Uint64(3058616374,2758887161)]),$toNativeArray($kindUint64,[new $Uint64(4246412067,135699237),new $Uint64(3823270468,1301125303)]),$toNativeArray($kindUint64,[new $Uint64(4264620277,3842908407),new $Uint64(2389544042,2960686962)]),$toNativeArray($kindUint64,[new $Uint64(3183291699,1582410037),new $Uint64(2986930053,1553375055)]),$toNativeArray($kindUint64,[new $Uint64(2905372800,904270722),new $Uint64(3733662566,3015460643)]),$toNativeArray($kindUint64,[new $Uint64(1278987088,565169201),new $Uint64(2333539104,810921078)]),$toNativeArray($kindUint64,[new $Uint64(3746217508,706461501),new $Uint64(2916923880,1013651347)]),$toNativeArray($kindUint64,[new $Uint64(3609030061,883076877),new $Uint64(3646154850,1267064184)]),$toNativeArray($kindUint64,[new $Uint64(2255643788,1088793960),new $Uint64(2278846781,1865656939)]),$toNativeArray($kindUint64,[new $Uint64(1745812911,1360992450),new $Uint64(2848558476,3405812998)]),$toNativeArray($kindUint64,[new $Uint64(34782491,627498738),new $Uint64(3560698095,4257266248)]),$toNativeArray($kindUint64,[new $Uint64(21739056,4150283095),new $Uint64(2225436309,4271404141)]),$toNativeArray($kindUint64,[new $Uint64(1100915645,892886573),new $Uint64(2781795387,2118029704)]),$toNativeArray($kindUint64,[new $Uint64(1376144556,2189850041),new $Uint64(3477244234,1573795306)]),$toNativeArray($kindUint64,[new $Uint64(1933832171,3516139923),new $Uint64(2173277646,2057363890)]),$toNativeArray($kindUint64,[new $Uint64(269806566,3321433080),new $Uint64(2716597058,424221215)]),$toNativeArray($kindUint64,[new $Uint64(3558483680,2004307702),new $Uint64(3395746322,2677760166)]),$toNativeArray($kindUint64,[new $Uint64(2300620952,2505384628),new $Uint64(4244682903,1199716560)]),$toNativeArray($kindUint64,[new $Uint64(1437888095,1565865392),new $Uint64(2652926814,2360435586)]),$toNativeArray($kindUint64,[new $Uint64(3944843767,883589917),new $Uint64(3316158518,803060834)]),$toNativeArray($kindUint64,[new $Uint64(2783571061,30745572),new $Uint64(4145198147,3151309691)]),$toNativeArray($kindUint64,[new $Uint64(1202861001,556086894),new $Uint64(2590748842,1432697645)]),$toNativeArray($kindUint64,[new $Uint64(2577318075,1768850442),new $Uint64(3238436052,3938355704)]),$toNativeArray($kindUint64,[new $Uint64(3221647594,1137321229),new $Uint64(4048045066,627977334)]),$toNativeArray($kindUint64,[new $Uint64(939787922,1784567592),new $Uint64(2530028166,1466227658)]),$toNativeArray($kindUint64,[new $Uint64(3322218551,83225842),new $Uint64(3162535207,3980268220)]),$toNativeArray($kindUint64,[new $Uint64(4152773188,3325257774),new $Uint64(3953169009,3901593451)]),$toNativeArray($kindUint64,[new $Uint64(2058612330,4225769757),new $Uint64(2470730631,827883171)]),$toNativeArray($kindUint64,[new $Uint64(1499523589,3134728548),new $Uint64(3088413288,4256079436)]),$toNativeArray($kindUint64,[new $Uint64(1874404487,697185213),new $Uint64(3860516611,1025131999)]),$toNativeArray($kindUint64,[new $Uint64(2782115540,2046353494),new $Uint64(2412822882,103836587)]),$toNativeArray($kindUint64,[new $Uint64(2403902601,2557941868),new $Uint64(3016028602,2277279382)]),$toNativeArray($kindUint64,[new $Uint64(857394603,4271169159),new $Uint64(3770035753,699115580)]),$toNativeArray($kindUint64,[new $Uint64(2683355275,2132609812),new $Uint64(2356272345,3121301797)]),$toNativeArray($kindUint64,[new $Uint64(132968622,1592020441),new $Uint64(2945340432,680401775)]),$toNativeArray($kindUint64,[new $Uint64(3387436249,4137509200),new $Uint64(3681675540,850502218)]),$toNativeArray($kindUint64,[new $Uint64(3190889480,975330514),new $Uint64(2301047212,2679047534)]),$toNativeArray($kindUint64,[new $Uint64(1841128202,1219163142),new $Uint64(2876309015,3348809418)]),$toNativeArray($kindUint64,[new $Uint64(153926604,3671437576),new $Uint64(3595386269,3112269949)]),$toNativeArray($kindUint64,[new $Uint64(633075040,147164837),new $Uint64(2247116418,2482039630)]),$toNativeArray($kindUint64,[new $Uint64(2938827448,183956046),new $Uint64(2808895523,955065889)]),$toNativeArray($kindUint64,[new $Uint64(452308838,229945057),new $Uint64(3511119404,120090538)]),$toNativeArray($kindUint64,[new $Uint64(1356434847,3364941133),new $Uint64(2194449627,2222540234)]),$toNativeArray($kindUint64,[new $Uint64(3843027207,3132434592),new $Uint64(2743062034,1704433468)]),$toNativeArray($kindUint64,[new $Uint64(508816713,2841801416),new $Uint64(3428827542,4278025484)]),$toNativeArray($kindUint64,[new $Uint64(636020892,331026298),new $Uint64(4286034428,3200048207)]),$toNativeArray($kindUint64,[new $Uint64(2008125793,2354375084),new $Uint64(2678771517,4147513777)]),$toNativeArray($kindUint64,[new $Uint64(3583899065,4016710679),new $Uint64(3348464397,1963166749)]),$toNativeArray($kindUint64,[new $Uint64(1258648360,1799662877),new $Uint64(4185580496,3527700261)]),$toNativeArray($kindUint64,[new $Uint64(1323526137,1124789298),new $Uint64(2615987810,2204812663)]),$toNativeArray($kindUint64,[new $Uint64(580665847,2479728447),new $Uint64(3269984763,608532181)]),$toNativeArray($kindUint64,[new $Uint64(1799574133,2025918735),new $Uint64(4087480953,3981890698)]),$toNativeArray($kindUint64,[new $Uint64(2198475657,1803070121),new $Uint64(2554675596,878068950)]),$toNativeArray($kindUint64,[new $Uint64(600610923,3327579475),new $Uint64(3193344495,1097586188)]),$toNativeArray($kindUint64,[new $Uint64(750763654,3085732520),new $Uint64(3991680619,298240911)]),$toNativeArray($kindUint64,[new $Uint64(2079840020,854841001),new $Uint64(2494800386,3944496953)]),$toNativeArray($kindUint64,[new $Uint64(3673541849,1068551251),new $Uint64(3118500483,2783137543)]),$toNativeArray($kindUint64,[new $Uint64(3518185487,2409430888),new $Uint64(3898125604,2405180105)]),$toNativeArray($kindUint64,[new $Uint64(588253193,3116507041),new $Uint64(2436328502,3650721214)]),$toNativeArray($kindUint64,[new $Uint64(2882800140,674408330),new $Uint64(3045410628,2415917869)]),$toNativeArray($kindUint64,[new $Uint64(382274703,843010412),new $Uint64(3806763285,3019897337)]),$toNativeArray($kindUint64,[new $Uint64(2923276249,2137494243),new $Uint64(2379227053,2424306747)]),$toNativeArray($kindUint64,[new $Uint64(2580353487,3745609628),new $Uint64(2974033816,4104125258)]),$toNativeArray($kindUint64,[new $Uint64(1077958211,3608270211),new $Uint64(3717542271,835189277)]),$toNativeArray($kindUint64,[new $Uint64(1210594794,1718297970),new $Uint64(2323463919,2132606034)]),$toNativeArray($kindUint64,[new $Uint64(3660727141,388815),new $Uint64(2904329899,1592015718)]),$toNativeArray($kindUint64,[new $Uint64(2428425278,1074227842),new $Uint64(3630412374,916277824)]),$toNativeArray($kindUint64,[new $Uint64(1517765798,3892617873),new $Uint64(2269007733,3793899112)]),$toNativeArray($kindUint64,[new $Uint64(1897207248,2718288694),new $Uint64(2836259667,1521148418)]),$toNativeArray($kindUint64,[new $Uint64(224025412,3397860867),new $Uint64(3545324584,827693699)]),$toNativeArray($kindUint64,[new $Uint64(3898112266,4271146690),new $Uint64(2215827865,517308561)]),$toNativeArray($kindUint64,[new $Uint64(1651414861,3191449714),new $Uint64(2769784831,1720377526)]),$toNativeArray($kindUint64,[new $Uint64(4211752225,768086671),new $Uint64(3462231039,1076730083)]),$toNativeArray($kindUint64,[new $Uint64(2095474228,3164408729),new $Uint64(2163894399,2283569038)]),$toNativeArray($kindUint64,[new $Uint64(471859137,3955510912),new $Uint64(2704867999,1780719474)]),$toNativeArray($kindUint64,[new $Uint64(2737307570,1723163168),new $Uint64(3381084999,1152157518)]),$toNativeArray($kindUint64,[new $Uint64(1274150815,6470312),new $Uint64(4226356249,366455074)]),$toNativeArray($kindUint64,[new $Uint64(1870086083,1614656681),new $Uint64(2641472655,2913388981)]),$toNativeArray($kindUint64,[new $Uint64(3411349428,944579027),new $Uint64(3301840819,2567994402)]),$toNativeArray($kindUint64,[new $Uint64(2116703137,1180723784),new $Uint64(4127301024,2136251179)]),$toNativeArray($kindUint64,[new $Uint64(786068548,3422306925),new $Uint64(2579563140,1335156987)]),$toNativeArray($kindUint64,[new $Uint64(4203811157,4277883656),new $Uint64(3224453925,1668946233)]),$toNativeArray($kindUint64,[new $Uint64(2033538475,2126129098),new $Uint64(4030567406,3159924616)]),$toNativeArray($kindUint64,[new $Uint64(1270961547,791959774),new $Uint64(2519104629,901211061)]),$toNativeArray($kindUint64,[new $Uint64(2662443757,4211175190),new $Uint64(3148880786,2200255650)]),$toNativeArray($kindUint64,[new $Uint64(1180571049,2042743516),new $Uint64(3936100983,602835915)]),$toNativeArray($kindUint64,[new $Uint64(200985993,3961069257),new $Uint64(2460063114,1987385183)]),$toNativeArray($kindUint64,[new $Uint64(3472457964,1730111099),new $Uint64(3075078893,336747830)]),$toNativeArray($kindUint64,[new $Uint64(2193088807,2162638874),new $Uint64(3843848616,1494676612)]),$toNativeArray($kindUint64,[new $Uint64(3518164152,2962262032),new $Uint64(2402405385,934172882)]),$toNativeArray($kindUint64,[new $Uint64(2250221542,3702827541),new $Uint64(3003006731,2241457927)]),$toNativeArray($kindUint64,[new $Uint64(1739035104,2481050778),new $Uint64(3753758414,1728080585)]),$toNativeArray($kindUint64,[new $Uint64(3771251500,1550656736),new $Uint64(2346099009,6308541)]),$toNativeArray($kindUint64,[new $Uint64(1492838903,1938320920),new $Uint64(2932623761,1081627501)]),$toNativeArray($kindUint64,[new $Uint64(2939790453,1349159326),new $Uint64(3665779701,2425776200)]),$toNativeArray($kindUint64,[new $Uint64(1837369033,1380095491),new $Uint64(2291112313,2052981037)]),$toNativeArray($kindUint64,[new $Uint64(3370453115,2798861187),new $Uint64(2863890391,3639968120)]),$toNativeArray($kindUint64,[new $Uint64(4213066394,2424834660),new $Uint64(3579862989,3476218326)]),$toNativeArray($kindUint64,[new $Uint64(1559424672,2589263487),new $Uint64(2237414368,2709507366)]),$toNativeArray($kindUint64,[new $Uint64(4096764488,3236579358),new $Uint64(2796767960,3386884207)]),$toNativeArray($kindUint64,[new $Uint64(4047213786,4045724198),new $Uint64(3495959950,4233605259)]),$toNativeArray($kindUint64,[new $Uint64(1992637704,3602319448),new $Uint64(2184974969,1572261463)]),$toNativeArray($kindUint64,[new $Uint64(1417055307,207932014),new $Uint64(2731218711,3039068653)]),$toNativeArray($kindUint64,[new $Uint64(2845060957,3481140489),new $Uint64(3414023389,2725093992)]),$toNativeArray($kindUint64,[new $Uint64(3556326197,1130200140),new $Uint64(4267529237,185142018)]),$toNativeArray($kindUint64,[new $Uint64(3296445697,1243245999),new $Uint64(2667205773,652584673)]),$toNativeArray($kindUint64,[new $Uint64(899331649,2627799323),new $Uint64(3334007216,1889472666)]),$toNativeArray($kindUint64,[new $Uint64(3271648210,63523682),new $Uint64(4167509020,2361840832)]),$toNativeArray($kindUint64,[new $Uint64(2044780131,1113444125),new $Uint64(2604693137,3623634168)]),$toNativeArray($kindUint64,[new $Uint64(2555975164,318063332),new $Uint64(3255866422,1308317238)]),$toNativeArray($kindUint64,[new $Uint64(1047485307,397579165),new $Uint64(4069833027,3782880196)]),$toNativeArray($kindUint64,[new $Uint64(2802161964,4006583362),new $Uint64(2543645642,1827429210)]),$toNativeArray($kindUint64,[new $Uint64(1355218808,713261907),new $Uint64(3179557053,136802865)]),$toNativeArray($kindUint64,[new $Uint64(2767765334,891577384),new $Uint64(3974446316,1244745405)]),$toNativeArray($kindUint64,[new $Uint64(2266724245,3778461337),new $Uint64(2484028947,2925449526)]),$toNativeArray($kindUint64,[new $Uint64(685921659,1501851199),new $Uint64(3105036184,2583070084)]),$toNativeArray($kindUint64,[new $Uint64(857402074,803572175),new $Uint64(3881295230,3228837605)]),$toNativeArray($kindUint64,[new $Uint64(1072747208,1575974433),new $Uint64(2425809519,944281679)]),$toNativeArray($kindUint64,[new $Uint64(267192186,1969968041),new $Uint64(3032261899,106610275)]),$toNativeArray($kindUint64,[new $Uint64(3555215705,314976404),new $Uint64(3790327373,3354488315)]),$toNativeArray($kindUint64,[new $Uint64(1685138903,2881214812),new $Uint64(2368954608,2633426109)]),$toNativeArray($kindUint64,[new $Uint64(3180165453,2527776691),new $Uint64(2961193260,3291782636)]),$toNativeArray($kindUint64,[new $Uint64(3975206816,4233462688),new $Uint64(3701491575,4114728295)]),$toNativeArray($kindUint64,[new $Uint64(4095116996,2645914180),new $Uint64(2313432234,4182317920)]),$toNativeArray($kindUint64,[new $Uint64(823928949,3307392725),new $Uint64(2891790293,3080413753)]),$toNativeArray($kindUint64,[new $Uint64(2103653011,913015435),new $Uint64(3614737867,629291719)]),$toNativeArray($kindUint64,[new $Uint64(2925395868,33763735),new $Uint64(2259211166,4151403708)]),$toNativeArray($kindUint64,[new $Uint64(3656744835,42204668),new $Uint64(2824013958,3041770987)]),$toNativeArray($kindUint64,[new $Uint64(3497189219,3273981307),new $Uint64(3530017448,1654730086)]),$toNativeArray($kindUint64,[new $Uint64(1112001438,1509367405),new $Uint64(2206260905,1034206304)]),$toNativeArray($kindUint64,[new $Uint64(1390001797,4034192904),new $Uint64(2757826131,2366499704)]),$toNativeArray($kindUint64,[new $Uint64(1737502247,1821515659),new $Uint64(3447282664,1884382806)]),$toNativeArray($kindUint64,[new $Uint64(12197080,2749060022),new $Uint64(2154551665,1177739254)]),$toNativeArray($kindUint64,[new $Uint64(2162729998,3436325028),new $Uint64(2693189581,2545915891)]),$toNativeArray($kindUint64,[new $Uint64(1629670674,2147922637),new $Uint64(3366486976,4256136688)]),$toNativeArray($kindUint64,[new $Uint64(2037088343,537419649),new $Uint64(4208108721,1025203564)]),$toNativeArray($kindUint64,[new $Uint64(3420663862,1946500016),new $Uint64(2630067950,3325106787)]),$toNativeArray($kindUint64,[new $Uint64(3202088004,285641372),new $Uint64(3287584938,2008899836)]),$toNativeArray($kindUint64,[new $Uint64(4002610005,357051716),new $Uint64(4109481173,363641147)]),$toNativeArray($kindUint64,[new $Uint64(1964760341,760028234),new $Uint64(2568425733,764146629)]),$toNativeArray($kindUint64,[new $Uint64(3529692250,2023777117),new $Uint64(3210532166,2028925110)]),$toNativeArray($kindUint64,[new $Uint64(2264631665,382237748),new $Uint64(4013165208,388672740)]),$toNativeArray($kindUint64,[new $Uint64(3562878438,2923253152),new $Uint64(2508228255,242920462)]),$toNativeArray($kindUint64,[new $Uint64(2306114400,1506582793),new $Uint64(3135285318,3524876050)]),$toNativeArray($kindUint64,[new $Uint64(735159352,1883228491),new $Uint64(3919106648,2258611415)]),$toNativeArray($kindUint64,[new $Uint64(2070087331,1177017807),new $Uint64(2449441655,1411632134)]),$toNativeArray($kindUint64,[new $Uint64(440125516,397530434),new $Uint64(3061802069,690798344)]),$toNativeArray($kindUint64,[new $Uint64(550156895,496913043),new $Uint64(3827252586,1937239754)]),$toNativeArray($kindUint64,[new $Uint64(1417589883,1921183388),new $Uint64(2392032866,2284516670)]),$toNativeArray($kindUint64,[new $Uint64(3919471002,1327737411),new $Uint64(2990041083,708162189)]),$toNativeArray($kindUint64,[new $Uint64(1678113280,3807155412),new $Uint64(3737551353,4106428209)]),$toNativeArray($kindUint64,[new $Uint64(3733175360,2379472132),new $Uint64(2335969596,955904894)]),$toNativeArray($kindUint64,[new $Uint64(2518985552,2974340165),new $Uint64(2919961995,1194881118)]),$toNativeArray($kindUint64,[new $Uint64(1001248292,3717925207),new $Uint64(3649952494,419859574)]),$toNativeArray($kindUint64,[new $Uint64(3847005655,176219606),new $Uint64(2281220308,3483637705)]),$toNativeArray($kindUint64,[new $Uint64(1587531596,3441499980),new $Uint64(2851525386,59579836)]),$toNativeArray($kindUint64,[new $Uint64(1984414496,6907679),new $Uint64(3564406732,2221958443)]),$toNativeArray($kindUint64,[new $Uint64(703388148,4317299),new $Uint64(2227754207,3536207675)]),$toNativeArray($kindUint64,[new $Uint64(4100460657,5396624),new $Uint64(2784692759,3346517769)]),$toNativeArray($kindUint64,[new $Uint64(1904350349,1080487604),new $Uint64(3480865949,3109405388)]),$toNativeArray($kindUint64,[new $Uint64(3337702616,1212175664),new $Uint64(2175541218,2480249279)]),$toNativeArray($kindUint64,[new $Uint64(3098386446,1515219580),new $Uint64(2719426523,952827951)]),$toNativeArray($kindUint64,[new $Uint64(2799241233,4041508124),new $Uint64(3399283154,117293115)]),$toNativeArray($kindUint64,[new $Uint64(2425309718,1830659683),new $Uint64(4249103942,2294100042)]),$toNativeArray($kindUint64,[new $Uint64(2589560398,70420478),new $Uint64(2655689964,360070702)]),$toNativeArray($kindUint64,[new $Uint64(1089466849,2235509245),new $Uint64(3319612455,450088378)]),$toNativeArray($kindUint64,[new $Uint64(3509317209,3868128380),new $Uint64(4149515568,3783835944)]),$toNativeArray($kindUint64,[new $Uint64(2193323256,806967502),new $Uint64(2593447230,2364897465)]),$toNativeArray($kindUint64,[new $Uint64(3815395894,1008709377),new $Uint64(3241809038,808638183)]),$toNativeArray($kindUint64,[new $Uint64(3695503043,3408370369),new $Uint64(4052261297,3158281377)]),$toNativeArray($kindUint64,[new $Uint64(699076666,1593360569),new $Uint64(2532663311,363313125)]),$toNativeArray($kindUint64,[new $Uint64(1947587656,4139184359),new $Uint64(3165829138,3675366878)]),$toNativeArray($kindUint64,[new $Uint64(287000923,879013153),new $Uint64(3957286423,2446724950)]),$toNativeArray($kindUint64,[new $Uint64(3400601049,12512308),new $Uint64(2473304014,3139815829)]),$toNativeArray($kindUint64,[new $Uint64(1029525839,1089382210),new $Uint64(3091630018,1777286139)]),$toNativeArray($kindUint64,[new $Uint64(213165475,287985938),new $Uint64(3864537523,74124026)]),$toNativeArray($kindUint64,[new $Uint64(1206970245,3938087595),new $Uint64(2415335951,3804423900)]),$toNativeArray($kindUint64,[new $Uint64(1508712807,1701384022),new $Uint64(3019169939,3681788051)]),$toNativeArray($kindUint64,[new $Uint64(812149185,1052988204),new $Uint64(3773962424,3528493240)]),$toNativeArray($kindUint64,[new $Uint64(507593240,3342472187),new $Uint64(2358726515,2205308275)]),$toNativeArray($kindUint64,[new $Uint64(3855717022,4178090234),new $Uint64(2948408144,1682893519)]),$toNativeArray($kindUint64,[new $Uint64(3745904454,3075129145),new $Uint64(3685510180,2103616899)]),$toNativeArray($kindUint64,[new $Uint64(1804319372,848213891),new $Uint64(2303443862,3462244210)]),$toNativeArray($kindUint64,[new $Uint64(107915567,1060267364),new $Uint64(2879304828,2180321615)]),$toNativeArray($kindUint64,[new $Uint64(3356119931,251592381),new $Uint64(3599131035,2725402018)]),$toNativeArray($kindUint64,[new $Uint64(3171316780,3915341622),new $Uint64(2249456897,1166505349)]),$toNativeArray($kindUint64,[new $Uint64(742920504,599209732),new $Uint64(2811821121,2531873511)]),$toNativeArray($kindUint64,[new $Uint64(4149876102,749012165),new $Uint64(3514776401,4238583712)]),$toNativeArray($kindUint64,[new $Uint64(2593672563,3689358075),new $Uint64(2196735251,1038502084)]),$toNativeArray($kindUint64,[new $Uint64(3242090704,3537955770),new $Uint64(2745919064,224385781)]),$toNativeArray($kindUint64,[new $Uint64(831387909,127477416),new $Uint64(3432398830,280482227)]),$toNativeArray($kindUint64,[new $Uint64(4260460358,1233088594),new $Uint64(4290498537,2498086431)]),$toNativeArray($kindUint64,[new $Uint64(4273400459,3991905843),new $Uint64(2681561585,4245658579)]),$toNativeArray($kindUint64,[new $Uint64(4268008750,3916140480),new $Uint64(3351951982,2085847752)]),$toNativeArray($kindUint64,[new $Uint64(1040043642,2747691952),new $Uint64(4189939978,459826043)]),$toNativeArray($kindUint64,[new $Uint64(113156364,2791049294),new $Uint64(2618712486,1361133101)]),$toNativeArray($kindUint64,[new $Uint64(1215187279,3488811618),new $Uint64(3273390607,3848900024)]),$toNativeArray($kindUint64,[new $Uint64(1518984099,3287272698),new $Uint64(4091738259,3737383206)]),$toNativeArray($kindUint64,[new $Uint64(4170590534,1517674524),new $Uint64(2557336412,1798993591)]),$toNativeArray($kindUint64,[new $Uint64(4139496343,4044576803),new $Uint64(3196670515,2248741989)]),$toNativeArray($kindUint64,[new $Uint64(1953144957,3981979180),new $Uint64(3995838144,1737185663)]),$toNativeArray($kindUint64,[new $Uint64(2831328334,3025607900),new $Uint64(2497398840,1085741039)]),$toNativeArray($kindUint64,[new $Uint64(2465418594,1634526227),new $Uint64(3121748550,1357176299)]),$toNativeArray($kindUint64,[new $Uint64(2008031418,4190641431),new $Uint64(3902185687,3843954022)]),$toNativeArray($kindUint64,[new $Uint64(181277812,3692892718),new $Uint64(2438866054,4013084000)]),$toNativeArray($kindUint64,[new $Uint64(226597266,321148602),new $Uint64(3048582568,2868871352)]),$toNativeArray($kindUint64,[new $Uint64(283246582,2548919401),new $Uint64(3810728210,3586089190)]),$toNativeArray($kindUint64,[new $Uint64(3398254586,519332801),new $Uint64(2381705131,3315047567)]),$toNativeArray($kindUint64,[new $Uint64(3174076408,2796649650),new $Uint64(2977131414,3070067635)]),$toNativeArray($kindUint64,[new $Uint64(2893853686,3495812062),new $Uint64(3721414268,1690100896)]),$toNativeArray($kindUint64,[new $Uint64(1808658554,1111140715),new $Uint64(2325883917,3203796708)]),$toNativeArray($kindUint64,[new $Uint64(2260823192,3536409542),new $Uint64(2907354897,783520413)]),$toNativeArray($kindUint64,[new $Uint64(3899770815,125544631),new $Uint64(3634193621,2053142340)]),$toNativeArray($kindUint64,[new $Uint64(289873111,1689078130),new $Uint64(2271371013,1820084875)]),$toNativeArray($kindUint64,[new $Uint64(3583566861,1037605839),new $Uint64(2839213766,3348847917)]),$toNativeArray($kindUint64,[new $Uint64(1258233104,2370749123),new $Uint64(3549017208,2038576249)]),$toNativeArray($kindUint64,[new $Uint64(3470750250,1481718202),new $Uint64(2218135755,1274110155)]),$toNativeArray($kindUint64,[new $Uint64(3264695988,3999631400),new $Uint64(2772669694,518895870)]),$toNativeArray($kindUint64,[new $Uint64(1933386338,704571954),new $Uint64(3465837117,2796103486)]),$toNativeArray($kindUint64,[new $Uint64(134624637,1514099295),new $Uint64(2166148198,2284435591)]),$toNativeArray($kindUint64,[new $Uint64(3389506268,2966365943),new $Uint64(2707685248,708060840)]),$toNativeArray($kindUint64,[new $Uint64(4236882835,3707957429),new $Uint64(3384606560,885076050)]),$toNativeArray($kindUint64,[new $Uint64(3148619896,3561204962),new $Uint64(4230758200,1106345063)]),$toNativeArray($kindUint64,[new $Uint64(3578500171,2225753101),new $Uint64(2644223875,691465664)]),$toNativeArray($kindUint64,[new $Uint64(178157918,1708449553),new $Uint64(3305279843,4085557553)]),$toNativeArray($kindUint64,[new $Uint64(1296439221,4283045589),new $Uint64(4131599804,4033205117)]),$toNativeArray($kindUint64,[new $Uint64(1347145425,3213774405),new $Uint64(2582249878,373269550)]),$toNativeArray($kindUint64,[new $Uint64(3831415430,795992534),new $Uint64(3227812347,2614070585)]),$toNativeArray($kindUint64,[new $Uint64(1568043815,3142474316),new $Uint64(4034765434,2193846408)]),$toNativeArray($kindUint64,[new $Uint64(980027384,3574659183),new $Uint64(2521728396,2444895829)]),$toNativeArray($kindUint64,[new $Uint64(2298776055,173356683),new $Uint64(3152160495,3056119786)]),$toNativeArray($kindUint64,[new $Uint64(725986420,3437921326),new $Uint64(3940200619,2746407909)]),$toNativeArray($kindUint64,[new $Uint64(990612425,1217181),new $Uint64(2462625387,1179634031)]),$toNativeArray($kindUint64,[new $Uint64(164523707,1075263300),new $Uint64(3078281734,400800715)]),$toNativeArray($kindUint64,[new $Uint64(3426880106,270337301),new $Uint64(3847852167,2648484541)]),$toNativeArray($kindUint64,[new $Uint64(2678670978,1242702637),new $Uint64(2404907604,3265915574)]),$toNativeArray($kindUint64,[new $Uint64(1200855074,3700861945),new $Uint64(3006134505,4082394468)]),$toNativeArray($kindUint64,[new $Uint64(1501068843,2478593783),new $Uint64(3757668132,1881767613)]),$toNativeArray($kindUint64,[new $Uint64(1475038939,1012250202),new $Uint64(2348542582,3323588406)]),$toNativeArray($kindUint64,[new $Uint64(3991282322,191570929),new $Uint64(2935678228,2007001859)]),$toNativeArray($kindUint64,[new $Uint64(3915361078,2386947309),new $Uint64(3669597785,2508752324)]),$toNativeArray($kindUint64,[new $Uint64(299617026,418100244),new $Uint64(2293498615,4252324763)]),$toNativeArray($kindUint64,[new $Uint64(3595746754,2670108953),new $Uint64(2866873269,4241664129)]),$toNativeArray($kindUint64,[new $Uint64(1273457971,1190152543),new $Uint64(3583591587,2080854690)]),$toNativeArray($kindUint64,[new $Uint64(1869653056,206974427),new $Uint64(2239744742,763663269)]),$toNativeArray($kindUint64,[new $Uint64(3410808144,258718034),new $Uint64(2799680927,3102062734)]),$toNativeArray($kindUint64,[new $Uint64(2116026532,323397543),new $Uint64(3499601159,2803836594)]),$toNativeArray($kindUint64,[new $Uint64(2396258406,2349607112),new $Uint64(2187250724,3363010607)]),$toNativeArray($kindUint64,[new $Uint64(1921581184,789525242),new $Uint64(2734063405,4203763259)]),$toNativeArray($kindUint64,[new $Uint64(1328234656,986906553),new $Uint64(3417579257,2033478602)]),$toNativeArray($kindUint64,[new $Uint64(3807776968,1233633192),new $Uint64(4271974071,3615590076)]),$toNativeArray($kindUint64,[new $Uint64(232376957,771020745),new $Uint64(2669983794,3870356534)]),$toNativeArray($kindUint64,[new $Uint64(2437954844,2037517755),new $Uint64(3337479743,2690462019)]),$toNativeArray($kindUint64,[new $Uint64(1973701731,2546897194),new $Uint64(4171849679,2289335700)]),$toNativeArray($kindUint64,[new $Uint64(3381047230,1054939834),new $Uint64(2607406049,3041447548)]),$toNativeArray($kindUint64,[new $Uint64(4226309037,3466158440),new $Uint64(3259257562,580583963)]),$toNativeArray($kindUint64,[new $Uint64(4209144473,1111472579),new $Uint64(4074071952,2873213602)]),$toNativeArray($kindUint64,[new $Uint64(3704457119,3379024922),new $Uint64(2546294970,1795758501)]),$toNativeArray($kindUint64,[new $Uint64(1409345927,3150039328),new $Uint64(3182868713,97214479)]),$toNativeArray($kindUint64,[new $Uint64(687940585,2863807336),new $Uint64(3978585891,1195259923)]),$toNativeArray($kindUint64,[new $Uint64(4188059250,179266849),new $Uint64(2486616182,210166539)]),$toNativeArray($kindUint64,[new $Uint64(4161332238,2371567209),new $Uint64(3108270227,2410191822)]),$toNativeArray($kindUint64,[new $Uint64(3054181650,816975364),new $Uint64(3885337784,1938997954)]),$toNativeArray($kindUint64,[new $Uint64(2982605355,1584351426),new $Uint64(2428336115,1211873721)]),$toNativeArray($kindUint64,[new $Uint64(507031222,906697459),new $Uint64(3035420144,441100328)]),$toNativeArray($kindUint64,[new $Uint64(633789027,3280855472),new $Uint64(3794275180,551375410)]),$toNativeArray($kindUint64,[new $Uint64(1469859966,1513663758),new $Uint64(2371421987,2492093279)]),$toNativeArray($kindUint64,[new $Uint64(763583133,4039563345),new $Uint64(2964277484,2041374775)]),$toNativeArray($kindUint64,[new $Uint64(4175704389,1828228709),new $Uint64(3705346855,2551718468)]),$toNativeArray($kindUint64,[new $Uint64(462331595,1679513855),new $Uint64(2315841784,3205436779)]),$toNativeArray($kindUint64,[new $Uint64(3799139966,1025650495),new $Uint64(2894802230,4006795973)]),$toNativeArray($kindUint64,[new $Uint64(1527699485,3429546767),new $Uint64(3618502788,2861011319)]),$toNativeArray($kindUint64,[new $Uint64(2565424914,2680337641),new $Uint64(2261564242,3935615722)]),$toNativeArray($kindUint64,[new $Uint64(1059297495,1202938404),new $Uint64(2826955303,2772036005)]),$toNativeArray($kindUint64,[new $Uint64(2397863693,429931181),new $Uint64(3533694129,2391303182)]),$toNativeArray($kindUint64,[new $Uint64(424922984,805577900),new $Uint64(2208558830,4178919049)]),$toNativeArray($kindUint64,[new $Uint64(1604895554,1006972375),new $Uint64(2760698538,3076165163)]),$toNativeArray($kindUint64,[new $Uint64(932377618,3406199117),new $Uint64(3450873173,1697722806)]),$toNativeArray($kindUint64,[new $Uint64(3803961483,3202616272),new $Uint64(2156795733,1597947665)]),$toNativeArray($kindUint64,[new $Uint64(1533726382,2929528516),new $Uint64(2695994666,3071176406)]),$toNativeArray($kindUint64,[new $Uint64(4064641626,1514426997),new $Uint64(3369993333,1691486859)]),$toNativeArray($kindUint64,[new $Uint64(4007060208,4040517394),new $Uint64(4212491666,3188100398)]),$toNativeArray($kindUint64,[new $Uint64(1430670806,2525323371),new $Uint64(2632807291,3066304573)]),$toNativeArray($kindUint64,[new $Uint64(2862080332,1009170566),new $Uint64(3291009114,2759138892)]),$toNativeArray($kindUint64,[new $Uint64(3577600415,1261463208),new $Uint64(4113761393,1301439967)]),$toNativeArray($kindUint64,[new $Uint64(3846612995,2399027241),new $Uint64(2571100870,3497754539)]),$toNativeArray($kindUint64,[new $Uint64(3734524420,1925042227),new $Uint64(3213876088,2224709526)]),$toNativeArray($kindUint64,[new $Uint64(2520671877,2406302784),new $Uint64(4017345110,2780886908)]),$toNativeArray($kindUint64,[new $Uint64(3722903571,2040810152),new $Uint64(2510840694,664312493)]),$toNativeArray($kindUint64,[new $Uint64(1432403992,1477270866),new $Uint64(3138550867,2977874265)]),$toNativeArray($kindUint64,[new $Uint64(2864246814,1846588582),new $Uint64(3923188584,2648601007)]),$toNativeArray($kindUint64,[new $Uint64(3400766995,80376040),new $Uint64(2451992865,1655375629)]),$toNativeArray($kindUint64,[new $Uint64(1029733271,3321695522),new $Uint64(3064991081,3142961361)]),$toNativeArray($kindUint64,[new $Uint64(2360908413,3078377578),new $Uint64(3831238852,707476229)]),$toNativeArray($kindUint64,[new $Uint64(2012438670,2460856898),new $Uint64(2394524282,2589656291)]),$toNativeArray($kindUint64,[new $Uint64(1441806514,928587475),new $Uint64(2993155353,1089586716)]),$toNativeArray($kindUint64,[new $Uint64(1802258142,3308217992),new $Uint64(3741444191,2435725219)]),$toNativeArray($kindUint64,[new $Uint64(589540427,993894421),new $Uint64(2338402619,3132940998)]),$toNativeArray($kindUint64,[new $Uint64(2884409182,168626202),new $Uint64(2923003274,2842434423)]),$toNativeArray($kindUint64,[new $Uint64(2531769653,2358266401),new $Uint64(3653754093,1405559381)]),$toNativeArray($kindUint64,[new $Uint64(2119226945,2010787412),new $Uint64(2283596308,1415345525)]),$toNativeArray($kindUint64,[new $Uint64(3722775505,3587226089),new $Uint64(2854495385,1769181906)]),$toNativeArray($kindUint64,[new $Uint64(2505985734,1262807140),new $Uint64(3568119231,3285219207)]),$toNativeArray($kindUint64,[new $Uint64(3176853819,4010479934),new $Uint64(2230074519,3663874740)]),$toNativeArray($kindUint64,[new $Uint64(3971067274,3939358094),new $Uint64(2787593149,3506101601)]),$toNativeArray($kindUint64,[new $Uint64(1742608621,2776713970),new $Uint64(3484491437,1161401530)]),$toNativeArray($kindUint64,[new $Uint64(2162872212,2272317143),new $Uint64(2177807148,1262746868)]),$toNativeArray($kindUint64,[new $Uint64(2703590265,2840396429),new $Uint64(2722258935,1578433585)]),$toNativeArray($kindUint64,[new $Uint64(158262360,329270064),new $Uint64(3402823669,899300158)]),$toNativeArray($kindUint64,[new $Uint64(2345311598,411587580),new $Uint64(4253529586,2197867021)]),$toNativeArray($kindUint64,[new $Uint64(2002690660,3478467709),new $Uint64(2658455991,2447408712)]),$toNativeArray($kindUint64,[new $Uint64(2503363326,53117341),new $Uint64(3323069989,1985519066)]),$toNativeArray($kindUint64,[new $Uint64(981720509,2213880324),new $Uint64(4153837486,3555640657)]),$toNativeArray($kindUint64,[new $Uint64(3297929878,1920546114),new $Uint64(2596148429,1148533586)]),$toNativeArray($kindUint64,[new $Uint64(1974928700,253198995),new $Uint64(3245185536,2509408807)]),$toNativeArray($kindUint64,[new $Uint64(1394919051,316498744),new $Uint64(4056481920,3136761009)]),$toNativeArray($kindUint64,[new $Uint64(3556178966,3955908099),new $Uint64(2535301200,1960475630)]),$toNativeArray($kindUint64,[new $Uint64(2297740060,2797401476),new $Uint64(3169126500,2450594538)]),$toNativeArray($kindUint64,[new $Uint64(724691427,3496751845),new $Uint64(3961408125,3063243173)]),$toNativeArray($kindUint64,[new $Uint64(989803054,1648598991),new $Uint64(2475880078,2451397895)]),$toNativeArray($kindUint64,[new $Uint64(163511993,4208232386),new $Uint64(3094850098,916763721)]),$toNativeArray($kindUint64,[new $Uint64(1278131816,2039065011),new $Uint64(3868562622,3293438299)]),$toNativeArray($kindUint64,[new $Uint64(261961473,1274415632),new $Uint64(2417851639,984657113)]),$toNativeArray($kindUint64,[new $Uint64(1401193665,2666761364),new $Uint64(3022314549,157079567)]),$toNativeArray($kindUint64,[new $Uint64(677750258,112226233),new $Uint64(3777893186,1270091283)]),$toNativeArray($kindUint64,[new $Uint64(4181690295,1143883219),new $Uint64(2361183241,1867548875)]),$toNativeArray($kindUint64,[new $Uint64(4153371045,356112200),new $Uint64(2951479051,3408177918)]),$toNativeArray($kindUint64,[new $Uint64(3044230158,1518882075),new $Uint64(3689348814,3186480574)]),$toNativeArray($kindUint64,[new $Uint64(828902024,4170526768),new $Uint64(2305843009,917808535)]),$toNativeArray($kindUint64,[new $Uint64(4257353003,918191165),new $Uint64(2882303761,2221002492)]),$toNativeArray($kindUint64,[new $Uint64(1026723958,73997132),new $Uint64(3602879701,3849994940)]),$toNativeArray($kindUint64,[new $Uint64(2789186121,3267473679),new $Uint64(2251799813,2943117749)]),$toNativeArray($kindUint64,[new $Uint64(265257180,863116627),new $Uint64(2814749767,457671715)]),$toNativeArray($kindUint64,[new $Uint64(3552796947,1078895784),new $Uint64(3518437208,3793315115)]),$toNativeArray($kindUint64,[new $Uint64(1683627180,137438953),new $Uint64(2199023255,2370821947)]),$toNativeArray($kindUint64,[new $Uint64(1030792151,171798691),new $Uint64(2748779069,1889785610)]),$toNativeArray($kindUint64,[new $Uint64(3435973836,3435973836),new $Uint64(3435973836,3435973836)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(2147483648,0)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(2684354560,0)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(3355443200,0)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(4194304000,0)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(2621440000,0)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(3276800000,0)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(4096000000,0)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(2560000000,0)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(3200000000,0)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(4000000000,0)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(2500000000,0)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(3125000000,0)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(3906250000,0)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(2441406250,0)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(3051757812,2147483648)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(3814697265,2684354560)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(2384185791,67108864)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(2980232238,3305111552)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(3725290298,1983905792)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(2328306436,2313682944)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(2910383045,2892103680)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(3637978807,393904128)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(2273736754,1856802816)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(2842170943,173519872)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(3552713678,3438125312)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(2220446049,1075086496)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(2775557561,2417599944)]),$toNativeArray($kindUint64,[new $Uint64(0,0),new $Uint64(3469446951,4095741754)]),$toNativeArray($kindUint64,[new $Uint64(1073741824,0),new $Uint64(2168404344,4170451332)]),$toNativeArray($kindUint64,[new $Uint64(1342177280,0),new $Uint64(2710505431,918096869)]),$toNativeArray($kindUint64,[new $Uint64(2751463424,0),new $Uint64(3388131789,73879262)]),$toNativeArray($kindUint64,[new $Uint64(1291845632,0),new $Uint64(4235164736,1166090902)]),$toNativeArray($kindUint64,[new $Uint64(4028628992,0),new $Uint64(2646977960,728806813)]),$toNativeArray($kindUint64,[new $Uint64(1814560768,0),new $Uint64(3308722450,911008517)]),$toNativeArray($kindUint64,[new $Uint64(3341942784,0),new $Uint64(4135903062,3286244294)]),$toNativeArray($kindUint64,[new $Uint64(1014972416,0),new $Uint64(2584939414,980160860)]),$toNativeArray($kindUint64,[new $Uint64(1268715520,0),new $Uint64(3231174267,3372684723)]),$toNativeArray($kindUint64,[new $Uint64(512152576,0),new $Uint64(4038967834,3142114080)]),$toNativeArray($kindUint64,[new $Uint64(320095360,0),new $Uint64(2524354896,3037563124)]),$toNativeArray($kindUint64,[new $Uint64(400119200,0),new $Uint64(3155443620,3796953905)]),$toNativeArray($kindUint64,[new $Uint64(1573890824,0),new $Uint64(3944304526,451225085)]),$toNativeArray($kindUint64,[new $Uint64(1520552677,0),new $Uint64(2465190328,3503241150)]),$toNativeArray($kindUint64,[new $Uint64(4048174494,1073741824),new $Uint64(3081487911,84084141)]),$toNativeArray($kindUint64,[new $Uint64(1838992645,3489660928),new $Uint64(3851859888,3326330649)]),$toNativeArray($kindUint64,[new $Uint64(3833724963,2717908992),new $Uint64(2407412430,2078956655)]),$toNativeArray($kindUint64,[new $Uint64(3718414380,2323644416),new $Uint64(3009265538,451212171)]),$toNativeArray($kindUint64,[new $Uint64(3574276151,2904555520),new $Uint64(3761581922,2711498862)]),$toNativeArray($kindUint64,[new $Uint64(1160180770,3425959936),new $Uint64(2350988701,2768428613)]),$toNativeArray($kindUint64,[new $Uint64(2523967787,2134966272),new $Uint64(2938735877,239310294)]),$toNativeArray($kindUint64,[new $Uint64(1007476086,1594966016),new $Uint64(3673419846,1372879692)]),$toNativeArray($kindUint64,[new $Uint64(2777156201,4218079232),new $Uint64(2295887403,4079275279)]),$toNativeArray($kindUint64,[new $Uint64(2397703428,2051373568),new $Uint64(2869859254,4025352275)]),$toNativeArray($kindUint64,[new $Uint64(1923387461,2564216960),new $Uint64(3587324068,2884206696)]),$toNativeArray($kindUint64,[new $Uint64(1202117163,2139506512),new $Uint64(2242077542,3950112833)]),$toNativeArray($kindUint64,[new $Uint64(2576388278,1600641316),new $Uint64(2802596928,2790157393)]),$toNativeArray($kindUint64,[new $Uint64(4294227171,4148285293),new $Uint64(3503246160,3487696741)]),$toNativeArray($kindUint64,[new $Uint64(3220762894,2055807396),new $Uint64(2189528850,2179810463)]),$toNativeArray($kindUint64,[new $Uint64(2952211794,422275597),new $Uint64(2736911063,577279431)]),$toNativeArray($kindUint64,[new $Uint64(2616522918,2675328144),new $Uint64(3421138828,3942824761)]),$toNativeArray($kindUint64,[new $Uint64(49428176,1196676532),new $Uint64(4276423536,633563656)]),$toNativeArray($kindUint64,[new $Uint64(30892610,747922832),new $Uint64(2672764710,395977285)]),$toNativeArray($kindUint64,[new $Uint64(1112357586,3082387189),new $Uint64(3340955887,2642455254)]),$toNativeArray($kindUint64,[new $Uint64(3537930631,1705500338),new $Uint64(4176194859,2229327243)]),$toNativeArray($kindUint64,[new $Uint64(1674335732,2676550447),new $Uint64(2610121787,856458615)]),$toNativeArray($kindUint64,[new $Uint64(1019177841,3345688059),new $Uint64(3262652233,4291798741)]),$toNativeArray($kindUint64,[new $Uint64(2347714126,960884602),new $Uint64(4078315292,2143522954)]),$toNativeArray($kindUint64,[new $Uint64(2541063152,3821778348),new $Uint64(2548947057,3487185494)]),$toNativeArray($kindUint64,[new $Uint64(1028845293,482255639),new $Uint64(3186183822,1137756396)]),$toNativeArray($kindUint64,[new $Uint64(1286056616,1676561373),new $Uint64(3982729777,3569679143)]),$toNativeArray($kindUint64,[new $Uint64(2414398121,1047850858),new $Uint64(2489206111,620436728)]),$toNativeArray($kindUint64,[new $Uint64(3017997651,2383555396),new $Uint64(3111507638,3996771382)]),$toNativeArray($kindUint64,[new $Uint64(1625013416,1905702422),new $Uint64(3889384548,2848480580)]),$toNativeArray($kindUint64,[new $Uint64(3163117033,1191064013),new $Uint64(2430865342,3927784010)]),$toNativeArray($kindUint64,[new $Uint64(1806412643,2562571841),new $Uint64(3038581678,2762246365)]),$toNativeArray($kindUint64,[new $Uint64(3331757628,2129472977),new $Uint64(3798227098,1305324308)]),$toNativeArray($kindUint64,[new $Uint64(4229832165,3478404258),new $Uint64(2373891936,1889569516)]),$toNativeArray($kindUint64,[new $Uint64(992322911,1126779851),new $Uint64(2967364920,2361961896)]),$toNativeArray($kindUint64,[new $Uint64(1240403639,334732990),new $Uint64(3709206150,2952452370)]),$toNativeArray($kindUint64,[new $Uint64(1848994098,1819820855),new $Uint64(2318253844,771540907)]),$toNativeArray($kindUint64,[new $Uint64(1237500799,127292420),new $Uint64(2897817305,964426134)]),$toNativeArray($kindUint64,[new $Uint64(3694359646,3380340998),new $Uint64(3622271631,2279274491)]),$toNativeArray($kindUint64,[new $Uint64(1772103867,1038971299),new $Uint64(2263919769,3035159293)]),$toNativeArray($kindUint64,[new $Uint64(3288871658,224972300),new $Uint64(2829899712,572723644)]),$toNativeArray($kindUint64,[new $Uint64(4111089572,2428699024),new $Uint64(3537374640,715904555)]),$toNativeArray($kindUint64,[new $Uint64(2032560070,3665420538),new $Uint64(2210859150,447440347)]),$toNativeArray($kindUint64,[new $Uint64(1466958264,2434292024),new $Uint64(2763573937,2706784082)]),$toNativeArray($kindUint64,[new $Uint64(3981181478,3042865030),new $Uint64(3454467422,162254630)]),$toNativeArray($kindUint64,[new $Uint64(1414496600,828048820),new $Uint64(2159042138,3322634616)]),$toNativeArray($kindUint64,[new $Uint64(1768120750,1035061025),new $Uint64(2698802673,2005809622)]),$toNativeArray($kindUint64,[new $Uint64(62667289,3441309929),new $Uint64(3373503341,3581003852)]),$toNativeArray($kindUint64,[new $Uint64(78334112,1080411939),new $Uint64(4216879177,1255029343)]),$toNativeArray($kindUint64,[new $Uint64(1659571556,675257462),new $Uint64(2635549485,3468747899)]),$toNativeArray($kindUint64,[new $Uint64(1000722621,844071828),new $Uint64(3294436857,1114709402)]),$toNativeArray($kindUint64,[new $Uint64(3398386924,2128831609),new $Uint64(4118046071,2467128576)]),$toNativeArray($kindUint64,[new $Uint64(2123991827,3478003403),new $Uint64(2573778794,3152568096)]),$toNativeArray($kindUint64,[new $Uint64(2654989784,3273762430),new $Uint64(3217223493,1793226472)]),$toNativeArray($kindUint64,[new $Uint64(3318737230,4092203038),new $Uint64(4021529366,3315274914)]),$toNativeArray($kindUint64,[new $Uint64(3147952593,1483885074),new $Uint64(2513455854,998304997)]),$toNativeArray($kindUint64,[new $Uint64(713715269,2928598167),new $Uint64(3141819817,3395364895)]),$toNativeArray($kindUint64,[new $Uint64(4113369559,439522237),new $Uint64(3927274772,1022980646)]),$toNativeArray($kindUint64,[new $Uint64(1497114150,1885314134),new $Uint64(2454546732,2786846552)]),$toNativeArray($kindUint64,[new $Uint64(1871392688,209159020),new $Uint64(3068183415,3483558190)]),$toNativeArray($kindUint64,[new $Uint64(191757212,261448775),new $Uint64(3835229269,3280705914)]),$toNativeArray($kindUint64,[new $Uint64(1193590081,2310889132),new $Uint64(2397018293,2587312108)]),$toNativeArray($kindUint64,[new $Uint64(1491987601,3962353239),new $Uint64(2996272867,12914663)]),$toNativeArray($kindUint64,[new $Uint64(791242678,1731716077),new $Uint64(3745341083,3237368801)]),$toNativeArray($kindUint64,[new $Uint64(3178881234,8580724),new $Uint64(2340838177,1486484588)]),$toNativeArray($kindUint64,[new $Uint64(3973601542,2158209553),new $Uint64(2926047721,2931847559)]),$toNativeArray($kindUint64,[new $Uint64(3893260104,550278293),new $Uint64(3657559652,443583977)]),$toNativeArray($kindUint64,[new $Uint64(822674829,343923933),new $Uint64(2285974782,2424723634)]),$toNativeArray($kindUint64,[new $Uint64(3175827184,1503646741),new $Uint64(2857468478,883420894)]),$toNativeArray($kindUint64,[new $Uint64(1822300332,1879558426),new $Uint64(3571835597,3251759766)]),$toNativeArray($kindUint64,[new $Uint64(65195883,3322207664),new $Uint64(2232397248,2569220766)]),$toNativeArray($kindUint64,[new $Uint64(2228978502,3079017756),new $Uint64(2790496560,3211525957)]),$toNativeArray($kindUint64,[new $Uint64(3859964952,1701288547),new $Uint64(3488120700,4014407446)]),$toNativeArray($kindUint64,[new $Uint64(1338736271,1063305342),new $Uint64(2180075438,361521006)]),$toNativeArray($kindUint64,[new $Uint64(3820903987,255389853),new $Uint64(2725094297,2599384905)]),$toNativeArray($kindUint64,[new $Uint64(1554904511,3540462789),new $Uint64(3406367872,28005660)]),$toNativeArray($kindUint64,[new $Uint64(1943630639,3351836662),new $Uint64(4257959840,35007075)]),$toNativeArray($kindUint64,[new $Uint64(677898237,3705510650),new $Uint64(2661224900,21879422)]),$toNativeArray($kindUint64,[new $Uint64(2994856445,1410662840),new $Uint64(3326531125,27349277)]),$toNativeArray($kindUint64,[new $Uint64(522345084,2837070374),new $Uint64(4158163906,1107928421)]),$toNativeArray($kindUint64,[new $Uint64(863336589,3920652632),new $Uint64(2598852441,1766197087)]),$toNativeArray($kindUint64,[new $Uint64(5428913,1679590318),new $Uint64(3248565551,3281488183)]),$toNativeArray($kindUint64,[new $Uint64(3228011613,3173229722),new $Uint64(4060706939,3028118404)]),$toNativeArray($kindUint64,[new $Uint64(4164990906,2520139488),new $Uint64(2537941837,1355703090)]),$toNativeArray($kindUint64,[new $Uint64(3058754985,1002690712),new $Uint64(3172427296,2768370687)]),$toNativeArray($kindUint64,[new $Uint64(2749701907,2327105214),new $Uint64(3965534120,3460463359)]),$toNativeArray($kindUint64,[new $Uint64(3329176428,917569847),new $Uint64(2478458825,2162789599)]),$toNativeArray($kindUint64,[new $Uint64(3087728711,1146962308),new $Uint64(3098073531,3777228823)]),$toNativeArray($kindUint64,[new $Uint64(2785919065,359961061),new $Uint64(3872591914,3647794205)]),$toNativeArray($kindUint64,[new $Uint64(2278070327,2909330223),new $Uint64(2420369946,3353613202)]),$toNativeArray($kindUint64,[new $Uint64(700104261,2562920955),new $Uint64(3025462433,2044532855)]),$toNativeArray($kindUint64,[new $Uint64(4096355798,4277393018),new $Uint64(3781828041,3629407892)]),$toNativeArray($kindUint64,[new $Uint64(412738726,1599628812),new $Uint64(2363642526,657767197)]),$toNativeArray($kindUint64,[new $Uint64(1589665231,4147019663),new $Uint64(2954553157,2969692644)]),$toNativeArray($kindUint64,[new $Uint64(1987081539,4110032755),new $Uint64(3693191447,490890333)]),$toNativeArray($kindUint64,[new $Uint64(1778796874,2031899560),new $Uint64(2308244654,1917419194)]),$toNativeArray($kindUint64,[new $Uint64(76012445,392390802),new $Uint64(2885305818,249290345)]),$toNativeArray($kindUint64,[new $Uint64(1168757380,1564230326),new $Uint64(3606632272,2459096579)]),$toNativeArray($kindUint64,[new $Uint64(193602450,3125127602),new $Uint64(2254145170,1536935362)]),$toNativeArray($kindUint64,[new $Uint64(2389486711,1758925854),new $Uint64(2817681462,4068652850)]),$toNativeArray($kindUint64,[new $Uint64(839374741,1124915494),new $Uint64(3522101828,2938332415)]),$toNativeArray($kindUint64,[new $Uint64(2135221949,1239943096),new $Uint64(2201313642,3983941407)]),$toNativeArray($kindUint64,[new $Uint64(1595285612,2623670694),new $Uint64(2751642053,2832443111)]),$toNativeArray($kindUint64,[new $Uint64(920365191,3279588367),new $Uint64(3439552567,319328417)]),$toNativeArray($kindUint64,[new $Uint64(3259582804,3660355465),new $Uint64(2149720354,1810192996)]),$toNativeArray($kindUint64,[new $Uint64(4074478506,280477036),new $Uint64(2687150443,115257597)]),$toNativeArray($kindUint64,[new $Uint64(1871872660,2498079943),new $Uint64(3358938053,3365297469)]),$toNativeArray($kindUint64,[new $Uint64(3413582649,3122599929),new $Uint64(4198672567,985396364)]),$toNativeArray($kindUint64,[new $Uint64(4280972804,341012219),new $Uint64(2624170354,2226485463)]),$toNativeArray($kindUint64,[new $Uint64(4277474181,426265274),new $Uint64(3280212943,635623181)]),$toNativeArray($kindUint64,[new $Uint64(2125617254,1606573417),new $Uint64(4100266178,4015754449)]),$toNativeArray($kindUint64,[new $Uint64(4012865343,4225333857),new $Uint64(2562666361,3583588354)]),$toNativeArray($kindUint64,[new $Uint64(2868598031,4207925498),new $Uint64(3203332952,1258259971)]),$toNativeArray($kindUint64,[new $Uint64(2512005715,4186165048),new $Uint64(4004166190,1572824964)]),$toNativeArray($kindUint64,[new $Uint64(3717487220,2079482243),new $Uint64(2502603868,4204241074)]),$toNativeArray($kindUint64,[new $Uint64(2499375377,2599352804),new $Uint64(3128254836,960334047)]),$toNativeArray($kindUint64,[new $Uint64(2050477398,27965533),new $Uint64(3910318545,1200417559)]),$toNativeArray($kindUint64,[new $Uint64(2892161109,3238703930),new $Uint64(2443949090,3434615534)]),$toNativeArray($kindUint64,[new $Uint64(1467717739,827154441),new $Uint64(3054936363,2145785770)]),$toNativeArray($kindUint64,[new $Uint64(3982130821,4255168523),new $Uint64(3818670454,1608490388)]),$toNativeArray($kindUint64,[new $Uint64(341348115,3196351239),new $Uint64(2386669033,4226531965)]),$toNativeArray($kindUint64,[new $Uint64(1500426968,2921697224),new $Uint64(2983336292,2061939484)]),$toNativeArray($kindUint64,[new $Uint64(1875533710,3652121531),new $Uint64(3729170365,2577424355)]),$toNativeArray($kindUint64,[new $Uint64(635337657,1208834132),new $Uint64(2330731478,2147761134)]),$toNativeArray($kindUint64,[new $Uint64(2941655719,2584784490),new $Uint64(2913414348,537217769)]),$toNativeArray($kindUint64,[new $Uint64(455844177,2157238788),new $Uint64(3641767935,671522212)]),$toNativeArray($kindUint64,[new $Uint64(2432386258,4032628802),new $Uint64(2276104959,2030314118)]),$toNativeArray($kindUint64,[new $Uint64(892999175,2893302355),new $Uint64(2845131199,1464150824)]),$toNativeArray($kindUint64,[new $Uint64(1116248969,2542886120),new $Uint64(3556413999,756446706)]),$toNativeArray($kindUint64,[new $Uint64(1771397429,4273658385),new $Uint64(2222758749,2083391927)]),$toNativeArray($kindUint64,[new $Uint64(1140504963,2120847509),new $Uint64(2778448436,3677981733)]),$toNativeArray($kindUint64,[new $Uint64(2499373028,1577317563),new $Uint64(3473060546,302509870)]),$toNativeArray($kindUint64,[new $Uint64(488366318,3133307125),new $Uint64(2170662841,1262810493)]),$toNativeArray($kindUint64,[new $Uint64(1684199722,1769150258),new $Uint64(2713328551,2652254940)]),$toNativeArray($kindUint64,[new $Uint64(2105249653,63954174),new $Uint64(3391660689,2241576851)]),$toNativeArray($kindUint64,[new $Uint64(1557820242,1153684542),new $Uint64(4239575861,3875712888)]),$toNativeArray($kindUint64,[new $Uint64(973637651,1794794663),new $Uint64(2649734913,2959191467)]),$toNativeArray($kindUint64,[new $Uint64(143305240,1169751504),new $Uint64(3312168642,477763862)]),$toNativeArray($kindUint64,[new $Uint64(2326615198,1462189381),new $Uint64(4140210802,2744688475)]),$toNativeArray($kindUint64,[new $Uint64(917263586,4135093835),new $Uint64(2587631751,2789172121)]),$toNativeArray($kindUint64,[new $Uint64(2220321307,3021383645),new $Uint64(3234539689,2412723327)]),$toNativeArray($kindUint64,[new $Uint64(1701659810,2702987733),new $Uint64(4043174611,4089645983)]),$toNativeArray($kindUint64,[new $Uint64(2674150117,2763109157),new $Uint64(2526984132,2019157827)]),$toNativeArray($kindUint64,[new $Uint64(2268945823,232660974),new $Uint64(3158730165,2523947284)]),$toNativeArray($kindUint64,[new $Uint64(2836182278,3512051690),new $Uint64(3948412706,4228675929)]),$toNativeArray($kindUint64,[new $Uint64(162001188,1121290482),new $Uint64(2467757941,3716664280)]),$toNativeArray($kindUint64,[new $Uint64(202501485,1401613103),new $Uint64(3084697427,1424604878)]),$toNativeArray($kindUint64,[new $Uint64(2400610504,2825758202),new $Uint64(3855871784,707014273)]),$toNativeArray($kindUint64,[new $Uint64(4184736125,1766098876),new $Uint64(2409919865,441883920)]),$toNativeArray($kindUint64,[new $Uint64(935952860,3281365420),new $Uint64(3012399831,1626096725)]),$toNativeArray($kindUint64,[new $Uint64(2243682899,4101706775),new $Uint64(3765499789,958879082)]),$toNativeArray($kindUint64,[new $Uint64(2476043636,2026695822),new $Uint64(2353437368,1136170338)]),$toNativeArray($kindUint64,[new $Uint64(947570897,2533369778),new $Uint64(2941796710,1420212923)]),$toNativeArray($kindUint64,[new $Uint64(110721797,4240454046),new $Uint64(3677245887,3922749802)]),$toNativeArray($kindUint64,[new $Uint64(1142942947,3187154691),new $Uint64(2298278679,4062331362)]),$toNativeArray($kindUint64,[new $Uint64(3576162332,2910201539),new $Uint64(2872848349,4004172378)]),$toNativeArray($kindUint64,[new $Uint64(2322719267,3637751924),new $Uint64(3591060437,1783990001)]),$toNativeArray($kindUint64,[new $Uint64(4136054102,1736724041),new $Uint64(2244412773,1651864662)]),$toNativeArray($kindUint64,[new $Uint64(3022583980,23421403),new $Uint64(2805515966,3138572652)]),$toNativeArray($kindUint64,[new $Uint64(3778229975,29276754),new $Uint64(3506894958,1775732167)]),$toNativeArray($kindUint64,[new $Uint64(3972006470,1628910707),new $Uint64(2191809349,36090780)]),$toNativeArray($kindUint64,[new $Uint64(670040791,4183622032),new $Uint64(2739761686,1118855300)]),$toNativeArray($kindUint64,[new $Uint64(837550989,4155785716),new $Uint64(3424702107,3546052773)]),$toNativeArray($kindUint64,[new $Uint64(2120680561,1973506673),new $Uint64(4280877634,3358824142)]),$toNativeArray($kindUint64,[new $Uint64(251683526,3917796230),new $Uint64(2675548521,3173006913)]),$toNativeArray($kindUint64,[new $Uint64(1388346232,2749761640),new $Uint64(3344435652,745033169)]),$toNativeArray($kindUint64,[new $Uint64(2809174614,3437202050),new $Uint64(4180544565,931291461)]),$toNativeArray($kindUint64,[new $Uint64(2292605046,1074509457),new $Uint64(2612840353,1118928075)]),$toNativeArray($kindUint64,[new $Uint64(1792014483,3490620469),new $Uint64(3266050441,2472401918)]),$toNativeArray($kindUint64,[new $Uint64(92534456,3289533763),new $Uint64(4082563051,4164244222)]),$toNativeArray($kindUint64,[new $Uint64(3279059507,2055958602),new $Uint64(2551601907,2065781726)]),$toNativeArray($kindUint64,[new $Uint64(1951340736,1496206428),new $Uint64(3189502384,1508485334)]),$toNativeArray($kindUint64,[new $Uint64(291692272,1870258035),new $Uint64(3986877980,1885606668)]),$toNativeArray($kindUint64,[new $Uint64(2329791318,1168911272),new $Uint64(2491798737,3325987815)]),$toNativeArray($kindUint64,[new $Uint64(1838497323,3608622738),new $Uint64(3114748422,936259297)]),$toNativeArray($kindUint64,[new $Uint64(3371863478,3437036599),new $Uint64(3893435527,3317807769)]),$toNativeArray($kindUint64,[new $Uint64(496801938,1074406050),new $Uint64(2433397204,3684242592)]),$toNativeArray($kindUint64,[new $Uint64(621002422,3490491211),new $Uint64(3041746506,310335944)]),$toNativeArray($kindUint64,[new $Uint64(776253028,2215630365),new $Uint64(3802183132,2535403578)]),$toNativeArray($kindUint64,[new $Uint64(1558899966,3532252626),new $Uint64(2376364457,3732110884)]),$toNativeArray($kindUint64,[new $Uint64(1948624958,2267832135),new $Uint64(2970455572,1443913133)]),$toNativeArray($kindUint64,[new $Uint64(3509523022,687306521),new $Uint64(3713069465,1804891416)]),$toNativeArray($kindUint64,[new $Uint64(2193451888,3650792047),new $Uint64(2320668415,3812411695)]),$toNativeArray($kindUint64,[new $Uint64(1668073037,268522763),new $Uint64(2900835519,3691772795)]),$toNativeArray($kindUint64,[new $Uint64(1011349472,1409395278),new $Uint64(3626044399,3540974170)]),$toNativeArray($kindUint64,[new $Uint64(1705835244,880872049),new $Uint64(2266277749,3823721592)]),$toNativeArray($kindUint64,[new $Uint64(2132294055,1101090061),new $Uint64(2832847187,1558426518)]),$toNativeArray($kindUint64,[new $Uint64(517883921,302620752),new $Uint64(3541058984,874291324)]),$toNativeArray($kindUint64,[new $Uint64(2471161098,2873492530),new $Uint64(2213161865,546432077)]),$toNativeArray($kindUint64,[new $Uint64(4162693197,1444382015),new $Uint64(2766452331,1756781920)]),$toNativeArray($kindUint64,[new $Uint64(908399200,2879219342),new $Uint64(3458065414,1122235577)]),$toNativeArray($kindUint64,[new $Uint64(3252104060,1799512089),new $Uint64(2161290883,3922622707)]),$toNativeArray($kindUint64,[new $Uint64(2991388251,2249390111),new $Uint64(2701613604,3829536560)]),$toNativeArray($kindUint64,[new $Uint64(3739235314,1737995815),new $Uint64(3377017006,491953404)]),$toNativeArray($kindUint64,[new $Uint64(379076847,25011121),new $Uint64(4221271257,2762425404)]),$toNativeArray($kindUint64,[new $Uint64(2384406677,1626244686),new $Uint64(2638294536,115903141)]),$toNativeArray($kindUint64,[new $Uint64(4054250170,3106547682),new $Uint64(3297868170,144878926)]),$toNativeArray($kindUint64,[new $Uint64(2920329065,1735700955),new $Uint64(4122335212,2328582306)]),$toNativeArray($kindUint64,[new $Uint64(2898947489,3769167657),new $Uint64(2576459507,3602847589)]),$toNativeArray($kindUint64,[new $Uint64(402458890,1490234099),new $Uint64(3220574384,3429817663)]),$toNativeArray($kindUint64,[new $Uint64(3724299084,4010276272),new $Uint64(4025717980,4287272078)]),$toNativeArray($kindUint64,[new $Uint64(1253945104,358939022),new $Uint64(2516073738,532061401)]),$toNativeArray($kindUint64,[new $Uint64(2641173204,448673777),new $Uint64(3145092172,2812560399)]),$toNativeArray($kindUint64,[new $Uint64(2227724681,560842221),new $Uint64(3931365215,3515700499)]),$toNativeArray($kindUint64,[new $Uint64(855457013,3034880948),new $Uint64(2457103259,3807925548)]),$toNativeArray($kindUint64,[new $Uint64(1069321267,572375713),new $Uint64(3071379074,3686165111)]),$toNativeArray($kindUint64,[new $Uint64(262909759,3936695114),new $Uint64(3839223843,2460222741)]),$toNativeArray($kindUint64,[new $Uint64(701189511,4071047182),new $Uint64(2399514902,1000768301)]),$toNativeArray($kindUint64,[new $Uint64(1950228713,4015067154),new $Uint64(2999393627,3398444024)]),$toNativeArray($kindUint64,[new $Uint64(2437785892,1797608470),new $Uint64(3749242034,3174313206)]),$toNativeArray($kindUint64,[new $Uint64(449874358,3270988942),new $Uint64(2343276271,3057687578)]),$toNativeArray($kindUint64,[new $Uint64(2709826596,1941252529),new $Uint64(2929095339,2748367648)]),$toNativeArray($kindUint64,[new $Uint64(3387283245,2426565662),new $Uint64(3661369174,2361717736)]),$toNativeArray($kindUint64,[new $Uint64(2117052028,2053474450),new $Uint64(2288355734,402331761)]),$toNativeArray($kindUint64,[new $Uint64(3720056859,2566843063),new $Uint64(2860444667,2650398349)]),$toNativeArray($kindUint64,[new $Uint64(1428845602,2134812005),new $Uint64(3575555834,2239256113)]),$toNativeArray($kindUint64,[new $Uint64(3577383061,2407999327),new $Uint64(2234722396,2473276894)]),$toNativeArray($kindUint64,[new $Uint64(2324245178,4083740983),new $Uint64(2793402995,3091596118)]),$toNativeArray($kindUint64,[new $Uint64(757822825,2957192581),new $Uint64(3491753744,2790753324)]),$toNativeArray($kindUint64,[new $Uint64(2621122914,237632627),new $Uint64(2182346090,1744220827)]),$toNativeArray($kindUint64,[new $Uint64(2202661818,2444524431),new $Uint64(2727932613,32792386)]),$toNativeArray($kindUint64,[new $Uint64(605843625,908171891),new $Uint64(3409915766,1114732307)]),$toNativeArray($kindUint64,[new $Uint64(3978530003,2208956688),new $Uint64(4262394707,3540899031)]),$toNativeArray($kindUint64,[new $Uint64(4097193988,843727018),new $Uint64(2663996692,1676190982)]),$toNativeArray($kindUint64,[new $Uint64(2974008837,1054658773),new $Uint64(3329995865,2095238728)]),$toNativeArray($kindUint64,[new $Uint64(3717511046,2392065290),new $Uint64(4162494831,3692790234)]),$toNativeArray($kindUint64,[new $Uint64(3397186228,421298982),new $Uint64(2601559269,3918606632)]),$toNativeArray($kindUint64,[new $Uint64(4246482785,526623728),new $Uint64(3251949087,1677032818)]),$toNativeArray($kindUint64,[new $Uint64(3160619833,1732021484),new $Uint64(4064936359,1022549199)]),$toNativeArray($kindUint64,[new $Uint64(3586000131,3766867987),new $Uint64(2540585224,2249705985)]),$toNativeArray($kindUint64,[new $Uint64(1261274692,3634843160),new $Uint64(3175731530,2812132482)]),$toNativeArray($kindUint64,[new $Uint64(3724077014,248586654),new $Uint64(3969664413,1367681954)]),$toNativeArray($kindUint64,[new $Uint64(3401289957,3376592131),new $Uint64(2481040258,1391672133)]),$toNativeArray($kindUint64,[new $Uint64(1030386975,999514691),new $Uint64(3101300322,3887073815)]),$toNativeArray($kindUint64,[new $Uint64(214241895,175651540),new $Uint64(3876625403,2711358621)]),$toNativeArray($kindUint64,[new $Uint64(670772096,1720394949),new $Uint64(2422890877,1157728226)]),$toNativeArray($kindUint64,[new $Uint64(2985948768,2150493686),new $Uint64(3028613596,2520902106)]),$toNativeArray($kindUint64,[new $Uint64(1584952312,2688117107),new $Uint64(3785766995,3151127633)]),$toNativeArray($kindUint64,[new $Uint64(3674949755,1680073192),new $Uint64(2366104372,1432583858)]),$toNativeArray($kindUint64,[new $Uint64(2446203546,1026349666),new $Uint64(2957630465,1790729823)]),$toNativeArray($kindUint64,[new $Uint64(1984012608,3430420731),new $Uint64(3697038081,3312154103)]),$toNativeArray($kindUint64,[new $Uint64(2850620616,2144012957),new $Uint64(2310648801,459483578)]),$toNativeArray($kindUint64,[new $Uint64(1415792122,2680016196),new $Uint64(2888311001,1648096297)]),$toNativeArray($kindUint64,[new $Uint64(2843481977,1202536597),new $Uint64(3610388751,3133862195)]),$toNativeArray($kindUint64,[new $Uint64(1240305323,3435939933),new $Uint64(2256492969,3569276608)]),$toNativeArray($kindUint64,[new $Uint64(1550381654,3221183092),new $Uint64(2820616212,1240370288)]),$toNativeArray($kindUint64,[new $Uint64(1937977068,1878995217),new $Uint64(3525770265,1550462860)]),$toNativeArray($kindUint64,[new $Uint64(3358719315,3321855659),new $Uint64(2203606415,3653393847)]),$toNativeArray($kindUint64,[new $Uint64(3124657320,3078577749),new $Uint64(2754508019,3493000485)]),$toNativeArray($kindUint64,[new $Uint64(684596178,3848222187),new $Uint64(3443135024,3292508783)]),$toNativeArray($kindUint64,[new $Uint64(2038485347,3478880691),new $Uint64(2151959390,2057817989)]),$toNativeArray($kindUint64,[new $Uint64(3621848508,3274859039),new $Uint64(2689949238,424788838)]),$toNativeArray($kindUint64,[new $Uint64(2379826987,4093573799),new $Uint64(3362436547,2678469696)]),$toNativeArray($kindUint64,[new $Uint64(2974783734,4043225425),new $Uint64(4203045684,2274345296)]),$toNativeArray($kindUint64,[new $Uint64(1859239834,1453274067),new $Uint64(2626903552,3568949458)]),$toNativeArray($kindUint64,[new $Uint64(176566144,3964076232),new $Uint64(3283629441,166219527)]),$toNativeArray($kindUint64,[new $Uint64(3441933153,660127994),new $Uint64(4104536801,1281516232)]),$toNativeArray($kindUint64,[new $Uint64(2151208220,3096934556),new $Uint64(2565335500,3485302205)]),$toNativeArray($kindUint64,[new $Uint64(3762752099,3871168195),new $Uint64(3206669376,61660460)]),$toNativeArray($kindUint64,[new $Uint64(408472828,3765218420),new $Uint64(4008336720,77075576)]),$toNativeArray($kindUint64,[new $Uint64(255295518,205777864),new $Uint64(2505210450,48172235)]),$toNativeArray($kindUint64,[new $Uint64(3540344869,2404705978),new $Uint64(3131513062,2207698941)]),$toNativeArray($kindUint64,[new $Uint64(1204205614,4079624297),new $Uint64(3914391328,612140029)]),$toNativeArray($kindUint64,[new $Uint64(1289499421,1476023361),new $Uint64(2446494580,382587518)]),$toNativeArray($kindUint64,[new $Uint64(3759357924,2918771026),new $Uint64(3058118225,478234397)]),$toNativeArray($kindUint64,[new $Uint64(1477971933,3648463782),new $Uint64(3822647781,1671534821)]),$toNativeArray($kindUint64,[new $Uint64(1460603370,2817160776),new $Uint64(2389154863,1581580175)]),$toNativeArray($kindUint64,[new $Uint64(752012389,1373967322),new $Uint64(2986443579,903233395)]),$toNativeArray($kindUint64,[new $Uint64(4161240958,2791200977),new $Uint64(3733054474,55299919)]),$toNativeArray($kindUint64,[new $Uint64(4211388335,670758786),new $Uint64(2333159046,1108304273)]),$toNativeArray($kindUint64,[new $Uint64(2043009946,4059673955),new $Uint64(2916448807,3532863990)]),$toNativeArray($kindUint64,[new $Uint64(406278785,2927108796),new $Uint64(3645561009,3342338164)]),$toNativeArray($kindUint64,[new $Uint64(2401407889,218830261),new $Uint64(2278475631,478348616)]),$toNativeArray($kindUint64,[new $Uint64(3001759861,1347279650),new $Uint64(2848094538,3819161242)]),$toNativeArray($kindUint64,[new $Uint64(1604716178,2757841387),new $Uint64(3560118173,2626467905)]),$toNativeArray($kindUint64,[new $Uint64(3687302171,2797392691),new $Uint64(2225073858,2178413352)]),$toNativeArray($kindUint64,[new $Uint64(314160418,2422999040),new $Uint64(2781342323,575533043)]),$toNativeArray($kindUint64,[new $Uint64(3613925995,881265152),new $Uint64(3476677903,3940641775)]),$toNativeArray($kindUint64,[new $Uint64(3869316483,13919808),new $Uint64(2172923689,4073513845)]),$toNativeArray($kindUint64,[new $Uint64(1615420131,3238625232),new $Uint64(2716154612,1870666835)]),$toNativeArray($kindUint64,[new $Uint64(945533340,2974539716),new $Uint64(3395193265,2338333544)]),$toNativeArray($kindUint64,[new $Uint64(1181916675,3718174645),new $Uint64(4243991581,3996658754)]),$toNativeArray($kindUint64,[new $Uint64(1812439746,1786988241),new $Uint64(2652494738,3034782633)]),$toNativeArray($kindUint64,[new $Uint64(3339291507,86251653),new $Uint64(3315618423,1645994643)]),$toNativeArray($kindUint64,[new $Uint64(3100372559,3329040039),new $Uint64(4144523029,983751480)]),$toNativeArray($kindUint64,[new $Uint64(1937732849,3691262760),new $Uint64(2590326893,1151715587)]),$toNativeArray($kindUint64,[new $Uint64(1348424238,1392852978),new $Uint64(3237908616,2513386308)]),$toNativeArray($kindUint64,[new $Uint64(1685530297,3888549871),new $Uint64(4047385770,3141732885)]),$toNativeArray($kindUint64,[new $Uint64(1590327348,819730933),new $Uint64(2529616106,3037324877)]),$toNativeArray($kindUint64,[new $Uint64(3061651009,1024663666),new $Uint64(3162020133,1649172448)]),$toNativeArray($kindUint64,[new $Uint64(3827063761,2354571407),new $Uint64(3952525166,3135207384)]),$toNativeArray($kindUint64,[new $Uint64(2391914850,4155961689),new $Uint64(2470328229,885762791)]),$toNativeArray($kindUint64,[new $Uint64(1916151739,3047468464),new $Uint64(3087910286,2180945313)]),$toNativeArray($kindUint64,[new $Uint64(3468931498,2735593756),new $Uint64(3859887858,578697993)]),$toNativeArray($kindUint64,[new $Uint64(557469450,2783487921),new $Uint64(2412429911,1435428070)]),$toNativeArray($kindUint64,[new $Uint64(2844320461,1331876253),new $Uint64(3015537389,720543263)]),$toNativeArray($kindUint64,[new $Uint64(2481658752,2738587141),new $Uint64(3769421736,1974420903)]),$toNativeArray($kindUint64,[new $Uint64(3161649456,1711616963),new $Uint64(2355888585,1234013064)]),$toNativeArray($kindUint64,[new $Uint64(3952061820,2139521204),new $Uint64(2944860731,2616258154)]),$toNativeArray($kindUint64,[new $Uint64(2792593627,2674401505),new $Uint64(3681075914,2196580869)]),$toNativeArray($kindUint64,[new $Uint64(2282241929,1134630028),new $Uint64(2300672446,2446604867)]),$toNativeArray($kindUint64,[new $Uint64(1779060587,2492029360),new $Uint64(2875840558,910772436)]),$toNativeArray($kindUint64,[new $Uint64(2223825734,2041294876),new $Uint64(3594800697,3285949193)]),$toNativeArray($kindUint64,[new $Uint64(4074245644,202067473),new $Uint64(2246750436,443105509)]),$toNativeArray($kindUint64,[new $Uint64(1871581583,252584341),new $Uint64(2808438045,553881887)]),$toNativeArray($kindUint64,[new $Uint64(1265735154,3536955899),new $Uint64(3510547556,1766094183)])]);CJ=new DW([new CI.ptr(0,""),new CI.ptr(1,"5"),new CI.ptr(1,"25"),new CI.ptr(1,"125"),new CI.ptr(2,"625"),new CI.ptr(2,"3125"),new CI.ptr(2,"15625"),new CI.ptr(3,"78125"),new CI.ptr(3,"390625"),new CI.ptr(3,"1953125"),new CI.ptr(4,"9765625"),new CI.ptr(4,"48828125"),new CI.ptr(4,"244140625"),new CI.ptr(4,"1220703125"),new CI.ptr(5,"6103515625"),new CI.ptr(5,"30517578125"),new CI.ptr(5,"152587890625"),new CI.ptr(6,"762939453125"),new CI.ptr(6,"3814697265625"),new CI.ptr(6,"19073486328125"),new CI.ptr(7,"95367431640625"),new CI.ptr(7,"476837158203125"),new CI.ptr(7,"2384185791015625"),new CI.ptr(7,"11920928955078125"),new CI.ptr(8,"59604644775390625"),new CI.ptr(8,"298023223876953125"),new CI.ptr(8,"1490116119384765625"),new CI.ptr(9,"7450580596923828125"),new CI.ptr(9,"37252902984619140625"),new CI.ptr(9,"186264514923095703125"),new CI.ptr(10,"931322574615478515625"),new CI.ptr(10,"4656612873077392578125"),new CI.ptr(10,"23283064365386962890625"),new CI.ptr(10,"116415321826934814453125"),new CI.ptr(11,"582076609134674072265625"),new CI.ptr(11,"2910383045673370361328125"),new CI.ptr(11,"14551915228366851806640625"),new CI.ptr(12,"72759576141834259033203125"),new CI.ptr(12,"363797880709171295166015625"),new CI.ptr(12,"1818989403545856475830078125"),new CI.ptr(13,"9094947017729282379150390625"),new CI.ptr(13,"45474735088646411895751953125"),new CI.ptr(13,"227373675443232059478759765625"),new CI.ptr(13,"1136868377216160297393798828125"),new CI.ptr(14,"5684341886080801486968994140625"),new CI.ptr(14,"28421709430404007434844970703125"),new CI.ptr(14,"142108547152020037174224853515625"),new CI.ptr(15,"710542735760100185871124267578125"),new CI.ptr(15,"3552713678800500929355621337890625"),new CI.ptr(15,"17763568394002504646778106689453125"),new CI.ptr(16,"88817841970012523233890533447265625"),new CI.ptr(16,"444089209850062616169452667236328125"),new CI.ptr(16,"2220446049250313080847263336181640625"),new CI.ptr(16,"11102230246251565404236316680908203125"),new CI.ptr(17,"55511151231257827021181583404541015625"),new CI.ptr(17,"277555756156289135105907917022705078125"),new CI.ptr(17,"1387778780781445675529539585113525390625"),new CI.ptr(18,"6938893903907228377647697925567626953125"),new CI.ptr(18,"34694469519536141888238489627838134765625"),new CI.ptr(18,"173472347597680709441192448139190673828125"),new CI.ptr(19,"867361737988403547205962240695953369140625")]);$pkg.ErrRange=F.New("value out of range");$pkg.ErrSyntax=F.New("invalid syntax");CY=true;DC=new DX([1,3,6,9,13,16,19,23,26]);DD=new DY([1,10,100,1000,10000,100000,1e+06,1e+07,1e+08,1e+09,1e+10,1e+11,1e+12,1e+13,1e+14,1e+15,1e+16,1e+17,1e+18,1e+19,1e+20,1e+21,1e+22]);DE=new DZ([1,10,100,1000,10000,100000,1e+06,1e+07,1e+08,1e+09,1e+10]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["reflect"]=(function(){var $pkg={},$init,K,J,A,L,B,C,D,E,F,G,H,I,O,P,S,AE,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CY,DG,DH,DI,DK,DL,DM,FQ,FS,FT,FU,HC,IO,IP,IQ,IR,IS,IT,IU,IW,IY,IZ,JA,JH,JJ,JK,JL,JM,JN,JO,JP,JQ,JV,JW,JX,JY,JZ,KC,KD,KE,KF,KG,KH,KM,KN,KO,KP,KU,KV,KW,AD,CZ,FK,FR,FV,FY,GA,HP,HQ,HU,T,U,AF,AG,AJ,AU,AV,AW,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,DO,DQ,DR,DS,DT,DU,EV,FA,FL,FM,FN,FO,FP,FW,FX,FZ,GB,GD,GE,GF,GG,GH,GI,GJ,GM,GO,GQ,GR,GS,GU,GX,GY,GZ,HA,HB,HD,HE,HF,HG,HH,HI,HJ,HK,HL,HM,HN,HO,HR,HS,HT,HV,HW,HY,HZ;K=$packages["errors"];J=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["internal/abi"];L=$packages["internal/goexperiment"];B=$packages["internal/itoa"];C=$packages["internal/unsafeheader"];D=$packages["math"];E=$packages["runtime"];F=$packages["strconv"];G=$packages["sync"];H=$packages["unicode"];I=$packages["unicode/utf8"];O=$pkg.Value=$newType(0,$kindStruct,"reflect.Value",true,"reflect",true,function(typ_,ptr_,flag_){this.$val=this;if(arguments.length===0){this.typ=IP.nil;this.ptr=0;this.flag=0;return;}this.typ=typ_;this.ptr=ptr_;this.flag=flag_;});P=$pkg.flag=$newType(4,$kindUintptr,"reflect.flag",true,"reflect",false,null);S=$pkg.ValueError=$newType(0,$kindStruct,"reflect.ValueError",true,"reflect",true,function(Method_,Kind_){this.$val=this;if(arguments.length===0){this.Method="";this.Kind=0;return;}this.Method=Method_;this.Kind=Kind_;});AE=$pkg.MapIter=$newType(0,$kindStruct,"reflect.MapIter",true,"reflect",true,function(m_,it_){this.$val=this;if(arguments.length===0){this.m=new O.ptr(IP.nil,0,0);this.it=0;return;}this.m=m_;this.it=it_;});CI=$pkg.Type=$newType(8,$kindInterface,"reflect.Type",true,"reflect",true,null);CJ=$pkg.Kind=$newType(4,$kindUint,"reflect.Kind",true,"reflect",true,null);CK=$pkg.tflag=$newType(1,$kindUint8,"reflect.tflag",true,"reflect",false,null);CL=$pkg.rtype=$newType(0,$kindStruct,"reflect.rtype",true,"reflect",false,function(size_,ptrdata_,hash_,tflag_,align_,fieldAlign_,kind_,equal_,gcdata_,str_,ptrToThis_){this.$val=this;if(arguments.length===0){this.size=0;this.ptrdata=0;this.hash=0;this.tflag=0;this.align=0;this.fieldAlign=0;this.kind=0;this.equal=$throwNilPointerError;this.gcdata=JQ.nil;this.str=0;this.ptrToThis=0;return;}this.size=size_;this.ptrdata=ptrdata_;this.hash=hash_;this.tflag=tflag_;this.align=align_;this.fieldAlign=fieldAlign_;this.kind=kind_;this.equal=equal_;this.gcdata=gcdata_;this.str=str_;this.ptrToThis=ptrToThis_;});CM=$pkg.method=$newType(0,$kindStruct,"reflect.method",true,"reflect",false,function(name_,mtyp_,ifn_,tfn_){this.$val=this;if(arguments.length===0){this.name=0;this.mtyp=0;this.ifn=0;this.tfn=0;return;}this.name=name_;this.mtyp=mtyp_;this.ifn=ifn_;this.tfn=tfn_;});CN=$pkg.ChanDir=$newType(4,$kindInt,"reflect.ChanDir",true,"reflect",true,null);CO=$pkg.arrayType=$newType(0,$kindStruct,"reflect.arrayType",true,"reflect",false,function(rtype_,elem_,slice_,len_){this.$val=this;if(arguments.length===0){this.rtype=new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0);this.elem=IP.nil;this.slice=IP.nil;this.len=0;return;}this.rtype=rtype_;this.elem=elem_;this.slice=slice_;this.len=len_;});CP=$pkg.chanType=$newType(0,$kindStruct,"reflect.chanType",true,"reflect",false,function(rtype_,elem_,dir_){this.$val=this;if(arguments.length===0){this.rtype=new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0);this.elem=IP.nil;this.dir=0;return;}this.rtype=rtype_;this.elem=elem_;this.dir=dir_;});CQ=$pkg.imethod=$newType(0,$kindStruct,"reflect.imethod",true,"reflect",false,function(name_,typ_){this.$val=this;if(arguments.length===0){this.name=0;this.typ=0;return;}this.name=name_;this.typ=typ_;});CR=$pkg.interfaceType=$newType(0,$kindStruct,"reflect.interfaceType",true,"reflect",false,function(rtype_,pkgPath_,methods_){this.$val=this;if(arguments.length===0){this.rtype=new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0);this.pkgPath=new FT.ptr(JQ.nil);this.methods=JV.nil;return;}this.rtype=rtype_;this.pkgPath=pkgPath_;this.methods=methods_;});CS=$pkg.mapType=$newType(0,$kindStruct,"reflect.mapType",true,"reflect",false,function(rtype_,key_,elem_,bucket_,hasher_,keysize_,valuesize_,bucketsize_,flags_){this.$val=this;if(arguments.length===0){this.rtype=new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0);this.key=IP.nil;this.elem=IP.nil;this.bucket=IP.nil;this.hasher=$throwNilPointerError;this.keysize=0;this.valuesize=0;this.bucketsize=0;this.flags=0;return;}this.rtype=rtype_;this.key=key_;this.elem=elem_;this.bucket=bucket_;this.hasher=hasher_;this.keysize=keysize_;this.valuesize=valuesize_;this.bucketsize=bucketsize_;this.flags=flags_;});CT=$pkg.ptrType=$newType(0,$kindStruct,"reflect.ptrType",true,"reflect",false,function(rtype_,elem_){this.$val=this;if(arguments.length===0){this.rtype=new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0);this.elem=IP.nil;return;}this.rtype=rtype_;this.elem=elem_;});CU=$pkg.sliceType=$newType(0,$kindStruct,"reflect.sliceType",true,"reflect",false,function(rtype_,elem_){this.$val=this;if(arguments.length===0){this.rtype=new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0);this.elem=IP.nil;return;}this.rtype=rtype_;this.elem=elem_;});CV=$pkg.structField=$newType(0,$kindStruct,"reflect.structField",true,"reflect",false,function(name_,typ_,offsetEmbed_){this.$val=this;if(arguments.length===0){this.name=new FT.ptr(JQ.nil);this.typ=IP.nil;this.offsetEmbed=0;return;}this.name=name_;this.typ=typ_;this.offsetEmbed=offsetEmbed_;});CW=$pkg.structType=$newType(0,$kindStruct,"reflect.structType",true,"reflect",false,function(rtype_,pkgPath_,fields_){this.$val=this;if(arguments.length===0){this.rtype=new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0);this.pkgPath=new FT.ptr(JQ.nil);this.fields=JW.nil;return;}this.rtype=rtype_;this.pkgPath=pkgPath_;this.fields=fields_;});CY=$pkg.Method=$newType(0,$kindStruct,"reflect.Method",true,"reflect",true,function(Name_,PkgPath_,Type_,Func_,Index_){this.$val=this;if(arguments.length===0){this.Name="";this.PkgPath="";this.Type=$ifaceNil;this.Func=new O.ptr(IP.nil,0,0);this.Index=0;return;}this.Name=Name_;this.PkgPath=PkgPath_;this.Type=Type_;this.Func=Func_;this.Index=Index_;});DG=$pkg.nameOff=$newType(4,$kindInt32,"reflect.nameOff",true,"reflect",false,null);DH=$pkg.typeOff=$newType(4,$kindInt32,"reflect.typeOff",true,"reflect",false,null);DI=$pkg.textOff=$newType(4,$kindInt32,"reflect.textOff",true,"reflect",false,null);DK=$pkg.StructField=$newType(0,$kindStruct,"reflect.StructField",true,"reflect",true,function(Name_,PkgPath_,Type_,Tag_,Offset_,Index_,Anonymous_){this.$val=this;if(arguments.length===0){this.Name="";this.PkgPath="";this.Type=$ifaceNil;this.Tag="";this.Offset=0;this.Index=IW.nil;this.Anonymous=false;return;}this.Name=Name_;this.PkgPath=PkgPath_;this.Type=Type_;this.Tag=Tag_;this.Offset=Offset_;this.Index=Index_;this.Anonymous=Anonymous_;});DL=$pkg.StructTag=$newType(8,$kindString,"reflect.StructTag",true,"reflect",true,null);DM=$pkg.fieldScan=$newType(0,$kindStruct,"reflect.fieldScan",true,"reflect",false,function(typ_,index_){this.$val=this;if(arguments.length===0){this.typ=JP.nil;this.index=IW.nil;return;}this.typ=typ_;this.index=index_;});FQ=$pkg.uncommonType=$newType(0,$kindStruct,"reflect.uncommonType",true,"reflect",false,function(pkgPath_,mcount_,xcount_,moff_,_methods_){this.$val=this;if(arguments.length===0){this.pkgPath=0;this.mcount=0;this.xcount=0;this.moff=0;this._methods=JL.nil;return;}this.pkgPath=pkgPath_;this.mcount=mcount_;this.xcount=xcount_;this.moff=moff_;this._methods=_methods_;});FS=$pkg.funcType=$newType(0,$kindStruct,"reflect.funcType",true,"reflect",false,function(rtype_,inCount_,outCount_,_in_,_out_){this.$val=this;if(arguments.length===0){this.rtype=new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0);this.inCount=0;this.outCount=0;this._in=IQ.nil;this._out=IQ.nil;return;}this.rtype=rtype_;this.inCount=inCount_;this.outCount=outCount_;this._in=_in_;this._out=_out_;});FT=$pkg.name=$newType(0,$kindStruct,"reflect.name",true,"reflect",false,function(bytes_){this.$val=this;if(arguments.length===0){this.bytes=JQ.nil;return;}this.bytes=bytes_;});FU=$pkg.nameData=$newType(0,$kindStruct,"reflect.nameData",true,"reflect",false,function(name_,tag_,exported_,pkgPath_){this.$val=this;if(arguments.length===0){this.name="";this.tag="";this.exported=false;this.pkgPath="";return;}this.name=name_;this.tag=tag_;this.exported=exported_;this.pkgPath=pkgPath_;});HC=$pkg.mapIter=$newType(0,$kindStruct,"reflect.mapIter",true,"reflect",false,function(t_,m_,keys_,i_,last_){this.$val=this;if(arguments.length===0){this.t=$ifaceNil;this.m=null;this.keys=null;this.i=0;this.last=null;return;}this.t=t_;this.m=m_;this.keys=keys_;this.i=i_;this.last=last_;});IO=$sliceType(FT);IP=$ptrType(CL);IQ=$sliceType(IP);IR=$sliceType($String);IS=$sliceType($emptyInterface);IT=$ptrType(J.Object);IU=$funcType([IS],[IT],true);IW=$sliceType($Int);IY=$ptrType(E.Func);IZ=$sliceType(O);JA=$sliceType($Uint8);JH=$ptrType($UnsafePointer);JJ=$sliceType($Int32);JK=$ptrType(FQ);JL=$sliceType(CM);JM=$ptrType(CR);JN=$ptrType(CQ);JO=$sliceType(DM);JP=$ptrType(CW);JQ=$ptrType($Uint8);JV=$sliceType(CQ);JW=$sliceType(CV);JX=$ptrType(FU);JY=$structType("reflect",[{prop:"str",name:"str",embedded:false,exported:false,typ:$String,tag:""}]);JZ=$sliceType(IT);KC=$ptrType(HC);KD=$ptrType(FS);KE=$sliceType(CI);KF=$sliceType(JZ);KG=$arrayType($UnsafePointer,2);KH=$sliceType(KG);KM=$funcType([$String],[$Bool],false);KN=$ptrType(AE);KO=$arrayType($Uintptr,2);KP=$ptrType(S);KU=$funcType([$UnsafePointer,$UnsafePointer],[$Bool],false);KV=$funcType([$UnsafePointer,$Uintptr],[$Uintptr],false);KW=$ptrType(CV);P.prototype.kind=function(){var aq;aq=this.$val;return((((aq&31)>>>0)>>>0));};$ptrType(P).prototype.kind=function(){return new P(this.$get()).kind();};P.prototype.ro=function(){var aq;aq=this.$val;if(!((((aq&96)>>>0)===0))){return 32;}return 0;};$ptrType(P).prototype.ro=function(){return new P(this.$get()).ro();};O.ptr.prototype.pointer=function(){var aq;aq=this;if(!((aq.typ.size===4))||!aq.typ.pointers()){$panic(new $String("can't call pointer on a non-pointer Value"));}if(!((((aq.flag&128)>>>0)===0))){return(aq.ptr).$get();}return aq.ptr;};O.prototype.pointer=function(){return this.$val.pointer();};S.ptr.prototype.Error=function(){var aq;aq=this;if(aq.Kind===0){return"reflect: call of "+aq.Method+" on zero Value";}return"reflect: call of "+aq.Method+" on "+new CJ(aq.Kind).String()+" Value";};S.prototype.Error=function(){return this.$val.Error();};T=function(){var aq,ar,as;aq=E.Caller(2);ar=aq[0];as=E.FuncForPC(ar);if(as===IY.nil){return"unknown method";}return as.Name();};U=function(){var aq,ar,as;aq=E.Caller(3);ar=aq[0];as=E.FuncForPC(ar);if(as===IY.nil){return"unknown method";}return as.Name();};P.prototype.mustBe=function(aq){var aq,ar;ar=this.$val;if(!((((((ar&31)>>>0)>>>0))===aq))){$panic(new S.ptr(T(),new P(ar).kind()));}};$ptrType(P).prototype.mustBe=function(aq){return new P(this.$get()).mustBe(aq);};P.prototype.mustBeExported=function(){var aq;aq=this.$val;if((aq===0)||!((((aq&96)>>>0)===0))){new P(aq).mustBeExportedSlow();}};$ptrType(P).prototype.mustBeExported=function(){return new P(this.$get()).mustBeExported();};P.prototype.mustBeExportedSlow=function(){var aq;aq=this.$val;if(aq===0){$panic(new S.ptr(U(),0));}if(!((((aq&96)>>>0)===0))){$panic(new $String("reflect: "+U()+" using value obtained using unexported field"));}};$ptrType(P).prototype.mustBeExportedSlow=function(){return new P(this.$get()).mustBeExportedSlow();};P.prototype.mustBeAssignable=function(){var aq;aq=this.$val;if(!((((aq&96)>>>0)===0))||(((aq&256)>>>0)===0)){new P(aq).mustBeAssignableSlow();}};$ptrType(P).prototype.mustBeAssignable=function(){return new P(this.$get()).mustBeAssignable();};P.prototype.mustBeAssignableSlow=function(){var aq;aq=this.$val;if(aq===0){$panic(new S.ptr(U(),0));}if(!((((aq&96)>>>0)===0))){$panic(new $String("reflect: "+U()+" using value obtained using unexported field"));}if(((aq&256)>>>0)===0){$panic(new $String("reflect: "+U()+" using unaddressable value"));}};$ptrType(P).prototype.mustBeAssignableSlow=function(){return new P(this.$get()).mustBeAssignableSlow();};O.ptr.prototype.Addr=function(){var aq,ar;aq=this;if(((aq.flag&256)>>>0)===0){$panic(new $String("reflect.Value.Addr of unaddressable value"));}ar=(aq.flag&96)>>>0;return new O.ptr(aq.typ.ptrTo(),aq.ptr,(ar|22)>>>0);};O.prototype.Addr=function(){return this.$val.Addr();};O.ptr.prototype.Bool=function(){var aq;aq=this;new P(aq.flag).mustBe(1);return(aq.ptr).$get();};O.prototype.Bool=function(){return this.$val.Bool();};O.ptr.prototype.Bytes=function(){var aq,ar,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=this;new P(aq.flag).mustBe(23);ar=aq.typ.Elem().Kind();$s=3;case 3:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}if(!((ar===8))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.Value.Bytes of non-byte slice"));case 2:$s=-1;return(aq.ptr).$get();}return;}if($f===undefined){$f={$blk:O.ptr.prototype.Bytes};}$f.aq=aq;$f.ar=ar;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.Bytes=function(){return this.$val.Bytes();};O.ptr.prototype.runes=function(){var aq,ar,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=this;new P(aq.flag).mustBe(23);ar=aq.typ.Elem().Kind();$s=3;case 3:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}if(!((ar===5))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.Value.Bytes of non-rune slice"));case 2:$s=-1;return(aq.ptr).$get();}return;}if($f===undefined){$f={$blk:O.ptr.prototype.runes};}$f.aq=aq;$f.ar=ar;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.runes=function(){return this.$val.runes();};O.ptr.prototype.CanAddr=function(){var aq;aq=this;return!((((aq.flag&256)>>>0)===0));};O.prototype.CanAddr=function(){return this.$val.CanAddr();};O.ptr.prototype.CanSet=function(){var aq;aq=this;return((aq.flag&352)>>>0)===256;};O.prototype.CanSet=function(){return this.$val.CanSet();};O.ptr.prototype.Call=function(aq){var aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;new P(ar.flag).mustBe(19);new P(ar.flag).mustBeExported();as=$clone(ar,O).call("Call",aq);$s=1;case 1:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;$s=2;case 2:return at;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.Call};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.Call=function(aq){return this.$val.Call(aq);};O.ptr.prototype.CallSlice=function(aq){var aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;new P(ar.flag).mustBe(19);new P(ar.flag).mustBeExported();as=$clone(ar,O).call("CallSlice",aq);$s=1;case 1:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;$s=2;case 2:return at;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.CallSlice};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.CallSlice=function(aq){return this.$val.CallSlice(aq);};O.ptr.prototype.Complex=function(){var aq,ar,as,at;aq=this;ar=new P(aq.flag).kind();as=ar;if(as===(15)){return((at=(aq.ptr).$get(),new $Complex128(at.$real,at.$imag)));}else if(as===(16)){return(aq.ptr).$get();}$panic(new S.ptr("reflect.Value.Complex",new P(aq.flag).kind()));};O.prototype.Complex=function(){return this.$val.Complex();};O.ptr.prototype.FieldByIndex=function(aq){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;if(aq.$length===1){$s=1;continue;}$s=2;continue;case 1:as=$clone(ar,O).Field((0>=aq.$length?($throwRuntimeError("index out of range"),undefined):aq.$array[aq.$offset+0]));$s=3;case 3:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;$s=4;case 4:return at;case 2:new P(ar.flag).mustBe(25);au=aq;av=0;case 5:if(!(av<au.$length)){$s=6;continue;}aw=av;ax=((av<0||av>=au.$length)?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+av]);if(aw>0){$s=7;continue;}$s=8;continue;case 7:if(!($clone(ar,O).Kind()===22)){ay=false;$s=11;continue s;}az=ar.typ.Elem().Kind();$s=12;case 12:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ay=az===25;case 11:if(ay){$s=9;continue;}$s=10;continue;case 9:if($clone(ar,O).IsNil()){$panic(new $String("reflect: indirection through nil pointer to embedded struct"));}ba=$clone(ar,O).Elem();$s=13;case 13:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}ar=ba;case 10:case 8:bb=$clone(ar,O).Field(ax);$s=14;case 14:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}ar=bb;av++;$s=5;continue;case 6:$s=-1;return ar;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.FieldByIndex};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.FieldByIndex=function(aq){return this.$val.FieldByIndex(aq);};O.ptr.prototype.FieldByName=function(aq){var aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;new P(ar.flag).mustBe(25);at=ar.typ.FieldByName(aq);$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}as=at;au=$clone(as[0],DK);av=as[1];if(av){$s=2;continue;}$s=3;continue;case 2:aw=$clone(ar,O).FieldByIndex(au.Index);$s=4;case 4:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;$s=5;case 5:return ax;case 3:$s=-1;return new O.ptr(IP.nil,0,0);}return;}if($f===undefined){$f={$blk:O.ptr.prototype.FieldByName};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.FieldByName=function(aq){return this.$val.FieldByName(aq);};O.ptr.prototype.FieldByNameFunc=function(aq){var aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;at=ar.typ.FieldByNameFunc(aq);$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}as=at;au=$clone(as[0],DK);av=as[1];if(av){$s=2;continue;}$s=3;continue;case 2:aw=$clone(ar,O).FieldByIndex(au.Index);$s=4;case 4:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;$s=5;case 5:return ax;case 3:$s=-1;return new O.ptr(IP.nil,0,0);}return;}if($f===undefined){$f={$blk:O.ptr.prototype.FieldByNameFunc};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.FieldByNameFunc=function(aq){return this.$val.FieldByNameFunc(aq);};O.ptr.prototype.Float=function(){var aq,ar,as;aq=this;ar=new P(aq.flag).kind();as=ar;if(as===(13)){return((aq.ptr).$get());}else if(as===(14)){return(aq.ptr).$get();}$panic(new S.ptr("reflect.Value.Float",new P(aq.flag).kind()));};O.prototype.Float=function(){return this.$val.Float();};O.ptr.prototype.Int=function(){var aq,ar,as,at;aq=this;ar=new P(aq.flag).kind();as=aq.ptr;at=ar;if(at===(2)){return(new $Int64(0,(as).$get()));}else if(at===(3)){return(new $Int64(0,(as).$get()));}else if(at===(4)){return(new $Int64(0,(as).$get()));}else if(at===(5)){return(new $Int64(0,(as).$get()));}else if(at===(6)){return(as).$get();}$panic(new S.ptr("reflect.Value.Int",new P(aq.flag).kind()));};O.prototype.Int=function(){return this.$val.Int();};O.ptr.prototype.CanInterface=function(){var aq;aq=this;if(aq.flag===0){$panic(new S.ptr("reflect.Value.CanInterface",0));}return((aq.flag&96)>>>0)===0;};O.prototype.CanInterface=function(){return this.$val.CanInterface();};O.ptr.prototype.Interface=function(){var aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=$ifaceNil;ar=this;as=HM($clone(ar,O),true);$s=1;case 1:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}aq=as;at=aq;$s=2;case 2:return at;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.Interface};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.Interface=function(){return this.$val.Interface();};O.ptr.prototype.IsValid=function(){var aq;aq=this;return!((aq.flag===0));};O.prototype.IsValid=function(){return this.$val.IsValid();};O.ptr.prototype.IsZero=function(){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=this;ar=new P(aq.flag).kind();if(ar===(1)){$s=2;continue;}if((ar===(2))||(ar===(3))||(ar===(4))||(ar===(5))||(ar===(6))){$s=3;continue;}if((ar===(7))||(ar===(8))||(ar===(9))||(ar===(10))||(ar===(11))||(ar===(12))){$s=4;continue;}if((ar===(13))||(ar===(14))){$s=5;continue;}if((ar===(15))||(ar===(16))){$s=6;continue;}if(ar===(17)){$s=7;continue;}if((ar===(18))||(ar===(19))||(ar===(20))||(ar===(21))||(ar===(22))||(ar===(23))||(ar===(26))){$s=8;continue;}if(ar===(24)){$s=9;continue;}if(ar===(25)){$s=10;continue;}$s=11;continue;case 2:$s=-1;return!$clone(aq,O).Bool();case 3:$s=-1;return(as=$clone(aq,O).Int(),(as.$high===0&&as.$low===0));case 4:$s=-1;return(at=$clone(aq,O).Uint(),(at.$high===0&&at.$low===0));case 5:$s=-1;return(au=D.Float64bits($clone(aq,O).Float()),(au.$high===0&&au.$low===0));case 6:av=$clone(aq,O).Complex();$s=-1;return(aw=D.Float64bits(av.$real),(aw.$high===0&&aw.$low===0))&&(ax=D.Float64bits(av.$imag),(ax.$high===0&&ax.$low===0));case 7:ay=0;case 13:if(!(ay<$clone(aq,O).Len())){$s=14;continue;}az=$clone(aq,O).Index(ay);$s=17;case 17:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=$clone(az,O).IsZero();$s=18;case 18:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}if(!ba){$s=15;continue;}$s=16;continue;case 15:$s=-1;return false;case 16:ay=ay+(1)>>0;$s=13;continue;case 14:$s=-1;return true;case 8:$s=-1;return $clone(aq,O).IsNil();case 9:$s=-1;return $clone(aq,O).Len()===0;case 10:bb=0;case 19:if(!(bb<$clone(aq,O).NumField())){$s=20;continue;}bc=$clone(aq,O).Field(bb);$s=23;case 23:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}bd=$clone(bc,O).IsZero();$s=24;case 24:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}if(!bd){$s=21;continue;}$s=22;continue;case 21:$s=-1;return false;case 22:bb=bb+(1)>>0;$s=19;continue;case 20:$s=-1;return true;case 11:$panic(new S.ptr("reflect.Value.IsZero",$clone(aq,O).Kind()));case 12:case 1:$s=-1;return false;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.IsZero};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.IsZero=function(){return this.$val.IsZero();};O.ptr.prototype.Kind=function(){var aq;aq=this;return new P(aq.flag).kind();};O.prototype.Kind=function(){return this.$val.Kind();};O.ptr.prototype.MapIndex=function(aq){var aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;new P(ar.flag).mustBe(21);as=(ar.typ.kindType);at=$clone(aq,O).assignTo("reflect.Value.MapIndex",as.key,0);$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}aq=at;au=0;if(!((((aq.flag&128)>>>0)===0))){au=aq.ptr;}else{au=((aq.$ptr_ptr||(aq.$ptr_ptr=new JH(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},aq))));}av=GZ(ar.typ,$clone(ar,O).pointer(),au);if(av===0){$s=-1;return new O.ptr(IP.nil,0,0);}aw=as.elem;ax=new P((((ar.flag|aq.flag)>>>0))).ro();ax=(ax|(((aw.Kind()>>>0))))>>>0;$s=-1;return AF(aw,ax,av);}return;}if($f===undefined){$f={$blk:O.ptr.prototype.MapIndex};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.MapIndex=function(aq){return this.$val.MapIndex(aq);};O.ptr.prototype.MapKeys=function(){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=this;new P(aq.flag).mustBe(21);ar=(aq.typ.kindType);as=ar.key;at=(new P(aq.flag).ro()|((as.Kind()>>>0)))>>>0;au=$clone(aq,O).pointer();av=0;if(!(au===0)){av=HH(au);}aw=HD(aq.typ,au);ax=$makeSlice(IZ,av);ay=0;ay=0;case 1:if(!(ay<ax.$length)){$s=2;continue;}az=HE(aw);$s=3;case 3:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=az;if(ba===0){$s=2;continue;}((ay<0||ay>=ax.$length)?($throwRuntimeError("index out of range"),undefined):ax.$array[ax.$offset+ay]=AF(as,at,ba));HG(aw);ay=ay+(1)>>0;$s=1;continue;case 2:$s=-1;return $subslice(ax,0,ay);}return;}if($f===undefined){$f={$blk:O.ptr.prototype.MapKeys};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.MapKeys=function(){return this.$val.MapKeys();};AE.ptr.prototype.Key=function(){var aq,ar,as,at,au,av,aw,ax,ay,az,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=this;if(aq.it===0){$panic(new $String("MapIter.Key called before Next"));}ar=HE(aq.it);$s=3;case 3:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}if(ar===0){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("MapIter.Key called on exhausted iterator"));case 2:as=(aq.m.typ.kindType);at=as.key;au=at;av=(new P(aq.m.flag).ro()|((at.Kind()>>>0)))>>>0;aw=HE(aq.it);$s=4;case 4:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;ay=AF(au,av,ax);$s=5;case 5:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=ay;$s=6;case 6:return az;}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.Key};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.Key=function(){return this.$val.Key();};AE.ptr.prototype.Value=function(){var aq,ar,as,at,au,av,aw,ax,ay,az,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=this;if(aq.it===0){$panic(new $String("MapIter.Value called before Next"));}ar=HE(aq.it);$s=3;case 3:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}if(ar===0){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("MapIter.Value called on exhausted iterator"));case 2:as=(aq.m.typ.kindType);at=as.elem;au=at;av=(new P(aq.m.flag).ro()|((at.Kind()>>>0)))>>>0;aw=HF(aq.it);$s=4;case 4:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;ay=AF(au,av,ax);$s=5;case 5:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=ay;$s=6;case 6:return az;}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.Value};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.Value=function(){return this.$val.Value();};AE.ptr.prototype.Next=function(){var aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=this;if(aq.it===0){$s=1;continue;}$s=2;continue;case 1:aq.it=HD(aq.m.typ,$clone(aq.m,O).pointer());$s=3;continue;case 2:ar=HE(aq.it);$s=6;case 6:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}if(ar===0){$s=4;continue;}$s=5;continue;case 4:$panic(new $String("MapIter.Next called on exhausted iterator"));case 5:HG(aq.it);case 3:as=HE(aq.it);$s=7;case 7:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=!(as===0);$s=8;case 8:return at;}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.Next};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.Next=function(){return this.$val.Next();};O.ptr.prototype.MapRange=function(){var aq;aq=this;new P(aq.flag).mustBe(21);return new AE.ptr($clone(aq,O),0);};O.prototype.MapRange=function(){return this.$val.MapRange();};AF=function(aq,ar,as){var aq,ar,as,at;if(FA(aq)){at=GR(aq);GU(aq,at,as);return new O.ptr(aq,at,(ar|128)>>>0);}return new O.ptr(aq,(as).$get(),ar);};O.ptr.prototype.Method=function(aq){var aq,ar,as;ar=this;if(ar.typ===IP.nil){$panic(new S.ptr("reflect.Value.Method",0));}if(!((((ar.flag&512)>>>0)===0))||((aq>>>0))>=((ar.typ.NumMethod()>>>0))){$panic(new $String("reflect: Method index out of range"));}if((ar.typ.Kind()===20)&&$clone(ar,O).IsNil()){$panic(new $String("reflect: Method on nil interface value"));}as=(new P(ar.flag).ro()|(((ar.flag&128)>>>0)))>>>0;as=(as|(19))>>>0;as=(as|((((((aq>>>0))<<10>>>0)|512)>>>0)))>>>0;return new O.ptr(ar.typ,ar.ptr,as);};O.prototype.Method=function(aq){return this.$val.Method(aq);};O.ptr.prototype.NumMethod=function(){var aq;aq=this;if(aq.typ===IP.nil){$panic(new S.ptr("reflect.Value.NumMethod",0));}if(!((((aq.flag&512)>>>0)===0))){return 0;}return aq.typ.NumMethod();};O.prototype.NumMethod=function(){return this.$val.NumMethod();};O.ptr.prototype.MethodByName=function(aq){var aq,ar,as,at,au,av,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;if(ar.typ===IP.nil){$panic(new S.ptr("reflect.Value.MethodByName",0));}if(!((((ar.flag&512)>>>0)===0))){$s=-1;return new O.ptr(IP.nil,0,0);}at=ar.typ.MethodByName(aq);$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}as=at;au=$clone(as[0],CY);av=as[1];if(!av){$s=-1;return new O.ptr(IP.nil,0,0);}$s=-1;return $clone(ar,O).Method(au.Index);}return;}if($f===undefined){$f={$blk:O.ptr.prototype.MethodByName};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.MethodByName=function(aq){return this.$val.MethodByName(aq);};O.ptr.prototype.NumField=function(){var aq,ar;aq=this;new P(aq.flag).mustBe(25);ar=(aq.typ.kindType);return ar.fields.$length;};O.prototype.NumField=function(){return this.$val.NumField();};O.ptr.prototype.OverflowComplex=function(aq){var aq,ar,as,at;ar=this;as=new P(ar.flag).kind();at=as;if(at===(15)){return AG(aq.$real)||AG(aq.$imag);}else if(at===(16)){return false;}$panic(new S.ptr("reflect.Value.OverflowComplex",new P(ar.flag).kind()));};O.prototype.OverflowComplex=function(aq){return this.$val.OverflowComplex(aq);};O.ptr.prototype.OverflowFloat=function(aq){var aq,ar,as,at;ar=this;as=new P(ar.flag).kind();at=as;if(at===(13)){return AG(aq);}else if(at===(14)){return false;}$panic(new S.ptr("reflect.Value.OverflowFloat",new P(ar.flag).kind()));};O.prototype.OverflowFloat=function(aq){return this.$val.OverflowFloat(aq);};AG=function(aq){var aq;if(aq<0){aq=-aq;}return 3.4028234663852886e+38<aq&&aq<=1.7976931348623157e+308;};O.ptr.prototype.OverflowInt=function(aq){var aq,ar,as,at,au,av;ar=this;as=new P(ar.flag).kind();at=as;if((at===(2))||(at===(3))||(at===(4))||(at===(5))||(at===(6))){au=$imul(ar.typ.size,8)>>>0;av=$shiftRightInt64(($shiftLeft64(aq,((64-au>>>0)))),((64-au>>>0)));return!((aq.$high===av.$high&&aq.$low===av.$low));}$panic(new S.ptr("reflect.Value.OverflowInt",new P(ar.flag).kind()));};O.prototype.OverflowInt=function(aq){return this.$val.OverflowInt(aq);};O.ptr.prototype.OverflowUint=function(aq){var aq,ar,as,at,au,av;ar=this;as=new P(ar.flag).kind();at=as;if((at===(7))||(at===(12))||(at===(8))||(at===(9))||(at===(10))||(at===(11))){au=$imul(ar.typ.size,8)>>>0;av=$shiftRightUint64(($shiftLeft64(aq,((64-au>>>0)))),((64-au>>>0)));return!((aq.$high===av.$high&&aq.$low===av.$low));}$panic(new S.ptr("reflect.Value.OverflowUint",new P(ar.flag).kind()));};O.prototype.OverflowUint=function(aq){return this.$val.OverflowUint(aq);};O.ptr.prototype.Recv=function(){var aq,ar,as,at,au,av,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=new O.ptr(IP.nil,0,0);ar=false;as=this;new P(as.flag).mustBe(18);new P(as.flag).mustBeExported();au=$clone(as,O).recv(false);$s=1;case 1:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}at=au;aq=at[0];ar=at[1];av=[aq,ar];$s=2;case 2:return av;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.Recv};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.Recv=function(){return this.$val.Recv();};O.ptr.prototype.recv=function(aq){var aq,ar,as,at,au,av,aw,ax,ay,az,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=new O.ptr(IP.nil,0,0);as=false;at=this;au=(at.typ.kindType);if((((au.dir>>0))&1)===0){$panic(new $String("reflect: recv on send-only channel"));}av=au.elem;ar=new O.ptr(av,0,((av.Kind()>>>0)));aw=0;if(FA(av)){aw=GR(av);ar.ptr=aw;ar.flag=(ar.flag|(128))>>>0;}else{aw=((ar.$ptr_ptr||(ar.$ptr_ptr=new JH(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ar))));}ay=HV($clone(at,O).pointer(),aq,aw);$s=1;case 1:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}ax=ay;az=ax[0];as=ax[1];if(!az){ar=new O.ptr(IP.nil,0,0);}$s=-1;return[ar,as];}return;}if($f===undefined){$f={$blk:O.ptr.prototype.recv};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.recv=function(aq){return this.$val.recv(aq);};O.ptr.prototype.Send=function(aq){var aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;new P(ar.flag).mustBe(18);new P(ar.flag).mustBeExported();as=$clone(ar,O).send($clone(aq,O),false);$s=1;case 1:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}as;$s=-1;return;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.Send};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.Send=function(aq){return this.$val.Send(aq);};O.ptr.prototype.send=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,ay,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=false;at=this;au=(at.typ.kindType);if((((au.dir>>0))&2)===0){$panic(new $String("reflect: send on recv-only channel"));}new P(aq.flag).mustBeExported();av=$clone(aq,O).assignTo("reflect.Value.Send",au.elem,0);$s=1;case 1:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aq=av;aw=0;if(!((((aq.flag&128)>>>0)===0))){aw=aq.ptr;}else{aw=((aq.$ptr_ptr||(aq.$ptr_ptr=new JH(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},aq))));}ax=HW($clone(at,O).pointer(),aw,ar);$s=2;case 2:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}as=ax;ay=as;$s=3;case 3:return ay;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.send};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.send=function(aq,ar){return this.$val.send(aq,ar);};O.ptr.prototype.SetBool=function(aq){var aq,ar;ar=this;new P(ar.flag).mustBeAssignable();new P(ar.flag).mustBe(1);(ar.ptr).$set(aq);};O.prototype.SetBool=function(aq){return this.$val.SetBool(aq);};O.ptr.prototype.setRunes=function(aq){var aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;new P(ar.flag).mustBeAssignable();new P(ar.flag).mustBe(23);as=ar.typ.Elem().Kind();$s=3;case 3:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}if(!((as===5))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.Value.setRunes of non-rune slice"));case 2:(ar.ptr).$set(aq);$s=-1;return;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.setRunes};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.setRunes=function(aq){return this.$val.setRunes(aq);};O.ptr.prototype.SetComplex=function(aq){var aq,ar,as,at;ar=this;new P(ar.flag).mustBeAssignable();as=new P(ar.flag).kind();at=as;if(at===(15)){(ar.ptr).$set((new $Complex64(aq.$real,aq.$imag)));}else if(at===(16)){(ar.ptr).$set(aq);}else{$panic(new S.ptr("reflect.Value.SetComplex",new P(ar.flag).kind()));}};O.prototype.SetComplex=function(aq){return this.$val.SetComplex(aq);};O.ptr.prototype.SetFloat=function(aq){var aq,ar,as,at;ar=this;new P(ar.flag).mustBeAssignable();as=new P(ar.flag).kind();at=as;if(at===(13)){(ar.ptr).$set(($fround(aq)));}else if(at===(14)){(ar.ptr).$set(aq);}else{$panic(new S.ptr("reflect.Value.SetFloat",new P(ar.flag).kind()));}};O.prototype.SetFloat=function(aq){return this.$val.SetFloat(aq);};O.ptr.prototype.SetInt=function(aq){var aq,ar,as,at;ar=this;new P(ar.flag).mustBeAssignable();as=new P(ar.flag).kind();at=as;if(at===(2)){(ar.ptr).$set((((aq.$low+((aq.$high>>31)*4294967296))>>0)));}else if(at===(3)){(ar.ptr).$set((((aq.$low+((aq.$high>>31)*4294967296))<<24>>24)));}else if(at===(4)){(ar.ptr).$set((((aq.$low+((aq.$high>>31)*4294967296))<<16>>16)));}else if(at===(5)){(ar.ptr).$set((((aq.$low+((aq.$high>>31)*4294967296))>>0)));}else if(at===(6)){(ar.ptr).$set(aq);}else{$panic(new S.ptr("reflect.Value.SetInt",new P(ar.flag).kind()));}};O.prototype.SetInt=function(aq){return this.$val.SetInt(aq);};O.ptr.prototype.SetMapIndex=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=this;new P(as.flag).mustBe(21);new P(as.flag).mustBeExported();new P(aq.flag).mustBeExported();at=(as.typ.kindType);au=$clone(aq,O).assignTo("reflect.Value.SetMapIndex",at.key,0);$s=1;case 1:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}aq=au;av=0;if(!((((aq.flag&128)>>>0)===0))){av=aq.ptr;}else{av=((aq.$ptr_ptr||(aq.$ptr_ptr=new JH(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},aq))));}if(ar.typ===IP.nil){HB(as.typ,$clone(as,O).pointer(),av);$s=-1;return;}new P(ar.flag).mustBeExported();aw=$clone(ar,O).assignTo("reflect.Value.SetMapIndex",at.elem,0);$s=2;case 2:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ar=aw;ax=0;if(!((((ar.flag&128)>>>0)===0))){ax=ar.ptr;}else{ax=((ar.$ptr_ptr||(ar.$ptr_ptr=new JH(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ar))));}$r=HA(as.typ,$clone(as,O).pointer(),av,ax);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.SetMapIndex};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.SetMapIndex=function(aq,ar){return this.$val.SetMapIndex(aq,ar);};O.ptr.prototype.SetUint=function(aq){var aq,ar,as,at;ar=this;new P(ar.flag).mustBeAssignable();as=new P(ar.flag).kind();at=as;if(at===(7)){(ar.ptr).$set(((aq.$low>>>0)));}else if(at===(8)){(ar.ptr).$set(((aq.$low<<24>>>24)));}else if(at===(9)){(ar.ptr).$set(((aq.$low<<16>>>16)));}else if(at===(10)){(ar.ptr).$set(((aq.$low>>>0)));}else if(at===(11)){(ar.ptr).$set(aq);}else if(at===(12)){(ar.ptr).$set(((aq.$low>>>0)));}else{$panic(new S.ptr("reflect.Value.SetUint",new P(ar.flag).kind()));}};O.prototype.SetUint=function(aq){return this.$val.SetUint(aq);};O.ptr.prototype.SetPointer=function(aq){var aq,ar;ar=this;new P(ar.flag).mustBeAssignable();new P(ar.flag).mustBe(26);(ar.ptr).$set(aq);};O.prototype.SetPointer=function(aq){return this.$val.SetPointer(aq);};O.ptr.prototype.SetString=function(aq){var aq,ar;ar=this;new P(ar.flag).mustBeAssignable();new P(ar.flag).mustBe(24);(ar.ptr).$set(aq);};O.prototype.SetString=function(aq){return this.$val.SetString(aq);};O.ptr.prototype.String=function(){var aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=this;ar=new P(aq.flag).kind();as=ar;if(as===(0)){$s=-1;return"<invalid Value>";}else if(as===(24)){$s=-1;return(aq.ptr).$get();}at=$clone(aq,O).Type().String();$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au="<"+at+" Value>";$s=2;case 2:return au;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.String};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.String=function(){return this.$val.String();};O.ptr.prototype.TryRecv=function(){var aq,ar,as,at,au,av,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=new O.ptr(IP.nil,0,0);ar=false;as=this;new P(as.flag).mustBe(18);new P(as.flag).mustBeExported();au=$clone(as,O).recv(true);$s=1;case 1:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}at=au;aq=at[0];ar=at[1];av=[aq,ar];$s=2;case 2:return av;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.TryRecv};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.TryRecv=function(){return this.$val.TryRecv();};O.ptr.prototype.TrySend=function(aq){var aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;new P(ar.flag).mustBe(18);new P(ar.flag).mustBeExported();as=$clone(ar,O).send($clone(aq,O),true);$s=1;case 1:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;$s=2;case 2:return at;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.TrySend};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.TrySend=function(aq){return this.$val.TrySend(aq);};O.ptr.prototype.Type=function(){var aq,ar,as,at,au,av,aw,ax;aq=this;ar=aq.flag;if(ar===0){$panic(new S.ptr("reflect.Value.Type",0));}if(((ar&512)>>>0)===0){return aq.typ;}as=((aq.flag>>0))>>10>>0;if(aq.typ.Kind()===20){at=(aq.typ.kindType);if(((as>>>0))>=((at.methods.$length>>>0))){$panic(new $String("reflect: internal error: invalid method index"));}av=(au=at.methods,((as<0||as>=au.$length)?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+as]));return aq.typ.typeOff(av.typ);}aw=aq.typ.exportedMethods();if(((as>>>0))>=((aw.$length>>>0))){$panic(new $String("reflect: internal error: invalid method index"));}ax=$clone(((as<0||as>=aw.$length)?($throwRuntimeError("index out of range"),undefined):aw.$array[aw.$offset+as]),CM);return aq.typ.typeOff(ax.mtyp);};O.prototype.Type=function(){return this.$val.Type();};O.ptr.prototype.Uint=function(){var aq,ar,as,at,au;aq=this;ar=new P(aq.flag).kind();as=aq.ptr;at=ar;if(at===(7)){return(new $Uint64(0,(as).$get()));}else if(at===(8)){return(new $Uint64(0,(as).$get()));}else if(at===(9)){return(new $Uint64(0,(as).$get()));}else if(at===(10)){return(new $Uint64(0,(as).$get()));}else if(at===(11)){return(as).$get();}else if(at===(12)){return((au=(as).$get(),new $Uint64(0,au.constructor===Number?au:1)));}$panic(new S.ptr("reflect.Value.Uint",new P(aq.flag).kind()));};O.prototype.Uint=function(){return this.$val.Uint();};O.ptr.prototype.UnsafeAddr=function(){var aq;aq=this;if(aq.typ===IP.nil){$panic(new S.ptr("reflect.Value.UnsafeAddr",0));}if(((aq.flag&256)>>>0)===0){$panic(new $String("reflect.Value.UnsafeAddr of unaddressable value"));}return(aq.ptr);};O.prototype.UnsafeAddr=function(){return this.$val.UnsafeAddr();};AJ=function(aq,ar,as){var aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!($interfaceIsEqual(ar,as))){$s=1;continue;}$s=2;continue;case 1:at=ar.String();$s=3;case 3:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=as.String();$s=4;case 4:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}$panic(new $String(aq+": "+at+" != "+au));case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AJ};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};AU=function(aq){var aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=AV(aq,0);$s=1;case 1:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=ar;$s=2;case 2:return as;}return;}if($f===undefined){$f={$blk:AU};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};$pkg.MakeMap=AU;AV=function(aq,ar){var aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=aq.Kind();$s=3;case 3:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}if(!((as===21))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.MakeMapWithSize of non-map type"));case 2:at=$assertType(aq,IP);au=GX(at,ar);$s=-1;return new O.ptr(at,au,21);}return;}if($f===undefined){$f={$blk:AV};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};$pkg.MakeMapWithSize=AV;AW=function(aq){var aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!(($clone(aq,O).Kind()===22))){$s=-1;return aq;}ar=$clone(aq,O).Elem();$s=1;case 1:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=ar;$s=2;case 2:return as;}return;}if($f===undefined){$f={$blk:AW};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Indirect=AW;O.ptr.prototype.Convert=function(aq){var aq,ar,as,at,au,av,aw,ax,ay,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;if(!((((ar.flag&512)>>>0)===0))){$s=1;continue;}$s=2;continue;case 1:as=HO("Convert",$clone(ar,O));$s=3;case 3:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as;case 2:at=aq.common();$s=4;case 4:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=AZ(at,ar.typ);$s=5;case 5:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au;if(av===$throwNilPointerError){$s=6;continue;}$s=7;continue;case 6:aw=aq.String();$s=8;case 8:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}$panic(new $String("reflect.Value.Convert: value of type "+ar.typ.String()+" cannot be converted to type "+aw));case 7:ax=av($clone(ar,O),aq);$s=9;case 9:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ay=ax;$s=10;case 10:return ay;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.Convert};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.Convert=function(aq){return this.$val.Convert(aq);};AZ=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=ar.Kind();if((as===(2))||(as===(3))||(as===(4))||(as===(5))||(as===(6))){$s=2;continue;}if((as===(7))||(as===(8))||(as===(9))||(as===(10))||(as===(11))||(as===(12))){$s=3;continue;}if((as===(13))||(as===(14))){$s=4;continue;}if((as===(15))||(as===(16))){$s=5;continue;}if(as===(24)){$s=6;continue;}if(as===(23)){$s=7;continue;}if(as===(18)){$s=8;continue;}$s=9;continue;case 2:at=aq.Kind();if((at===(2))||(at===(3))||(at===(4))||(at===(5))||(at===(6))||(at===(7))||(at===(8))||(at===(9))||(at===(10))||(at===(11))||(at===(12))){$s=-1;return BG;}else if((at===(13))||(at===(14))){$s=-1;return BK;}else if(at===(24)){$s=-1;return BO;}$s=9;continue;case 3:au=aq.Kind();if((au===(2))||(au===(3))||(au===(4))||(au===(5))||(au===(6))||(au===(7))||(au===(8))||(au===(9))||(au===(10))||(au===(11))||(au===(12))){$s=-1;return BH;}else if((au===(13))||(au===(14))){$s=-1;return BL;}else if(au===(24)){$s=-1;return BP;}$s=9;continue;case 4:av=aq.Kind();if((av===(2))||(av===(3))||(av===(4))||(av===(5))||(av===(6))){$s=-1;return BI;}else if((av===(7))||(av===(8))||(av===(9))||(av===(10))||(av===(11))||(av===(12))){$s=-1;return BJ;}else if((av===(13))||(av===(14))){$s=-1;return BM;}$s=9;continue;case 5:aw=aq.Kind();if((aw===(15))||(aw===(16))){$s=-1;return BN;}$s=9;continue;case 6:if(!(aq.Kind()===23)){ax=false;$s=12;continue s;}ay=aq.Elem().PkgPath();$s=13;case 13:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}ax=ay==="";case 12:if(ax){$s=10;continue;}$s=11;continue;case 10:az=aq.Elem().Kind();$s=15;case 15:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=az;if(ba===(8)){$s=-1;return BR;}else if(ba===(5)){$s=-1;return BT;}case 14:case 11:$s=9;continue;case 7:if(!(aq.Kind()===24)){bb=false;$s=18;continue s;}bc=ar.Elem().PkgPath();$s=19;case 19:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}bb=bc==="";case 18:if(bb){$s=16;continue;}$s=17;continue;case 16:bd=ar.Elem().Kind();$s=21;case 21:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}be=bd;if(be===(8)){$s=-1;return BQ;}else if(be===(5)){$s=-1;return BS;}case 20:case 17:if(!(aq.Kind()===22)){bg=false;$s=25;continue s;}bh=aq.Elem().Kind();$s=26;case 26:if($c){$c=false;bh=bh.$blk();}if(bh&&bh.$blk!==undefined){break s;}bg=bh===17;case 25:if(!(bg)){bf=false;$s=24;continue s;}bi=aq.Elem().Elem();$s=27;case 27:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}bf=$interfaceIsEqual(ar.Elem(),bi);case 24:if(bf){$s=22;continue;}$s=23;continue;case 22:$s=-1;return HJ;case 23:$s=9;continue;case 8:if(!(aq.Kind()===18)){bj=false;$s=30;continue s;}bk=DR(aq,ar);$s=31;case 31:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}bj=bk;case 30:if(bj){$s=28;continue;}$s=29;continue;case 28:$s=-1;return HI;case 29:case 9:case 1:bl=DU(aq,ar,false);$s=34;case 34:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}if(bl){$s=32;continue;}$s=33;continue;case 32:$s=-1;return HI;case 33:if(!((aq.Kind()===22)&&aq.Name()===""&&(ar.Kind()===22)&&ar.Name()==="")){bm=false;$s=37;continue s;}bn=aq.Elem().common();$s=38;case 38:if($c){$c=false;bn=bn.$blk();}if(bn&&bn.$blk!==undefined){break s;}bo=bn;bp=ar.Elem().common();$s=39;case 39:if($c){$c=false;bp=bp.$blk();}if(bp&&bp.$blk!==undefined){break s;}bq=bp;br=DU(bo,bq,false);$s=40;case 40:if($c){$c=false;br=br.$blk();}if(br&&br.$blk!==undefined){break s;}bm=br;case 37:if(bm){$s=35;continue;}$s=36;continue;case 35:$s=-1;return HI;case 36:if(DQ(aq,ar)){if(ar.Kind()===20){$s=-1;return BV;}$s=-1;return BU;}$s=-1;return $throwNilPointerError;}return;}if($f===undefined){$f={$blk:AZ};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.$s=$s;$f.$r=$r;return $f;};BA=function(aq,ar,as){var aq,ar,as,at,au,av,aw,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:at=as.common();$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;av=GR(au);aw=au.size;if(aw===(4)){(av).$set(($fround(ar)));}else if(aw===(8)){(av).$set(ar);}$s=-1;return new O.ptr(au,av,(((aq|128)>>>0)|((au.Kind()>>>0)))>>>0);}return;}if($f===undefined){$f={$blk:BA};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.$s=$s;$f.$r=$r;return $f;};BB=function(aq,ar,as){var aq,ar,as,at,au,av,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:at=as.common();$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;av=GR(au);(av).$set(ar);$s=-1;return new O.ptr(au,av,(((aq|128)>>>0)|((au.Kind()>>>0)))>>>0);}return;}if($f===undefined){$f={$blk:BB};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.$s=$s;$f.$r=$r;return $f;};BC=function(aq,ar,as){var aq,ar,as,at,au,av,aw,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:at=as.common();$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;av=GR(au);aw=au.size;if(aw===(8)){(av).$set((new $Complex64(ar.$real,ar.$imag)));}else if(aw===(16)){(av).$set(ar);}$s=-1;return new O.ptr(au,av,(((aq|128)>>>0)|((au.Kind()>>>0)))>>>0);}return;}if($f===undefined){$f={$blk:BC};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.$s=$s;$f.$r=$r;return $f;};BD=function(aq,ar,as){var aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:at=$clone(FM(as),O).Elem();$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;$clone(au,O).SetString(ar);au.flag=(((au.flag&~256)>>>0)|aq)>>>0;$s=-1;return au;}return;}if($f===undefined){$f={$blk:BD};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};BE=function(aq,ar,as){var aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:at=$clone(FM(as),O).Elem();$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;$r=$clone(au,O).SetBytes(ar);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}au.flag=(((au.flag&~256)>>>0)|aq)>>>0;$s=-1;return au;}return;}if($f===undefined){$f={$blk:BE};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};BF=function(aq,ar,as){var aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:at=$clone(FM(as),O).Elem();$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;$r=$clone(au,O).setRunes(ar);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}au.flag=(((au.flag&~256)>>>0)|aq)>>>0;$s=-1;return au;}return;}if($f===undefined){$f={$blk:BF};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};BG=function(aq,ar){var aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:at=GS(new P(aq.flag).ro(),((as=$clone(aq,O).Int(),new $Uint64(as.$high,as.$low))),ar);$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;$s=2;case 2:return au;}return;}if($f===undefined){$f={$blk:BG};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};BH=function(aq,ar){var aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=GS(new P(aq.flag).ro(),$clone(aq,O).Uint(),ar);$s=1;case 1:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;$s=2;case 2:return at;}return;}if($f===undefined){$f={$blk:BH};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};BI=function(aq,ar){var aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:at=GS(new P(aq.flag).ro(),((as=(new $Int64(0,$clone(aq,O).Float())),new $Uint64(as.$high,as.$low))),ar);$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;$s=2;case 2:return au;}return;}if($f===undefined){$f={$blk:BI};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};BJ=function(aq,ar){var aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=GS(new P(aq.flag).ro(),(new $Uint64(0,$clone(aq,O).Float())),ar);$s=1;case 1:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;$s=2;case 2:return at;}return;}if($f===undefined){$f={$blk:BJ};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};BK=function(aq,ar){var aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=BA(new P(aq.flag).ro(),($flatten64($clone(aq,O).Int())),ar);$s=1;case 1:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;$s=2;case 2:return at;}return;}if($f===undefined){$f={$blk:BK};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};BL=function(aq,ar){var aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=BA(new P(aq.flag).ro(),($flatten64($clone(aq,O).Uint())),ar);$s=1;case 1:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;$s=2;case 2:return at;}return;}if($f===undefined){$f={$blk:BL};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};BM=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,ay,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:at=$clone(aq,O).Type().Kind();$s=4;case 4:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}if(!(at===13)){as=false;$s=3;continue s;}au=ar.Kind();$s=5;case 5:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}as=au===13;case 3:if(as){$s=1;continue;}$s=2;continue;case 1:av=BB(new P(aq.flag).ro(),(aq.ptr).$get(),ar);$s=6;case 6:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=av;$s=7;case 7:return aw;case 2:ax=BA(new P(aq.flag).ro(),$clone(aq,O).Float(),ar);$s=8;case 8:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ay=ax;$s=9;case 9:return ay;}return;}if($f===undefined){$f={$blk:BM};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.$s=$s;$f.$r=$r;return $f;};BN=function(aq,ar){var aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=BC(new P(aq.flag).ro(),$clone(aq,O).Complex(),ar);$s=1;case 1:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;$s=2;case 2:return at;}return;}if($f===undefined){$f={$blk:BN};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};BO=function(aq,ar){var aq,ar,as,at,au,av,aw,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as="\xEF\xBF\xBD";at=$clone(aq,O).Int();if((au=(new $Int64(0,(((at.$low+((at.$high>>31)*4294967296))>>0)))),(au.$high===at.$high&&au.$low===at.$low))){as=($encodeRune((((at.$low+((at.$high>>31)*4294967296))>>0))));}av=BD(new P(aq.flag).ro(),as,ar);$s=1;case 1:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=av;$s=2;case 2:return aw;}return;}if($f===undefined){$f={$blk:BO};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.$s=$s;$f.$r=$r;return $f;};BP=function(aq,ar){var aq,ar,as,at,au,av,aw,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as="\xEF\xBF\xBD";at=$clone(aq,O).Uint();if((au=(new $Uint64(0,((at.$low>>0)))),(au.$high===at.$high&&au.$low===at.$low))){as=($encodeRune(((at.$low>>0))));}av=BD(new P(aq.flag).ro(),as,ar);$s=1;case 1:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=av;$s=2;case 2:return aw;}return;}if($f===undefined){$f={$blk:BP};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.$s=$s;$f.$r=$r;return $f;};BQ=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=new P(aq.flag).ro();at=$clone(aq,O).Bytes();$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=($bytesToString(at));av=ar;aw=BD(as,au,av);$s=2;case 2:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;$s=3;case 3:return ax;}return;}if($f===undefined){$f={$blk:BQ};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};BR=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=new P(aq.flag).ro();at=$clone(aq,O).String();$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=(new JA($stringToBytes(at)));av=ar;aw=BE(as,au,av);$s=2;case 2:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;$s=3;case 3:return ax;}return;}if($f===undefined){$f={$blk:BR};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};BS=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=new P(aq.flag).ro();at=$clone(aq,O).runes();$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=($runesToString(at));av=ar;aw=BD(as,au,av);$s=2;case 2:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;$s=3;case 3:return ax;}return;}if($f===undefined){$f={$blk:BS};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};BT=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=new P(aq.flag).ro();at=$clone(aq,O).String();$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=(new JJ($stringToRunes(at)));av=ar;aw=BF(as,au,av);$s=2;case 2:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;$s=3;case 3:return ax;}return;}if($f===undefined){$f={$blk:BT};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};BU=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,ay,az,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=ar.common();$s=1;case 1:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=GR(as);$s=2;case 2:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;av=HM($clone(aq,O),false);$s=3;case 3:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=av;ax=ar.NumMethod();$s=7;case 7:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}if(ax===0){$s=4;continue;}$s=5;continue;case 4:(au).$set(aw);$s=6;continue;case 5:HN($assertType(ar,IP),aw,au);case 6:ay=ar.common();$s=8;case 8:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=new O.ptr(ay,au,(((new P(aq.flag).ro()|128)>>>0)|20)>>>0);$s=9;case 9:return az;}return;}if($f===undefined){$f={$blk:BU};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.$s=$s;$f.$r=$r;return $f;};BV=function(aq,ar){var aq,ar,as,at,au,av,aw,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($clone(aq,O).IsNil()){$s=1;continue;}$s=2;continue;case 1:as=GQ(ar);$s=3;case 3:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;at.flag=(at.flag|(new P(aq.flag).ro()))>>>0;$s=-1;return at;case 2:au=$clone(aq,O).Elem();$s=4;case 4:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=BU($clone(au,O),ar);$s=5;case 5:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=av;$s=6;case 6:return aw;}return;}if($f===undefined){$f={$blk:BV};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.$s=$s;$f.$r=$r;return $f;};CV.ptr.prototype.offset=function(){var aq;aq=this;return aq.offsetEmbed>>>1>>>0;};CV.prototype.offset=function(){return this.$val.offset();};CV.ptr.prototype.embedded=function(){var aq;aq=this;return!((((aq.offsetEmbed&1)>>>0)===0));};CV.prototype.embedded=function(){return this.$val.embedded();};CY.ptr.prototype.IsExported=function(){var aq;aq=this;return aq.PkgPath==="";};CY.prototype.IsExported=function(){return this.$val.IsExported();};CJ.prototype.String=function(){var aq;aq=this.$val;if(((aq>>0))<CZ.$length){return((aq<0||aq>=CZ.$length)?($throwRuntimeError("index out of range"),undefined):CZ.$array[CZ.$offset+aq]);}return"kind"+F.Itoa(((aq>>0)));};$ptrType(CJ).prototype.String=function(){return new CJ(this.$get()).String();};CL.ptr.prototype.String=function(){var aq,ar;aq=this;ar=$clone(aq.nameOff(aq.str),FT).name();if(!((((aq.tflag&2)>>>0)===0))){return $substring(ar,1);}return ar;};CL.prototype.String=function(){return this.$val.String();};CL.ptr.prototype.Size=function(){var aq;aq=this;return aq.size;};CL.prototype.Size=function(){return this.$val.Size();};CL.ptr.prototype.Bits=function(){var aq,ar;aq=this;if(aq===IP.nil){$panic(new $String("reflect: Bits of nil Type"));}ar=aq.Kind();if(ar<2||ar>16){$panic(new $String("reflect: Bits of non-arithmetic Type "+aq.String()));}return $imul(((aq.size>>0)),8);};CL.prototype.Bits=function(){return this.$val.Bits();};CL.ptr.prototype.Align=function(){var aq;aq=this;return((aq.align>>0));};CL.prototype.Align=function(){return this.$val.Align();};CL.ptr.prototype.FieldAlign=function(){var aq;aq=this;return((aq.fieldAlign>>0));};CL.prototype.FieldAlign=function(){return this.$val.FieldAlign();};CL.ptr.prototype.Kind=function(){var aq;aq=this;return((((aq.kind&31)>>>0)>>>0));};CL.prototype.Kind=function(){return this.$val.Kind();};CL.ptr.prototype.common=function(){var aq;aq=this;return aq;};CL.prototype.common=function(){return this.$val.common();};CL.ptr.prototype.exportedMethods=function(){var aq,ar;aq=this;ar=aq.uncommon();if(ar===JK.nil){return JL.nil;}return ar.exportedMethods();};CL.prototype.exportedMethods=function(){return this.$val.exportedMethods();};CL.ptr.prototype.NumMethod=function(){var aq,ar;aq=this;if(aq.Kind()===20){ar=(aq.kindType);return ar.NumMethod();}return aq.exportedMethods().$length;};CL.prototype.NumMethod=function(){return this.$val.NumMethod();};CL.ptr.prototype.MethodByName=function(aq){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=new CY.ptr("","",$ifaceNil,new O.ptr(IP.nil,0,0),0);as=false;at=this;if(at.Kind()===20){au=(at.kindType);av=au.MethodByName(aq);CY.copy(ar,av[0]);as=av[1];$s=-1;return[ar,as];}aw=at.uncommon();if(aw===JK.nil){ax=new CY.ptr("","",$ifaceNil,new O.ptr(IP.nil,0,0),0);ay=false;CY.copy(ar,ax);as=ay;$s=-1;return[ar,as];}az=aw.exportedMethods();ba=0;case 1:if(!(ba<az.$length)){$s=2;continue;}bb=ba;bc=$clone(((ba<0||ba>=az.$length)?($throwRuntimeError("index out of range"),undefined):az.$array[az.$offset+ba]),CM);if($clone(at.nameOff(bc.name),FT).name()===aq){$s=3;continue;}$s=4;continue;case 3:be=at.Method(bb);$s=5;case 5:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}bd=$clone(be,CY);bf=true;CY.copy(ar,bd);as=bf;bg=[ar,as];$s=6;case 6:return bg;case 4:ba++;$s=1;continue;case 2:bh=new CY.ptr("","",$ifaceNil,new O.ptr(IP.nil,0,0),0);bi=false;CY.copy(ar,bh);as=bi;$s=-1;return[ar,as];}return;}if($f===undefined){$f={$blk:CL.ptr.prototype.MethodByName};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.$s=$s;$f.$r=$r;return $f;};CL.prototype.MethodByName=function(aq){return this.$val.MethodByName(aq);};CL.ptr.prototype.PkgPath=function(){var aq,ar;aq=this;if(((aq.tflag&4)>>>0)===0){return"";}ar=aq.uncommon();if(ar===JK.nil){return"";}return $clone(aq.nameOff(ar.pkgPath),FT).name();};CL.prototype.PkgPath=function(){return this.$val.PkgPath();};CL.ptr.prototype.hasName=function(){var aq;aq=this;return!((((aq.tflag&4)>>>0)===0));};CL.prototype.hasName=function(){return this.$val.hasName();};CL.ptr.prototype.Name=function(){var aq,ar,as;aq=this;if(!aq.hasName()){return"";}ar=aq.String();as=ar.length-1>>0;while(true){if(!(as>=0&&!((ar.charCodeAt(as)===46)))){break;}as=as-(1)>>0;}return $substring(ar,(as+1>>0));};CL.prototype.Name=function(){return this.$val.Name();};CL.ptr.prototype.ChanDir=function(){var aq,ar;aq=this;if(!((aq.Kind()===18))){$panic(new $String("reflect: ChanDir of non-chan type "+aq.String()));}ar=(aq.kindType);return((ar.dir>>0));};CL.prototype.ChanDir=function(){return this.$val.ChanDir();};CL.ptr.prototype.IsVariadic=function(){var aq,ar;aq=this;if(!((aq.Kind()===19))){$panic(new $String("reflect: IsVariadic of non-func type "+aq.String()));}ar=(aq.kindType);return!((((ar.outCount&32768)>>>0)===0));};CL.prototype.IsVariadic=function(){return this.$val.IsVariadic();};CL.ptr.prototype.Elem=function(){var aq,ar,as,at,au,av,aw;aq=this;ar=aq.Kind();if(ar===(17)){as=(aq.kindType);return EV(as.elem);}else if(ar===(18)){at=(aq.kindType);return EV(at.elem);}else if(ar===(21)){au=(aq.kindType);return EV(au.elem);}else if(ar===(22)){av=(aq.kindType);return EV(av.elem);}else if(ar===(23)){aw=(aq.kindType);return EV(aw.elem);}$panic(new $String("reflect: Elem of invalid type "+aq.String()));};CL.prototype.Elem=function(){return this.$val.Elem();};CL.ptr.prototype.Field=function(aq){var aq,ar,as;ar=this;if(!((ar.Kind()===25))){$panic(new $String("reflect: Field of non-struct type "+ar.String()));}as=(ar.kindType);return as.Field(aq);};CL.prototype.Field=function(aq){return this.$val.Field(aq);};CL.ptr.prototype.FieldByIndex=function(aq){var aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;if(!((ar.Kind()===25))){$panic(new $String("reflect: FieldByIndex of non-struct type "+ar.String()));}as=(ar.kindType);at=as.FieldByIndex(aq);$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;$s=2;case 2:return au;}return;}if($f===undefined){$f={$blk:CL.ptr.prototype.FieldByIndex};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};CL.prototype.FieldByIndex=function(aq){return this.$val.FieldByIndex(aq);};CL.ptr.prototype.FieldByName=function(aq){var aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;if(!((ar.Kind()===25))){$panic(new $String("reflect: FieldByName of non-struct type "+ar.String()));}as=(ar.kindType);at=as.FieldByName(aq);$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;$s=2;case 2:return au;}return;}if($f===undefined){$f={$blk:CL.ptr.prototype.FieldByName};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};CL.prototype.FieldByName=function(aq){return this.$val.FieldByName(aq);};CL.ptr.prototype.FieldByNameFunc=function(aq){var aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;if(!((ar.Kind()===25))){$panic(new $String("reflect: FieldByNameFunc of non-struct type "+ar.String()));}as=(ar.kindType);at=as.FieldByNameFunc(aq);$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;$s=2;case 2:return au;}return;}if($f===undefined){$f={$blk:CL.ptr.prototype.FieldByNameFunc};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};CL.prototype.FieldByNameFunc=function(aq){return this.$val.FieldByNameFunc(aq);};CL.ptr.prototype.In=function(aq){var aq,ar,as,at;ar=this;if(!((ar.Kind()===19))){$panic(new $String("reflect: In of non-func type "+ar.String()));}as=(ar.kindType);return EV((at=as.in$(),((aq<0||aq>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+aq])));};CL.prototype.In=function(aq){return this.$val.In(aq);};CL.ptr.prototype.Key=function(){var aq,ar;aq=this;if(!((aq.Kind()===21))){$panic(new $String("reflect: Key of non-map type "+aq.String()));}ar=(aq.kindType);return EV(ar.key);};CL.prototype.Key=function(){return this.$val.Key();};CL.ptr.prototype.Len=function(){var aq,ar;aq=this;if(!((aq.Kind()===17))){$panic(new $String("reflect: Len of non-array type "+aq.String()));}ar=(aq.kindType);return((ar.len>>0));};CL.prototype.Len=function(){return this.$val.Len();};CL.ptr.prototype.NumField=function(){var aq,ar;aq=this;if(!((aq.Kind()===25))){$panic(new $String("reflect: NumField of non-struct type "+aq.String()));}ar=(aq.kindType);return ar.fields.$length;};CL.prototype.NumField=function(){return this.$val.NumField();};CL.ptr.prototype.NumIn=function(){var aq,ar;aq=this;if(!((aq.Kind()===19))){$panic(new $String("reflect: NumIn of non-func type "+aq.String()));}ar=(aq.kindType);return((ar.inCount>>0));};CL.prototype.NumIn=function(){return this.$val.NumIn();};CL.ptr.prototype.NumOut=function(){var aq,ar;aq=this;if(!((aq.Kind()===19))){$panic(new $String("reflect: NumOut of non-func type "+aq.String()));}ar=(aq.kindType);return ar.out().$length;};CL.prototype.NumOut=function(){return this.$val.NumOut();};CL.ptr.prototype.Out=function(aq){var aq,ar,as,at;ar=this;if(!((ar.Kind()===19))){$panic(new $String("reflect: Out of non-func type "+ar.String()));}as=(ar.kindType);return EV((at=as.out(),((aq<0||aq>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+aq])));};CL.prototype.Out=function(aq){return this.$val.Out(aq);};CN.prototype.String=function(){var aq,ar;aq=this.$val;ar=aq;if(ar===(2)){return"chan<-";}else if(ar===(1)){return"<-chan";}else if(ar===(3)){return"chan";}return"ChanDir"+F.Itoa(((aq>>0)));};$ptrType(CN).prototype.String=function(){return new CN(this.$get()).String();};CR.ptr.prototype.Method=function(aq){var aq,ar,as,at,au,av;ar=new CY.ptr("","",$ifaceNil,new O.ptr(IP.nil,0,0),0);as=this;if(aq<0||aq>=as.methods.$length){return ar;}au=(at=as.methods,((aq<0||aq>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+aq]));av=$clone(as.rtype.nameOff(au.name),FT);ar.Name=$clone(av,FT).name();if(!$clone(av,FT).isExported()){ar.PkgPath=$clone(av,FT).pkgPath();if(ar.PkgPath===""){ar.PkgPath=$clone(as.pkgPath,FT).name();}}ar.Type=EV(as.rtype.typeOff(au.typ));ar.Index=aq;return ar;};CR.prototype.Method=function(aq){return this.$val.Method(aq);};CR.ptr.prototype.NumMethod=function(){var aq;aq=this;return aq.methods.$length;};CR.prototype.NumMethod=function(){return this.$val.NumMethod();};CR.ptr.prototype.MethodByName=function(aq){var aq,ar,as,at,au,av,aw,ax,ay,az,ba;ar=new CY.ptr("","",$ifaceNil,new O.ptr(IP.nil,0,0),0);as=false;at=this;if(at===JM.nil){return[ar,as];}au=JN.nil;av=at.methods;aw=0;while(true){if(!(aw<av.$length)){break;}ax=aw;au=(ay=at.methods,((ax<0||ax>=ay.$length)?($throwRuntimeError("index out of range"),undefined):ay.$array[ay.$offset+ax]));if($clone(at.rtype.nameOff(au.name),FT).name()===aq){az=$clone(at.Method(ax),CY);ba=true;CY.copy(ar,az);as=ba;return[ar,as];}aw++;}return[ar,as];};CR.prototype.MethodByName=function(aq){return this.$val.MethodByName(aq);};DK.ptr.prototype.IsExported=function(){var aq;aq=this;return aq.PkgPath==="";};DK.prototype.IsExported=function(){return this.$val.IsExported();};DL.prototype.Get=function(aq){var aq,ar,as,at;ar=this.$val;as=new DL(ar).Lookup(aq);at=as[0];return at;};$ptrType(DL).prototype.Get=function(aq){return new DL(this.$get()).Get(aq);};DL.prototype.Lookup=function(aq){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd;ar="";as=false;at=this.$val;while(true){if(!(!(at===""))){break;}au=0;while(true){if(!(au<at.length&&(at.charCodeAt(au)===32))){break;}au=au+(1)>>0;}at=$substring(at,au);if(at===""){break;}au=0;while(true){if(!(au<at.length&&at.charCodeAt(au)>32&&!((at.charCodeAt(au)===58))&&!((at.charCodeAt(au)===34))&&!((at.charCodeAt(au)===127)))){break;}au=au+(1)>>0;}if((au===0)||(au+1>>0)>=at.length||!((at.charCodeAt(au)===58))||!((at.charCodeAt((au+1>>0))===34))){break;}av=($substring(at,0,au));at=$substring(at,(au+1>>0));au=1;while(true){if(!(au<at.length&&!((at.charCodeAt(au)===34)))){break;}if(at.charCodeAt(au)===92){au=au+(1)>>0;}au=au+(1)>>0;}if(au>=at.length){break;}aw=($substring(at,0,(au+1>>0)));at=$substring(at,(au+1>>0));if(aq===av){ax=F.Unquote(aw);ay=ax[0];az=ax[1];if(!($interfaceIsEqual(az,$ifaceNil))){break;}ba=ay;bb=true;ar=ba;as=bb;return[ar,as];}}bc="";bd=false;ar=bc;as=bd;return[ar,as];};$ptrType(DL).prototype.Lookup=function(aq){return new DL(this.$get()).Lookup(aq);};CW.ptr.prototype.Field=function(aq){var aq,ar,as,at,au,av;ar=new DK.ptr("","",$ifaceNil,"",0,IW.nil,false);as=this;if(aq<0||aq>=as.fields.$length){$panic(new $String("reflect: Field index out of bounds"));}au=(at=as.fields,((aq<0||aq>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+aq]));ar.Type=EV(au.typ);ar.Name=$clone(au.name,FT).name();ar.Anonymous=au.embedded();if(!$clone(au.name,FT).isExported()){ar.PkgPath=$clone(as.pkgPath,FT).name();}av=$clone(au.name,FT).tag();if(!(av==="")){ar.Tag=(av);}ar.Offset=au.offset();ar.Index=new IW([aq]);return ar;};CW.prototype.Field=function(aq){return this.$val.Field(aq);};CW.ptr.prototype.FieldByIndex=function(aq){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=new DK.ptr("","",$ifaceNil,"",0,IW.nil,false);as=this;ar.Type=EV(as.rtype);at=aq;au=0;case 1:if(!(au<at.$length)){$s=2;continue;}av=au;aw=((au<0||au>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+au]);if(av>0){$s=3;continue;}$s=4;continue;case 3:ax=ar.Type;az=ax.Kind();$s=8;case 8:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}if(!(az===22)){ay=false;$s=7;continue s;}ba=ax.Elem();$s=9;case 9:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=ba.Kind();$s=10;case 10:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}ay=bb===25;case 7:if(ay){$s=5;continue;}$s=6;continue;case 5:bc=ax.Elem();$s=11;case 11:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}ax=bc;case 6:ar.Type=ax;case 4:bd=ar.Type.Field(aw);$s=12;case 12:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}DK.copy(ar,bd);au++;$s=1;continue;case 2:$s=-1;return ar;}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.FieldByIndex};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.FieldByIndex=function(aq){return this.$val.FieldByIndex(aq);};CW.ptr.prototype.FieldByNameFunc=function(aq){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=new DK.ptr("","",$ifaceNil,"",0,IW.nil,false);as=false;at=this;au=new JO([]);av=new JO([new DM.ptr(at,IW.nil)]);aw=false;ax=$makeMap(JP.keyFor,[]);case 1:if(!(av.$length>0)){$s=2;continue;}ay=av;az=$subslice(au,0,0);au=ay;av=az;ba=aw;aw=false;bb=au;bc=0;case 3:if(!(bc<bb.$length)){$s=4;continue;}bd=$clone(((bc<0||bc>=bb.$length)?($throwRuntimeError("index out of range"),undefined):bb.$array[bb.$offset+bc]),DM);be=bd.typ;if((bf=ax[JP.keyFor(be)],bf!==undefined?bf.v:false)){bc++;$s=3;continue;}bg=be;(ax||$throwRuntimeError("assignment to entry in nil map"))[JP.keyFor(bg)]={k:bg,v:true};bh=be.fields;bi=0;case 5:if(!(bi<bh.$length)){$s=6;continue;}bj=bi;bl=(bk=be.fields,((bj<0||bj>=bk.$length)?($throwRuntimeError("index out of range"),undefined):bk.$array[bk.$offset+bj]));bm=$clone(bl.name,FT).name();bn=IP.nil;if(bl.embedded()){$s=7;continue;}$s=8;continue;case 7:bn=bl.typ;if(bn.Kind()===22){$s=9;continue;}$s=10;continue;case 9:bo=bn.Elem().common();$s=11;case 11:if($c){$c=false;bo=bo.$blk();}if(bo&&bo.$blk!==undefined){break s;}bn=bo;case 10:case 8:bp=aq(bm);$s=14;case 14:if($c){$c=false;bp=bp.$blk();}if(bp&&bp.$blk!==undefined){break s;}if(bp){$s=12;continue;}$s=13;continue;case 12:if((bq=ba[JP.keyFor(be)],bq!==undefined?bq.v:0)>1||as){br=new DK.ptr("","",$ifaceNil,"",0,IW.nil,false);bs=false;DK.copy(ar,br);as=bs;$s=-1;return[ar,as];}DK.copy(ar,be.Field(bj));ar.Index=IW.nil;ar.Index=$appendSlice(ar.Index,bd.index);ar.Index=$append(ar.Index,bj);as=true;bi++;$s=5;continue;case 13:if(as||bn===IP.nil||!((bn.Kind()===25))){bi++;$s=5;continue;}bt=(bn.kindType);if((bu=aw[JP.keyFor(bt)],bu!==undefined?bu.v:0)>0){bv=bt;(aw||$throwRuntimeError("assignment to entry in nil map"))[JP.keyFor(bv)]={k:bv,v:2};bi++;$s=5;continue;}if(aw===false){aw=$makeMap(JP.keyFor,[]);}bw=bt;(aw||$throwRuntimeError("assignment to entry in nil map"))[JP.keyFor(bw)]={k:bw,v:1};if((bx=ba[JP.keyFor(be)],bx!==undefined?bx.v:0)>1){by=bt;(aw||$throwRuntimeError("assignment to entry in nil map"))[JP.keyFor(by)]={k:by,v:2};}bz=IW.nil;bz=$appendSlice(bz,bd.index);bz=$append(bz,bj);av=$append(av,new DM.ptr(bt,bz));bi++;$s=5;continue;case 6:bc++;$s=3;continue;case 4:if(as){$s=2;continue;}$s=1;continue;case 2:$s=-1;return[ar,as];}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.FieldByNameFunc};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.FieldByNameFunc=function(aq){return this.$val.FieldByNameFunc(aq);};CW.ptr.prototype.FieldByName=function(aq){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=[aq];ar=new DK.ptr("","",$ifaceNil,"",0,IW.nil,false);as=false;at=this;au=false;if(!(aq[0]==="")){av=at.fields;aw=0;while(true){if(!(aw<av.$length)){break;}ax=aw;az=(ay=at.fields,((ax<0||ax>=ay.$length)?($throwRuntimeError("index out of range"),undefined):ay.$array[ay.$offset+ax]));if($clone(az.name,FT).name()===aq[0]){ba=$clone(at.Field(ax),DK);bb=true;DK.copy(ar,ba);as=bb;$s=-1;return[ar,as];}if(az.embedded()){au=true;}aw++;}}if(!au){$s=-1;return[ar,as];}bd=at.FieldByNameFunc((function(aq){return function(bd){var bd;return bd===aq[0];};})(aq));$s=1;case 1:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}bc=bd;DK.copy(ar,bc[0]);as=bc[1];be=[ar,as];$s=2;case 2:return be;}return;}if($f===undefined){$f={$blk:CW.ptr.prototype.FieldByName};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.$s=$s;$f.$r=$r;return $f;};CW.prototype.FieldByName=function(aq){return this.$val.FieldByName(aq);};DO=function(aq){var aq;return $assertType(aq,IP).ptrTo();};$pkg.PtrTo=DO;CL.ptr.prototype.Implements=function(aq){var aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;if($interfaceIsEqual(aq,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.Implements"));}as=aq.Kind();$s=3;case 3:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}if(!((as===20))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect: non-interface type passed to Type.Implements"));case 2:$s=-1;return DQ($assertType(aq,IP),ar);}return;}if($f===undefined){$f={$blk:CL.ptr.prototype.Implements};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};CL.prototype.Implements=function(aq){return this.$val.Implements(aq);};CL.ptr.prototype.AssignableTo=function(aq){var aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;if($interfaceIsEqual(aq,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.AssignableTo"));}as=$assertType(aq,IP);at=DS(as,ar);$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at||DQ(as,ar);$s=2;case 2:return au;}return;}if($f===undefined){$f={$blk:CL.ptr.prototype.AssignableTo};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};CL.prototype.AssignableTo=function(aq){return this.$val.AssignableTo(aq);};CL.ptr.prototype.ConvertibleTo=function(aq){var aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;if($interfaceIsEqual(aq,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.ConvertibleTo"));}as=$assertType(aq,IP);at=AZ(as,ar);$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=!(at===$throwNilPointerError);$s=2;case 2:return au;}return;}if($f===undefined){$f={$blk:CL.ptr.prototype.ConvertibleTo};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};CL.prototype.ConvertibleTo=function(aq){return this.$val.ConvertibleTo(aq);};DQ=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo;if(!((aq.Kind()===20))){return false;}as=(aq.kindType);if(as.methods.$length===0){return true;}if(ar.Kind()===20){at=(ar.kindType);au=0;av=0;while(true){if(!(av<at.methods.$length)){break;}ax=(aw=as.methods,((au<0||au>=aw.$length)?($throwRuntimeError("index out of range"),undefined):aw.$array[aw.$offset+au]));ay=$clone(as.rtype.nameOff(ax.name),FT);ba=(az=at.methods,((av<0||av>=az.$length)?($throwRuntimeError("index out of range"),undefined):az.$array[az.$offset+av]));bb=$clone(ar.nameOff(ba.name),FT);if($clone(bb,FT).name()===$clone(ay,FT).name()&&ar.typeOff(ba.typ)===as.rtype.typeOff(ax.typ)){if(!$clone(ay,FT).isExported()){bc=$clone(ay,FT).pkgPath();if(bc===""){bc=$clone(as.pkgPath,FT).name();}bd=$clone(bb,FT).pkgPath();if(bd===""){bd=$clone(at.pkgPath,FT).name();}if(!(bc===bd)){av=av+(1)>>0;continue;}}au=au+(1)>>0;if(au>=as.methods.$length){return true;}}av=av+(1)>>0;}return false;}be=ar.uncommon();if(be===JK.nil){return false;}bf=0;bg=be.methods();bh=0;while(true){if(!(bh<((be.mcount>>0)))){break;}bj=(bi=as.methods,((bf<0||bf>=bi.$length)?($throwRuntimeError("index out of range"),undefined):bi.$array[bi.$offset+bf]));bk=$clone(as.rtype.nameOff(bj.name),FT);bl=$clone(((bh<0||bh>=bg.$length)?($throwRuntimeError("index out of range"),undefined):bg.$array[bg.$offset+bh]),CM);bm=$clone(ar.nameOff(bl.name),FT);if($clone(bm,FT).name()===$clone(bk,FT).name()&&ar.typeOff(bl.mtyp)===as.rtype.typeOff(bj.typ)){if(!$clone(bk,FT).isExported()){bn=$clone(bk,FT).pkgPath();if(bn===""){bn=$clone(as.pkgPath,FT).name();}bo=$clone(bm,FT).pkgPath();if(bo===""){bo=$clone(ar.nameOff(be.pkgPath),FT).name();}if(!(bn===bo)){bh=bh+(1)>>0;continue;}}bf=bf+(1)>>0;if(bf>=as.methods.$length){return true;}}bh=bh+(1)>>0;}return false;};DR=function(aq,ar){var aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!((ar.ChanDir()===3)&&(aq.Name()===""||ar.Name()===""))){as=false;$s=1;continue s;}at=DT(aq.Elem(),ar.Elem(),true);$s=2;case 2:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}as=at;case 1:au=as;$s=3;case 3:return au;}return;}if($f===undefined){$f={$blk:DR};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};DS=function(aq,ar){var aq,ar,as,at,au,av,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(aq===ar){$s=-1;return true;}if(aq.hasName()&&ar.hasName()||!((aq.Kind()===ar.Kind()))){$s=-1;return false;}if(!(aq.Kind()===18)){as=false;$s=3;continue s;}at=DR(aq,ar);$s=4;case 4:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}as=at;case 3:if(as){$s=1;continue;}$s=2;continue;case 1:$s=-1;return true;case 2:au=DU(aq,ar,true);$s=5;case 5:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au;$s=6;case 6:return av;}return;}if($f===undefined){$f={$blk:DS};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.$s=$s;$f.$r=$r;return $f;};DT=function(aq,ar,as){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(as){$s=-1;return $interfaceIsEqual(aq,ar);}av=aq.Name();$s=5;case 5:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=ar.Name();$s=6;case 6:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}if(!(av===aw)){au=true;$s=4;continue s;}ax=aq.Kind();$s=7;case 7:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ay=ar.Kind();$s=8;case 8:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}au=!((ax===ay));case 4:if(au){at=true;$s=3;continue s;}az=aq.PkgPath();$s=9;case 9:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=ar.PkgPath();$s=10;case 10:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}at=!(az===ba);case 3:if(at){$s=1;continue;}$s=2;continue;case 1:$s=-1;return false;case 2:bb=aq.common();$s=11;case 11:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=bb;bd=ar.common();$s=12;case 12:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}be=bd;bf=DU(bc,be,false);$s=13;case 13:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}bg=bf;$s=14;case 14:return bg;}return;}if($f===undefined){$f={$blk:DT};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.$s=$s;$f.$r=$r;return $f;};DU=function(aq,ar,as){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(aq===ar){$s=-1;return true;}at=aq.Kind();if(!((at===ar.Kind()))){$s=-1;return false;}if(1<=at&&at<=16||(at===24)||(at===26)){$s=-1;return true;}au=at;if(au===(17)){$s=2;continue;}if(au===(18)){$s=3;continue;}if(au===(19)){$s=4;continue;}if(au===(20)){$s=5;continue;}if(au===(21)){$s=6;continue;}if((au===(22))||(au===(23))){$s=7;continue;}if(au===(25)){$s=8;continue;}$s=9;continue;case 2:if(!(aq.Len()===ar.Len())){av=false;$s=10;continue s;}aw=DT(aq.Elem(),ar.Elem(),as);$s=11;case 11:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}av=aw;case 10:ax=av;$s=12;case 12:return ax;case 3:if(!(ar.ChanDir()===aq.ChanDir())){ay=false;$s=13;continue s;}az=DT(aq.Elem(),ar.Elem(),as);$s=14;case 14:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ay=az;case 13:ba=ay;$s=15;case 15:return ba;case 4:bb=(aq.kindType);bc=(ar.kindType);if(!((bb.outCount===bc.outCount))||!((bb.inCount===bc.inCount))){$s=-1;return false;}bd=0;case 16:if(!(bd<bb.rtype.NumIn())){$s=17;continue;}be=DT(bb.rtype.In(bd),bc.rtype.In(bd),as);$s=20;case 20:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}if(!be){$s=18;continue;}$s=19;continue;case 18:$s=-1;return false;case 19:bd=bd+(1)>>0;$s=16;continue;case 17:bf=0;case 21:if(!(bf<bb.rtype.NumOut())){$s=22;continue;}bg=DT(bb.rtype.Out(bf),bc.rtype.Out(bf),as);$s=25;case 25:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}if(!bg){$s=23;continue;}$s=24;continue;case 23:$s=-1;return false;case 24:bf=bf+(1)>>0;$s=21;continue;case 22:$s=-1;return true;case 5:bh=(aq.kindType);bi=(ar.kindType);if((bh.methods.$length===0)&&(bi.methods.$length===0)){$s=-1;return true;}$s=-1;return false;case 6:bk=DT(aq.Key(),ar.Key(),as);$s=27;case 27:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}if(!(bk)){bj=false;$s=26;continue s;}bl=DT(aq.Elem(),ar.Elem(),as);$s=28;case 28:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}bj=bl;case 26:bm=bj;$s=29;case 29:return bm;case 7:bn=DT(aq.Elem(),ar.Elem(),as);$s=30;case 30:if($c){$c=false;bn=bn.$blk();}if(bn&&bn.$blk!==undefined){break s;}bo=bn;$s=31;case 31:return bo;case 8:bp=(aq.kindType);bq=(ar.kindType);if(!((bp.fields.$length===bq.fields.$length))){$s=-1;return false;}if(!($clone(bp.pkgPath,FT).name()===$clone(bq.pkgPath,FT).name())){$s=-1;return false;}br=bp.fields;bs=0;case 32:if(!(bs<br.$length)){$s=33;continue;}bt=bs;bv=(bu=bp.fields,((bt<0||bt>=bu.$length)?($throwRuntimeError("index out of range"),undefined):bu.$array[bu.$offset+bt]));bx=(bw=bq.fields,((bt<0||bt>=bw.$length)?($throwRuntimeError("index out of range"),undefined):bw.$array[bw.$offset+bt]));if(!($clone(bv.name,FT).name()===$clone(bx.name,FT).name())){$s=-1;return false;}by=DT(bv.typ,bx.typ,as);$s=36;case 36:if($c){$c=false;by=by.$blk();}if(by&&by.$blk!==undefined){break s;}if(!by){$s=34;continue;}$s=35;continue;case 34:$s=-1;return false;case 35:if(as&&!($clone(bv.name,FT).tag()===$clone(bx.name,FT).tag())){$s=-1;return false;}if(!((bv.offsetEmbed===bx.offsetEmbed))){$s=-1;return false;}bs++;$s=32;continue;case 33:$s=-1;return true;case 9:case 1:$s=-1;return false;}return;}if($f===undefined){$f={$blk:DU};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.$s=$s;$f.$r=$r;return $f;};EV=function(aq){var aq;if(aq===IP.nil){return $ifaceNil;}return aq;};FA=function(aq){var aq;return((aq.kind&32)>>>0)===0;};FL=function(){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=(function(aq){var aq;});$r=aq((ar=new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0),new ar.constructor.elem(ar)));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=aq((as=new FQ.ptr(0,0,0,0,JL.nil),new as.constructor.elem(as)));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=aq((at=new CM.ptr(0,0,0,0),new at.constructor.elem(at)));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=aq((au=new CO.ptr(new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0),IP.nil,IP.nil,0),new au.constructor.elem(au)));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=aq((av=new CP.ptr(new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0),IP.nil,0),new av.constructor.elem(av)));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=aq((aw=new FS.ptr(new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0),0,0,IQ.nil,IQ.nil),new aw.constructor.elem(aw)));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=aq((ax=new CR.ptr(new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0),new FT.ptr(JQ.nil),JV.nil),new ax.constructor.elem(ax)));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=aq((ay=new CS.ptr(new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0),IP.nil,IP.nil,IP.nil,$throwNilPointerError,0,0,0,0),new ay.constructor.elem(ay)));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=aq((az=new CT.ptr(new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0),IP.nil),new az.constructor.elem(az)));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=aq((ba=new CU.ptr(new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0),IP.nil),new ba.constructor.elem(ba)));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=aq((bb=new CW.ptr(new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0),new FT.ptr(JQ.nil),JW.nil),new bb.constructor.elem(bb)));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=aq((bc=new CQ.ptr(0,0),new bc.constructor.elem(bc)));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=aq((bd=new CV.ptr(new FT.ptr(JQ.nil),IP.nil,0),new bd.constructor.elem(bd)));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}FK=true;AD=$assertType(GI(new $Uint8(0)),IP);$s=-1;return;}return;}if($f===undefined){$f={$blk:FL};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.$s=$s;$f.$r=$r;return $f;};FM=function(aq){var aq,ar,as,at,au;if($interfaceIsEqual(aq,$ifaceNil)){$panic(new $String("reflect: New(nil)"));}ar=$assertType(aq,IP);as=ar.ptrTo();at=GR(ar);au=22;return new O.ptr(as,at,au);};$pkg.New=FM;FN=function(aq){var aq;return aq.jsType;};FO=function(aq){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc;if(aq.reflectType===undefined){ar=new CL.ptr(((($parseInt(aq.size)>>0)>>>0)),0,0,0,0,0,((($parseInt(aq.kind)>>0)<<24>>>24)),$throwNilPointerError,JQ.nil,FZ($clone(FW(GD(aq.string),"",!!(aq.exported)),FT)),0);ar.jsType=aq;aq.reflectType=ar;as=$methodSet(aq);if(!(($parseInt(as.length)===0))||!!(aq.named)){ar.tflag=(ar.tflag|(1))>>>0;if(!!(aq.named)){ar.tflag=(ar.tflag|(4))>>>0;}at=JL.nil;au=0;while(true){if(!(au<$parseInt(as.length))){break;}av=as[au];aw=GD(av.pkg)==="";if(!aw){au=au+(1)>>0;continue;}at=$append(at,new CM.ptr(FZ($clone(FX(av),FT)),GB(FO(av.typ)),0,0));au=au+(1)>>0;}ax=((at.$length<<16>>>16));ay=0;while(true){if(!(ay<$parseInt(as.length))){break;}az=as[ay];ba=GD(az.pkg)==="";if(ba){ay=ay+(1)>>0;continue;}at=$append(at,new CM.ptr(FZ($clone(FX(az),FT)),GB(FO(az.typ)),0,0));ay=ay+(1)>>0;}bb=new FQ.ptr(FZ($clone(FW(GD(aq.pkg),"",false),FT)),(($parseInt(as.length)<<16>>>16)),ax,0,at);bc=ar;(FR||$throwRuntimeError("assignment to entry in nil map"))[IP.keyFor(bc)]={k:bc,v:bb};bb.jsType=aq;}bd=ar.Kind();if(bd===(17)){FP(ar,new CO.ptr(new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0),FO(aq.elem),IP.nil,((($parseInt(aq.len)>>0)>>>0))));}else if(bd===(18)){be=3;if(!!(aq.sendOnly)){be=2;}if(!!(aq.recvOnly)){be=1;}FP(ar,new CP.ptr(new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0),FO(aq.elem),((be>>>0))));}else if(bd===(19)){bf=aq.params;bg=$makeSlice(IQ,$parseInt(bf.length));bh=bg;bi=0;while(true){if(!(bi<bh.$length)){break;}bj=bi;((bj<0||bj>=bg.$length)?($throwRuntimeError("index out of range"),undefined):bg.$array[bg.$offset+bj]=FO(bf[bj]));bi++;}bk=aq.results;bl=$makeSlice(IQ,$parseInt(bk.length));bm=bl;bn=0;while(true){if(!(bn<bm.$length)){break;}bo=bn;((bo<0||bo>=bl.$length)?($throwRuntimeError("index out of range"),undefined):bl.$array[bl.$offset+bo]=FO(bk[bo]));bn++;}bp=(($parseInt(bk.length)<<16>>>16));if(!!(aq.variadic)){bp=(bp|(32768))>>>0;}FP(ar,new FS.ptr($clone(ar,CL),(($parseInt(bf.length)<<16>>>16)),bp,bg,bl));}else if(bd===(20)){bq=aq.methods;br=$makeSlice(JV,$parseInt(bq.length));bs=br;bt=0;while(true){if(!(bt<bs.$length)){break;}bu=bt;bv=bq[bu];CQ.copy(((bu<0||bu>=br.$length)?($throwRuntimeError("index out of range"),undefined):br.$array[br.$offset+bu]),new CQ.ptr(FZ($clone(FX(bv),FT)),GB(FO(bv.typ))));bt++;}FP(ar,new CR.ptr($clone(ar,CL),$clone(FW(GD(aq.pkg),"",false),FT),br));}else if(bd===(21)){FP(ar,new CS.ptr(new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0),FO(aq.key),FO(aq.elem),IP.nil,$throwNilPointerError,0,0,0,0));}else if(bd===(22)){FP(ar,new CT.ptr(new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0),FO(aq.elem)));}else if(bd===(23)){FP(ar,new CU.ptr(new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0),FO(aq.elem)));}else if(bd===(25)){bw=aq.fields;bx=$makeSlice(JW,$parseInt(bw.length));by=bx;bz=0;while(true){if(!(bz<by.$length)){break;}ca=bz;cb=bw[ca];cc=((ca>>>0))<<1>>>0;if(!!(cb.embedded)){cc=(cc|(1))>>>0;}CV.copy(((ca<0||ca>=bx.$length)?($throwRuntimeError("index out of range"),undefined):bx.$array[bx.$offset+ca]),new CV.ptr($clone(FW(GD(cb.name),GD(cb.tag),!!(cb.exported)),FT),FO(cb.typ),cc));bz++;}FP(ar,new CW.ptr($clone(ar,CL),$clone(FW(GD(aq.pkgPath),"",false),FT),bx));}}return((aq.reflectType));};FP=function(aq,ar){var aq,ar;aq.kindType=ar;ar.rtype=aq;};FQ.ptr.prototype.methods=function(){var aq;aq=this;return aq._methods;};FQ.prototype.methods=function(){return this.$val.methods();};FQ.ptr.prototype.exportedMethods=function(){var aq;aq=this;return $subslice(aq._methods,0,aq.xcount,aq.xcount);};FQ.prototype.exportedMethods=function(){return this.$val.exportedMethods();};CL.ptr.prototype.uncommon=function(){var aq,ar;aq=this;return(ar=FR[IP.keyFor(aq)],ar!==undefined?ar.v:JK.nil);};CL.prototype.uncommon=function(){return this.$val.uncommon();};FS.ptr.prototype.in$=function(){var aq;aq=this;return aq._in;};FS.prototype.in$=function(){return this.$val.in$();};FS.ptr.prototype.out=function(){var aq;aq=this;return aq._out;};FS.prototype.out=function(){return this.$val.out();};FT.ptr.prototype.name=function(){var aq,ar,as;aq="";ar=this;aq=(as=FV[JQ.keyFor(ar.bytes)],as!==undefined?as.v:JX.nil).name;return aq;};FT.prototype.name=function(){return this.$val.name();};FT.ptr.prototype.tag=function(){var aq,ar,as;aq="";ar=this;aq=(as=FV[JQ.keyFor(ar.bytes)],as!==undefined?as.v:JX.nil).tag;return aq;};FT.prototype.tag=function(){return this.$val.tag();};FT.ptr.prototype.pkgPath=function(){var aq,ar;aq=this;return(ar=FV[JQ.keyFor(aq.bytes)],ar!==undefined?ar.v:JX.nil).pkgPath;};FT.prototype.pkgPath=function(){return this.$val.pkgPath();};FT.ptr.prototype.isExported=function(){var aq,ar;aq=this;return(ar=FV[JQ.keyFor(aq.bytes)],ar!==undefined?ar.v:JX.nil).exported;};FT.prototype.isExported=function(){return this.$val.isExported();};FW=function(aq,ar,as){var aq,ar,as,at,au;at=$newDataPointer(0,JQ);au=at;(FV||$throwRuntimeError("assignment to entry in nil map"))[JQ.keyFor(au)]={k:au,v:new FU.ptr(aq,ar,as,"")};return new FT.ptr(at);};FX=function(aq){var aq,ar,as;ar=$newDataPointer(0,JQ);as=ar;(FV||$throwRuntimeError("assignment to entry in nil map"))[JQ.keyFor(as)]={k:as,v:new FU.ptr(GD(aq.name),"",GD(aq.pkg)==="",GD(aq.pkg))};return new FT.ptr(ar);};CL.ptr.prototype.nameOff=function(aq){var aq,ar,as;ar=this;return(as=((aq>>0)),((as<0||as>=FY.$length)?($throwRuntimeError("index out of range"),undefined):FY.$array[FY.$offset+as]));};CL.prototype.nameOff=function(aq){return this.$val.nameOff(aq);};FZ=function(aq){var aq,ar;ar=FY.$length;FY=$append(FY,aq);return((ar>>0));};CL.ptr.prototype.typeOff=function(aq){var aq,ar,as;ar=this;return(as=((aq>>0)),((as<0||as>=GA.$length)?($throwRuntimeError("index out of range"),undefined):GA.$array[GA.$offset+as]));};CL.prototype.typeOff=function(aq){return this.$val.typeOff(aq);};GB=function(aq){var aq,ar;ar=GA.$length;GA=$append(GA,aq);return((ar>>0));};GD=function(aq){var aq,ar;ar=new JY.ptr("");ar.str=aq;return ar.str;};GE=function(aq){var aq;return!!(FN(aq).wrapped);};GF=function(aq,ar,as){var aq,ar,as,at,au,av;at=FN(as).fields;au=0;while(true){if(!(au<$parseInt(at.length))){break;}av=$internalize(at[au].prop,$String);aq[$externalize(av,$String)]=ar[$externalize(av,$String)];au=au+(1)>>0;}};GG=function(aq,ar,as){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:at=aq.common();$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;ax=aq.Kind();$s=6;case 6:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}if(ax===17){aw=true;$s=5;continue s;}ay=aq.Kind();$s=7;case 7:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}aw=ay===25;case 5:if(aw){av=true;$s=4;continue s;}az=aq.Kind();$s=8;case 8:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}av=az===22;case 4:if(av){$s=2;continue;}$s=3;continue;case 2:ba=aq.Kind();$s=9;case 9:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=new O.ptr(au,(ar),(as|((ba>>>0)))>>>0);$s=10;case 10:return bb;case 3:bc=aq.Kind();$s=11;case 11:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}bd=new O.ptr(au,($newDataPointer(ar,FN(au.ptrTo()))),(((as|((bc>>>0)))>>>0)|128)>>>0);$s=12;case 12:return bd;}return;}if($f===undefined){$f={$blk:GG};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.$s=$s;$f.$r=$r;return $f;};GH=function(aq,ar,as){var aq,ar,as,at,au,av,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=[aq];at=aq[0].Kind();$s=3;case 3:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}if(!((at===23))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.MakeSlice of non-slice type"));case 2:if(ar<0){$panic(new $String("reflect.MakeSlice: negative len"));}if(as<0){$panic(new $String("reflect.MakeSlice: negative cap"));}if(ar>as){$panic(new $String("reflect.MakeSlice: len > cap"));}au=GG(aq[0],$makeSlice(FN(aq[0]),ar,as,(function(aq){return function $b(){var au,av,aw,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;au=$f.au;av=$f.av;aw=$f.aw;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:au=aq[0].Elem();$s=1;case 1:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=FN(au);$s=2;case 2:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=av.zero();$s=3;case 3:return aw;}return;}if($f===undefined){$f={$blk:$b};}$f.au=au;$f.av=av;$f.aw=aw;$f.$s=$s;$f.$r=$r;return $f;};})(aq)),0);$s=4;case 4:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au;$s=5;case 5:return av;}return;}if($f===undefined){$f={$blk:GH};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.$s=$s;$f.$r=$r;return $f;};$pkg.MakeSlice=GH;GI=function(aq){var aq;if(!FK){return new CL.ptr(0,0,0,0,0,0,0,$throwNilPointerError,JQ.nil,0,0);}if($interfaceIsEqual(aq,$ifaceNil)){return $ifaceNil;}return FO(aq.constructor);};$pkg.TypeOf=GI;GJ=function(aq){var aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($interfaceIsEqual(aq,$ifaceNil)){$s=-1;return new O.ptr(IP.nil,0,0);}ar=GG(FO(aq.constructor),aq.$val,0);$s=1;case 1:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=ar;$s=2;case 2:return as;}return;}if($f===undefined){$f={$blk:GJ};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ValueOf=GJ;GM=function(aq,ar,as){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!(as)){at=false;$s=3;continue s;}if(aq.$length===0){au=true;$s=4;continue s;}aw=(av=aq.$length-1>>0,((av<0||av>=aq.$length)?($throwRuntimeError("index out of range"),undefined):aq.$array[aq.$offset+av])).Kind();$s=5;case 5:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}au=!((aw===23));case 4:at=au;case 3:if(at){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.FuncOf: last arg of variadic func must be slice"));case 2:ax=$makeSlice(JZ,aq.$length);ay=aq;az=0;while(true){if(!(az<ay.$length)){break;}ba=az;bb=((az<0||az>=ay.$length)?($throwRuntimeError("index out of range"),undefined):ay.$array[ay.$offset+az]);((ba<0||ba>=ax.$length)?($throwRuntimeError("index out of range"),undefined):ax.$array[ax.$offset+ba]=FN(bb));az++;}bc=$makeSlice(JZ,ar.$length);bd=ar;be=0;while(true){if(!(be<bd.$length)){break;}bf=be;bg=((be<0||be>=bd.$length)?($throwRuntimeError("index out of range"),undefined):bd.$array[bd.$offset+be]);((bf<0||bf>=bc.$length)?($throwRuntimeError("index out of range"),undefined):bc.$array[bc.$offset+bf]=FN(bg));be++;}$s=-1;return FO($funcType($externalize(ax,JZ),$externalize(bc,JZ),$externalize(as,$Bool)));}return;}if($f===undefined){$f={$blk:GM};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.$s=$s;$f.$r=$r;return $f;};$pkg.FuncOf=GM;CL.ptr.prototype.ptrTo=function(){var aq;aq=this;return FO($ptrType(FN(aq)));};CL.prototype.ptrTo=function(){return this.$val.ptrTo();};GO=function(aq){var aq;return FO($sliceType(FN(aq)));};$pkg.SliceOf=GO;GQ=function(aq){var aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=GG(aq,FN(aq).zero(),0);$s=1;case 1:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=ar;$s=2;case 2:return as;}return;}if($f===undefined){$f={$blk:GQ};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Zero=GQ;GR=function(aq){var aq,ar;ar=aq.Kind();if(ar===(25)){return(new(FN(aq).ptr)());}else if(ar===(17)){return(FN(aq).zero());}else{return($newDataPointer(FN(aq).zero(),FN(aq.ptrTo())));}};GS=function(aq,ar,as){var aq,ar,as,at,au,av,aw,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:at=as.common();$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;av=GR(au);aw=au.Kind();if(aw===(3)){(av).$set(((ar.$low<<24>>24)));}else if(aw===(4)){(av).$set(((ar.$low<<16>>16)));}else if((aw===(2))||(aw===(5))){(av).$set(((ar.$low>>0)));}else if(aw===(6)){(av).$set((new $Int64(ar.$high,ar.$low)));}else if(aw===(8)){(av).$set(((ar.$low<<24>>>24)));}else if(aw===(9)){(av).$set(((ar.$low<<16>>>16)));}else if((aw===(7))||(aw===(10))||(aw===(12))){(av).$set(((ar.$low>>>0)));}else if(aw===(11)){(av).$set((ar));}$s=-1;return new O.ptr(au,av,(((aq|128)>>>0)|((au.Kind()>>>0)))>>>0);}return;}if($f===undefined){$f={$blk:GS};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.$s=$s;$f.$r=$r;return $f;};GU=function(aq,ar,as){var aq,ar,as;ar.$set(as.$get());};GX=function(aq,ar){var aq,ar,as;as=0;as=(new($global.Object)());return as;};GY=function(aq,ar){var aq,ar,as,at;as=ar;if(!(as.$get===undefined)){as=as.$get();}at=$internalize(FN(aq.Key()).keyFor(as),$String);return[as,at];};GZ=function(aq,ar,as){var aq,ar,as,at,au,av;at=GY(aq,as);au=at[1];av=ar[$externalize(au,$String)];if(av===undefined){return 0;}return($newDataPointer(av.v,FN(DO(aq.Elem()))));};HA=function(aq,ar,as,at){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:au=GY(aq,as);av=au[0];aw=au[1];ax=at.$get();ay=aq.Elem();az=ay.Kind();$s=3;case 3:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}if(az===25){$s=1;continue;}$s=2;continue;case 1:ba=FN(ay).zero();GF(ba,ax,ay);ax=ba;case 2:bb=new($global.Object)();bb.k=av;bb.v=ax;ar[$externalize(aw,$String)]=bb;$s=-1;return;}return;}if($f===undefined){$f={$blk:HA};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.$s=$s;$f.$r=$r;return $f;};HB=function(aq,ar,as){var aq,ar,as,at,au;at=GY(aq,as);au=at[1];delete ar[$externalize(au,$String)];};HC.ptr.prototype.skipUntilValidKey=function(){var aq,ar;aq=this;while(true){if(!(aq.i<$parseInt(aq.keys.length))){break;}ar=aq.keys[aq.i];if(!(aq.m[$externalize($internalize(ar,$String),$String)]===undefined)){break;}aq.i=aq.i+(1)>>0;}};HC.prototype.skipUntilValidKey=function(){return this.$val.skipUntilValidKey();};HD=function(aq,ar){var aq,ar;return(new HC.ptr(aq,ar,$keys(ar),0,null));};HE=function(aq){var aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=($pointerOfStructConversion(aq,KC));as=null;if(!(ar.last===null)){as=ar.last;}else{ar.skipUntilValidKey();if(ar.i===$parseInt(ar.keys.length)){$s=-1;return 0;}at=ar.keys[ar.i];as=ar.m[$externalize($internalize(at,$String),$String)];ar.last=as;}au=ar.t.Key();$s=1;case 1:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=DO(au);$s=2;case 2:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=FN(av);$s=3;case 3:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=($newDataPointer(as.k,aw));$s=4;case 4:return ax;}return;}if($f===undefined){$f={$blk:HE};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};HF=function(aq){var aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=($pointerOfStructConversion(aq,KC));as=null;if(!(ar.last===null)){as=ar.last;}else{ar.skipUntilValidKey();if(ar.i===$parseInt(ar.keys.length)){$s=-1;return 0;}at=ar.keys[ar.i];as=ar.m[$externalize($internalize(at,$String),$String)];ar.last=as;}au=ar.t.Elem();$s=1;case 1:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=DO(au);$s=2;case 2:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=FN(av);$s=3;case 3:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=($newDataPointer(as.v,aw));$s=4;case 4:return ax;}return;}if($f===undefined){$f={$blk:HF};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};HG=function(aq){var aq,ar;ar=($pointerOfStructConversion(aq,KC));ar.last=null;ar.i=ar.i+(1)>>0;};HH=function(aq){var aq;return $parseInt($keys(aq).length);};HI=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=$clone(aq,O).object();if(as===FN(aq.typ).nil){$s=1;continue;}$s=2;continue;case 1:at=GG(ar,FN(ar).nil,aq.flag);$s=3;case 3:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;$s=4;case 4:return au;case 2:av=null;aw=ar.Kind();$s=6;case 6:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;ay=ax;if(ay===(23)){$s=7;continue;}if(ay===(22)){$s=8;continue;}if(ay===(25)){$s=9;continue;}if((ay===(17))||(ay===(1))||(ay===(18))||(ay===(19))||(ay===(20))||(ay===(21))||(ay===(24))||(ay===(26))){$s=10;continue;}$s=11;continue;case 7:az=new(FN(ar))(as.$array);az.$offset=as.$offset;az.$length=as.$length;az.$capacity=as.$capacity;av=$newDataPointer(az,FN(DO(ar)));$s=12;continue;case 8:ba=ar.Elem();$s=14;case 14:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=ba.Kind();$s=15;case 15:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=bb;if(bc===(25)){$s=16;continue;}if(bc===(17)){$s=17;continue;}$s=18;continue;case 16:bd=ar.Elem();$s=22;case 22:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}if($interfaceIsEqual(bd,aq.typ.Elem())){$s=20;continue;}$s=21;continue;case 20:av=as;$s=13;continue;case 21:av=new(FN(ar))();be=av;bf=as;bg=ar.Elem();$s=23;case 23:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bh=bg;$r=GF(be,bf,bh);$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=19;continue;case 17:av=as;$s=19;continue;case 18:av=new(FN(ar))(as.$get,as.$set);case 19:case 13:$s=12;continue;case 9:av=new(FN(ar).ptr)();GF(av,as,ar);$s=12;continue;case 10:av=aq.ptr;$s=12;continue;case 11:$panic(new S.ptr("reflect.Convert",ax));case 12:case 5:bi=ar.common();$s=25;case 25:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}bj=ar.Kind();$s=26;case 26:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}bk=new O.ptr(bi,(av),(((new P(aq.flag).ro()|((aq.flag&128)>>>0))>>>0)|((bj>>>0)))>>>0);$s=27;case 27:return bk;}return;}if($f===undefined){$f={$blk:HI};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.$s=$s;$f.$r=$r;return $f;};HJ=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,ay,az,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=$clone(aq,O).object();at=$parseInt(as.$length)>>0;au=ar.Elem();$s=1;case 1:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au.Len();$s=2;case 2:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=av;if(aw>at){$panic(new $String("reflect: cannot convert slice with length "+B.Itoa(at)+" to pointer to array with length "+B.Itoa(aw)));}ax=$sliceToGoArray(as,FN(ar));ay=ar.common();$s=3;case 3:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=new O.ptr(ay,(ax),(((aq.flag&~415)>>>0)|22)>>>0);$s=4;case 4:return az;}return;}if($f===undefined){$f={$blk:HJ};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.$s=$s;$f.$r=$r;return $f;};HK=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,ay,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=new P(aq.flag).kind();if(!((as===17))&&!((as===23))){$panic(new S.ptr("reflect.Copy",as));}if(as===17){new P(aq.flag).mustBeAssignable();}new P(aq.flag).mustBeExported();at=new P(ar.flag).kind();au=false;if(!((at===17))&&!((at===23))){$s=1;continue;}$s=2;continue;case 1:if(!(at===24)){av=false;$s=3;continue s;}aw=aq.typ.Elem().Kind();$s=4;case 4:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}av=aw===8;case 3:au=av;if(!au){$panic(new S.ptr("reflect.Copy",at));}case 2:new P(ar.flag).mustBeExported();if(!au){$s=5;continue;}$s=6;continue;case 5:$r=AJ("reflect.Copy",aq.typ.Elem(),ar.typ.Elem());$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:ax=$clone(aq,O).object();if(as===17){ax=new(FN(GO(aq.typ.Elem())))(ax);}ay=$clone(ar,O).object();if(at===17){ay=new(FN(GO(ar.typ.Elem())))(ay);}if(au){$s=-1;return $parseInt($copyString(ax,ay))>>0;}$s=-1;return $parseInt($copySlice(ax,ay))>>0;}return;}if($f===undefined){$f={$blk:HK};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Copy=HK;HL=function(aq,ar,as){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc;at=IP.nil;au=KD.nil;av=0;aw="";if(ar.typ.Kind()===20){ax=(ar.typ.kindType);if(as<0||as>=ax.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}az=(ay=ax.methods,((as<0||as>=ay.$length)?($throwRuntimeError("index out of range"),undefined):ay.$array[ay.$offset+as]));if(!$clone(ax.rtype.nameOff(az.name),FT).isExported()){$panic(new $String("reflect: "+aq+" of unexported method"));}au=(ax.rtype.typeOff(az.typ).kindType);aw=$clone(ax.rtype.nameOff(az.name),FT).name();}else{ba=ar.typ.exportedMethods();if(((as>>>0))>=((ba.$length>>>0))){$panic(new $String("reflect: internal error: invalid method index"));}bb=$clone(((as<0||as>=ba.$length)?($throwRuntimeError("index out of range"),undefined):ba.$array[ba.$offset+as]),CM);if(!$clone(ar.typ.nameOff(bb.name),FT).isExported()){$panic(new $String("reflect: "+aq+" of unexported method"));}au=(ar.typ.typeOff(bb.mtyp).kindType);aw=$internalize($methodSet(FN(ar.typ))[as].prop,$String);}bc=$clone(ar,O).object();if(GE(ar.typ)){bc=new(FN(ar.typ))(bc);}av=(bc[$externalize(aw,$String)]);return[at,au,av];};HM=function(aq,ar){var aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(aq.flag===0){$panic(new S.ptr("reflect.Value.Interface",0));}if(ar&&!((((aq.flag&96)>>>0)===0))){$panic(new $String("reflect.Value.Interface: cannot return value obtained from unexported field or method"));}if(!((((aq.flag&512)>>>0)===0))){$s=1;continue;}$s=2;continue;case 1:as=HO("Interface",$clone(aq,O));$s=3;case 3:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}aq=as;case 2:if(GE(aq.typ)){$s=-1;return((new(FN(aq.typ))($clone(aq,O).object())));}$s=-1;return(($clone(aq,O).object()));}return;}if($f===undefined){$f={$blk:HM};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};HN=function(aq,ar,as){var aq,ar,as;as.$set(ar);};HO=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=[as];at=[at];if(((ar.flag&512)>>>0)===0){$panic(new $String("reflect: internal error: invalid use of makePartialFunc"));}au=HL(aq,$clone(ar,O),((ar.flag>>0))>>10>>0);as[0]=au[2];at[0]=$clone(ar,O).object();if(GE(ar.typ)){at[0]=new(FN(ar.typ))(at[0]);}av=J.MakeFunc((function(as,at){return function(av,aw){var av,aw;return new $jsObjectPtr(as[0].apply(at[0],$externalize(aw,JZ)));};})(as,at));aw=$clone(ar,O).Type().common();$s=1;case 1:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=new O.ptr(aw,(av),(new P(ar.flag).ro()|19)>>>0);$s=2;case 2:return ax;}return;}if($f===undefined){$f={$blk:HO};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};CL.ptr.prototype.pointers=function(){var aq,ar;aq=this;ar=aq.Kind();if((ar===(22))||(ar===(21))||(ar===(18))||(ar===(19))||(ar===(25))||(ar===(17))){return true;}else{return false;}};CL.prototype.pointers=function(){return this.$val.pointers();};CL.ptr.prototype.Comparable=function(){var aq,ar,as,at,au,av,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=this;ar=aq.Kind();if((ar===(19))||(ar===(23))||(ar===(21))){$s=2;continue;}if(ar===(17)){$s=3;continue;}if(ar===(25)){$s=4;continue;}$s=5;continue;case 2:$s=-1;return false;case 3:as=aq.Elem().Comparable();$s=6;case 6:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;$s=7;case 7:return at;case 4:au=0;case 8:if(!(au<aq.NumField())){$s=9;continue;}av=aq.Field(au).Type.Comparable();$s=12;case 12:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}if(!av){$s=10;continue;}$s=11;continue;case 10:$s=-1;return false;case 11:au=au+(1)>>0;$s=8;continue;case 9:case 5:case 1:$s=-1;return true;}return;}if($f===undefined){$f={$blk:CL.ptr.prototype.Comparable};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.$s=$s;$f.$r=$r;return $f;};CL.prototype.Comparable=function(){return this.$val.Comparable();};CL.ptr.prototype.Method=function(aq){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=[ar];as=new CY.ptr("","",$ifaceNil,new O.ptr(IP.nil,0,0),0);at=this;if(at.Kind()===20){au=(at.kindType);CY.copy(as,au.Method(aq));$s=-1;return as;}av=at.exportedMethods();if(aq<0||aq>=av.$length){$panic(new $String("reflect: Method index out of range"));}aw=$clone(((aq<0||aq>=av.$length)?($throwRuntimeError("index out of range"),undefined):av.$array[av.$offset+aq]),CM);ax=$clone(at.nameOff(aw.name),FT);as.Name=$clone(ax,FT).name();ay=19;az=at.typeOff(aw.mtyp);ba=(az.kindType);bb=$makeSlice(KE,0,(1+ba.in$().$length>>0));bb=$append(bb,at);bc=ba.in$();bd=0;while(true){if(!(bd<bc.$length)){break;}be=((bd<0||bd>=bc.$length)?($throwRuntimeError("index out of range"),undefined):bc.$array[bc.$offset+bd]);bb=$append(bb,be);bd++;}bf=$makeSlice(KE,0,ba.out().$length);bg=ba.out();bh=0;while(true){if(!(bh<bg.$length)){break;}bi=((bh<0||bh>=bg.$length)?($throwRuntimeError("index out of range"),undefined):bg.$array[bg.$offset+bh]);bf=$append(bf,bi);bh++;}bj=GM(bb,bf,ba.rtype.IsVariadic());$s=1;case 1:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}bk=bj;as.Type=bk;ar[0]=$internalize($methodSet(at.jsType)[aq].prop,$String);bl=J.MakeFunc((function(ar){return function(bl,bm){var bl,bm,bn;bn=(0>=bm.$length?($throwRuntimeError("index out of range"),undefined):bm.$array[bm.$offset+0]);return new $jsObjectPtr(bn[$externalize(ar[0],$String)].apply(bn,$externalize($subslice(bm,1),JZ)));};})(ar));as.Func=new O.ptr($assertType(bk,IP),(bl),ay);as.Index=aq;CY.copy(as,as);$s=-1;return as;}return;}if($f===undefined){$f={$blk:CL.ptr.prototype.Method};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.$s=$s;$f.$r=$r;return $f;};CL.prototype.Method=function(aq){return this.$val.Method(aq);};O.ptr.prototype.object=function(){var aq,ar,as,at;aq=this;if((aq.typ.Kind()===17)||(aq.typ.Kind()===25)){return aq.ptr;}if(!((((aq.flag&128)>>>0)===0))){ar=aq.ptr.$get();if(!(ar===$ifaceNil)&&!(ar.constructor===FN(aq.typ))){switch(0){default:as=aq.typ.Kind();if((as===(11))||(as===(6))){ar=new(FN(aq.typ))(ar.$high,ar.$low);}else if((as===(15))||(as===(16))){ar=new(FN(aq.typ))(ar.$real,ar.$imag);}else if(as===(23)){if(ar===ar.constructor.nil){ar=FN(aq.typ).nil;break;}at=new(FN(aq.typ))(ar.$array);at.$offset=ar.$offset;at.$length=ar.$length;at.$capacity=ar.$capacity;ar=at;}}}return ar;}return aq.ptr;};O.prototype.object=function(){return this.$val.object();};O.ptr.prototype.assignTo=function(aq,ar,as){var aq,ar,as,at,au,av,aw,ax,ay,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:at=this;if(!((((at.flag&512)>>>0)===0))){$s=1;continue;}$s=2;continue;case 1:au=HO(aq,$clone(at,O));$s=3;case 3:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}at=au;case 2:av=DS(ar,at.typ);$s=8;case 8:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}if(av){$s=5;continue;}if(DQ(ar,at.typ)){$s=6;continue;}$s=7;continue;case 5:aw=(((at.flag&384)>>>0)|new P(at.flag).ro())>>>0;aw=(aw|(((ar.Kind()>>>0))))>>>0;$s=-1;return new O.ptr(ar,at.ptr,aw);case 6:if(as===0){as=GR(ar);}ax=HM($clone(at,O),false);$s=9;case 9:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ay=ax;if(ar.NumMethod()===0){(as).$set(ay);}else{HN(ar,ay,as);}$s=-1;return new O.ptr(ar,as,148);case 7:case 4:$panic(new $String(aq+": value of type "+at.typ.String()+" is not assignable to type "+ar.String()));$s=-1;return new O.ptr(IP.nil,0,0);}return;}if($f===undefined){$f={$blk:O.ptr.prototype.assignTo};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.assignTo=function(aq,ar,as){return this.$val.assignTo(aq,ar,as);};O.ptr.prototype.call=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;cr=$f.cr;cs=$f.cs;ct=$f.ct;cu=$f.cu;cv=$f.cv;cw=$f.cw;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=this;at=KD.nil;au=0;av=null;if(!((((as.flag&512)>>>0)===0))){aw=HL(aq,$clone(as,O),((as.flag>>0))>>10>>0);at=aw[1];au=aw[2];av=$clone(as,O).object();if(GE(as.typ)){av=new(FN(as.typ))(av);}}else{at=(as.typ.kindType);au=($clone(as,O).object());av=undefined;}if(au===0){$panic(new $String("reflect.Value.Call: call of nil function"));}ax=aq==="CallSlice";ay=at.rtype.NumIn();if(ax){if(!at.rtype.IsVariadic()){$panic(new $String("reflect: CallSlice of non-variadic function"));}if(ar.$length<ay){$panic(new $String("reflect: CallSlice with too few input arguments"));}if(ar.$length>ay){$panic(new $String("reflect: CallSlice with too many input arguments"));}}else{if(at.rtype.IsVariadic()){ay=ay-(1)>>0;}if(ar.$length<ay){$panic(new $String("reflect: Call with too few input arguments"));}if(!at.rtype.IsVariadic()&&ar.$length>ay){$panic(new $String("reflect: Call with too many input arguments"));}}az=ar;ba=0;while(true){if(!(ba<az.$length)){break;}bb=((ba<0||ba>=az.$length)?($throwRuntimeError("index out of range"),undefined):az.$array[az.$offset+ba]);if($clone(bb,O).Kind()===0){$panic(new $String("reflect: "+aq+" using zero Value argument"));}ba++;}bc=0;case 1:if(!(bc<ay)){$s=2;continue;}bd=$clone(((bc<0||bc>=ar.$length)?($throwRuntimeError("index out of range"),undefined):ar.$array[ar.$offset+bc]),O).Type();be=at.rtype.In(bc);bf=bd;bg=be;bh=bf.AssignableTo(bg);$s=5;case 5:if($c){$c=false;bh=bh.$blk();}if(bh&&bh.$blk!==undefined){break s;}if(!bh){$s=3;continue;}$s=4;continue;case 3:bi=bf.String();$s=6;case 6:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}bj=bg.String();$s=7;case 7:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}$panic(new $String("reflect: "+aq+" using "+bi+" as type "+bj));case 4:bc=bc+(1)>>0;$s=1;continue;case 2:if(!ax&&at.rtype.IsVariadic()){$s=8;continue;}$s=9;continue;case 8:bk=ar.$length-ay>>0;bl=GH(at.rtype.In(ay),bk,bk);$s=10;case 10:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}bm=bl;bn=at.rtype.In(ay).Elem();$s=11;case 11:if($c){$c=false;bn=bn.$blk();}if(bn&&bn.$blk!==undefined){break s;}bo=bn;bp=0;case 12:if(!(bp<bk)){$s=13;continue;}br=(bq=ay+bp>>0,((bq<0||bq>=ar.$length)?($throwRuntimeError("index out of range"),undefined):ar.$array[ar.$offset+bq]));bs=$clone(br,O).Type();bt=bs.AssignableTo(bo);$s=16;case 16:if($c){$c=false;bt=bt.$blk();}if(bt&&bt.$blk!==undefined){break s;}if(!bt){$s=14;continue;}$s=15;continue;case 14:bu=bs.String();$s=17;case 17:if($c){$c=false;bu=bu.$blk();}if(bu&&bu.$blk!==undefined){break s;}bv=bo.String();$s=18;case 18:if($c){$c=false;bv=bv.$blk();}if(bv&&bv.$blk!==undefined){break s;}$panic(new $String("reflect: cannot use "+bu+" as type "+bv+" in "+aq));case 15:bw=$clone(bm,O).Index(bp);$s=19;case 19:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}$r=$clone(bw,O).Set($clone(br,O));$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bp=bp+(1)>>0;$s=12;continue;case 13:bx=ar;ar=$makeSlice(IZ,(ay+1>>0));$copySlice($subslice(ar,0,ay),bx);((ay<0||ay>=ar.$length)?($throwRuntimeError("index out of range"),undefined):ar.$array[ar.$offset+ay]=bm);case 9:by=ar.$length;if(!((by===at.rtype.NumIn()))){$panic(new $String("reflect.Value.Call: wrong argument count"));}bz=at.rtype.NumOut();ca=new($global.Array)(at.rtype.NumIn());cb=ar;cc=0;case 21:if(!(cc<cb.$length)){$s=22;continue;}cd=cc;ce=((cc<0||cc>=cb.$length)?($throwRuntimeError("index out of range"),undefined):cb.$array[cb.$offset+cc]);cf=at.rtype.In(cd);cg=at.rtype.In(cd).common();$s=23;case 23:if($c){$c=false;cg=cg.$blk();}if(cg&&cg.$blk!==undefined){break s;}ch=cg;ci=0;cj=$clone(ce,O).assignTo("reflect.Value.Call",ch,ci);$s=24;case 24:if($c){$c=false;cj=cj.$blk();}if(cj&&cj.$blk!==undefined){break s;}ck=$clone(cj,O).object();$s=25;case 25:if($c){$c=false;ck=ck.$blk();}if(ck&&ck.$blk!==undefined){break s;}cl=ck;cm=HS(cf,cl);$s=26;case 26:if($c){$c=false;cm=cm.$blk();}if(cm&&cm.$blk!==undefined){break s;}ca[cd]=cm;cc++;$s=21;continue;case 22:cn=HP(new IS([new $jsObjectPtr(au),new $jsObjectPtr(av),new $jsObjectPtr(ca)]));$s=27;case 27:if($c){$c=false;cn=cn.$blk();}if(cn&&cn.$blk!==undefined){break s;}co=cn;cp=bz;if(cp===(0)){$s=29;continue;}if(cp===(1)){$s=30;continue;}$s=31;continue;case 29:$s=-1;return IZ.nil;case 30:cq=GG(at.rtype.Out(0),HR(at.rtype.Out(0),co),0);$s=33;case 33:if($c){$c=false;cq=cq.$blk();}if(cq&&cq.$blk!==undefined){break s;}cr=new IZ([$clone(cq,O)]);$s=34;case 34:return cr;case 31:cs=$makeSlice(IZ,bz);ct=cs;cu=0;case 35:if(!(cu<ct.$length)){$s=36;continue;}cv=cu;cw=GG(at.rtype.Out(cv),HR(at.rtype.Out(cv),co[cv]),0);$s=37;case 37:if($c){$c=false;cw=cw.$blk();}if(cw&&cw.$blk!==undefined){break s;}((cv<0||cv>=cs.$length)?($throwRuntimeError("index out of range"),undefined):cs.$array[cs.$offset+cv]=cw);cu++;$s=35;continue;case 36:$s=-1;return cs;case 32:case 28:$s=-1;return IZ.nil;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.call};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.cr=cr;$f.cs=cs;$f.ct=ct;$f.cu=cu;$f.cv=cv;$f.cw=cw;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.call=function(aq,ar){return this.$val.call(aq,ar);};O.ptr.prototype.Cap=function(){var aq,ar,as;aq=this;ar=new P(aq.flag).kind();as=ar;if(as===(17)){return aq.typ.Len();}else if((as===(18))||(as===(23))){return $parseInt($clone(aq,O).object().$capacity)>>0;}$panic(new S.ptr("reflect.Value.Cap",ar));};O.prototype.Cap=function(){return this.$val.Cap();};HR=function(aq,ar){var aq,ar;if($interfaceIsEqual(aq,HQ)){return new(FN(HQ))(ar);}return ar;};HS=function(aq,ar){var aq,ar;if($interfaceIsEqual(aq,HQ)){return ar.object;}return ar;};O.ptr.prototype.Elem=function(){var aq,ar,as,at,au,av,aw,ax,ay,az,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=this;ar=new P(aq.flag).kind();as=ar;if(as===(20)){$s=2;continue;}if(as===(22)){$s=3;continue;}$s=4;continue;case 2:at=$clone(aq,O).object();if(at===$ifaceNil){$s=-1;return new O.ptr(IP.nil,0,0);}au=FO(at.constructor);av=GG(au,at.$val,new P(aq.flag).ro());$s=6;case 6:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=av;$s=7;case 7:return aw;case 3:if($clone(aq,O).IsNil()){$s=-1;return new O.ptr(IP.nil,0,0);}ax=$clone(aq,O).object();ay=(aq.typ.kindType);az=(((((aq.flag&96)>>>0)|128)>>>0)|256)>>>0;az=(az|(((ay.elem.Kind()>>>0))))>>>0;$s=-1;return new O.ptr(ay.elem,(HR(ay.elem,ax)),az);case 4:$panic(new S.ptr("reflect.Value.Elem",ar));case 5:case 1:$s=-1;return new O.ptr(IP.nil,0,0);}return;}if($f===undefined){$f={$blk:O.ptr.prototype.Elem};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.Elem=function(){return this.$val.Elem();};O.ptr.prototype.Field=function(aq){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=[ar];as=[as];at=[at];au=[au];av=this;if(!((new P(av.flag).kind()===25))){$panic(new S.ptr("reflect.Value.Field",new P(av.flag).kind()));}aw=(av.typ.kindType);if(((aq>>>0))>=((aw.fields.$length>>>0))){$panic(new $String("reflect: Field index out of range"));}as[0]=$internalize(FN(av.typ).fields[aq].prop,$String);ay=(ax=aw.fields,((aq<0||aq>=ax.$length)?($throwRuntimeError("index out of range"),undefined):ax.$array[ax.$offset+aq]));au[0]=ay.typ;az=(((av.flag&416)>>>0)|((au[0].Kind()>>>0)))>>>0;if(!$clone(ay.name,FT).isExported()){if(ay.embedded()){az=(az|(64))>>>0;}else{az=(az|(32))>>>0;}}bb=$clone((ba=aw.fields,((aq<0||aq>=ba.$length)?($throwRuntimeError("index out of range"),undefined):ba.$array[ba.$offset+aq])).name,FT).tag();if(!(bb==="")&&!((aq===0))){$s=1;continue;}$s=2;continue;case 1:ar[0]=HT(bb);if(!(ar[0]==="")){$s=3;continue;}$s=4;continue;case 3:case 5:bc=[bc];bd=$clone(av,O).Field(0);$s=7;case 7:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}av=bd;if(av.typ===HQ){$s=8;continue;}$s=9;continue;case 8:bc[0]=$clone(av,O).object().object;$s=-1;return new O.ptr(au[0],(new(FN(DO(au[0])))((function(ar,as,at,au,bc){return function(){return $internalize(bc[0][$externalize(ar[0],$String)],FN(au[0]));};})(ar,as,at,au,bc),(function(ar,as,at,au,bc){return function(be){var be;bc[0][$externalize(ar[0],$String)]=$externalize(be,FN(au[0]));};})(ar,as,at,au,bc))),az);case 9:if(av.typ.Kind()===22){$s=10;continue;}$s=11;continue;case 10:be=$clone(av,O).Elem();$s=12;case 12:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}av=be;case 11:$s=5;continue;case 6:case 4:case 2:at[0]=av.ptr;if(!((((az&128)>>>0)===0))&&!((au[0].Kind()===17))&&!((au[0].Kind()===25))){$s=13;continue;}$s=14;continue;case 13:$s=-1;return new O.ptr(au[0],(new(FN(DO(au[0])))((function(ar,as,at,au){return function(){return HR(au[0],at[0][$externalize(as[0],$String)]);};})(ar,as,at,au),(function(ar,as,at,au){return function(bf){var bf;at[0][$externalize(as[0],$String)]=HS(au[0],bf);};})(ar,as,at,au))),az);case 14:bf=GG(au[0],HR(au[0],at[0][$externalize(as[0],$String)]),az);$s=15;case 15:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}bg=bf;$s=16;case 16:return bg;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.Field};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.Field=function(aq){return this.$val.Field(aq);};HT=function(aq){var aq,ar,as,at,au,av;while(true){if(!(!(aq===""))){break;}ar=0;while(true){if(!(ar<aq.length&&(aq.charCodeAt(ar)===32))){break;}ar=ar+(1)>>0;}aq=$substring(aq,ar);if(aq===""){break;}ar=0;while(true){if(!(ar<aq.length&&!((aq.charCodeAt(ar)===32))&&!((aq.charCodeAt(ar)===58))&&!((aq.charCodeAt(ar)===34)))){break;}ar=ar+(1)>>0;}if((ar+1>>0)>=aq.length||!((aq.charCodeAt(ar)===58))||!((aq.charCodeAt((ar+1>>0))===34))){break;}as=($substring(aq,0,ar));aq=$substring(aq,(ar+1>>0));ar=1;while(true){if(!(ar<aq.length&&!((aq.charCodeAt(ar)===34)))){break;}if(aq.charCodeAt(ar)===92){ar=ar+(1)>>0;}ar=ar+(1)>>0;}if(ar>=aq.length){break;}at=($substring(aq,0,(ar+1>>0)));aq=$substring(aq,(ar+1>>0));if(as==="js"){au=F.Unquote(at);av=au[0];return av;}}return"";};O.ptr.prototype.CanConvert=function(aq){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;as=$clone(ar,O).Type();at=as.ConvertibleTo(aq);$s=3;case 3:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}if(!at){$s=1;continue;}$s=2;continue;case 1:$s=-1;return false;case 2:aw=as.Kind();$s=8;case 8:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}if(!(aw===23)){av=false;$s=7;continue s;}ax=aq.Kind();$s=9;case 9:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}av=ax===22;case 7:if(!(av)){au=false;$s=6;continue s;}ay=aq.Elem();$s=10;case 10:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=ay.Kind();$s=11;case 11:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}au=az===17;case 6:if(au){$s=4;continue;}$s=5;continue;case 4:ba=aq.Elem();$s=12;case 12:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=ba.Len();$s=13;case 13:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=bb;if(bc>$clone(ar,O).Len()){$s=-1;return false;}case 5:$s=-1;return true;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.CanConvert};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.CanConvert=function(aq){return this.$val.CanConvert(aq);};O.ptr.prototype.Index=function(aq){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=[aq];ar=[ar];as=[as];at=[at];au=[au];av=[av];aw=this;ax=new P(aw.flag).kind();ay=ax;if(ay===(17)){$s=2;continue;}if(ay===(23)){$s=3;continue;}if(ay===(24)){$s=4;continue;}$s=5;continue;case 2:az=(aw.typ.kindType);if(aq[0]<0||aq[0]>((az.len>>0))){$panic(new $String("reflect: array index out of range"));}au[0]=az.elem;ba=(((((aw.flag&384)>>>0)|new P(aw.flag).ro())>>>0)|((au[0].Kind()>>>0)))>>>0;ar[0]=aw.ptr;if(!((((ba&128)>>>0)===0))&&!((au[0].Kind()===17))&&!((au[0].Kind()===25))){$s=7;continue;}$s=8;continue;case 7:$s=-1;return new O.ptr(au[0],(new(FN(DO(au[0])))((function(aq,ar,as,at,au,av){return function(){return HR(au[0],ar[0][aq[0]]);};})(aq,ar,as,at,au,av),(function(aq,ar,as,at,au,av){return function(bb){var bb;ar[0][aq[0]]=HS(au[0],bb);};})(aq,ar,as,at,au,av))),ba);case 8:bb=GG(au[0],HR(au[0],ar[0][aq[0]]),ba);$s=9;case 9:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=bb;$s=10;case 10:return bc;case 3:bd=$clone(aw,O).object();if(aq[0]<0||aq[0]>=($parseInt(bd.$length)>>0)){$panic(new $String("reflect: slice index out of range"));}be=(aw.typ.kindType);av[0]=be.elem;bf=(((384|new P(aw.flag).ro())>>>0)|((av[0].Kind()>>>0)))>>>0;aq[0]=aq[0]+(($parseInt(bd.$offset)>>0))>>0;as[0]=bd.$array;if(!((((bf&128)>>>0)===0))&&!((av[0].Kind()===17))&&!((av[0].Kind()===25))){$s=11;continue;}$s=12;continue;case 11:$s=-1;return new O.ptr(av[0],(new(FN(DO(av[0])))((function(aq,ar,as,at,au,av){return function(){return HR(av[0],as[0][aq[0]]);};})(aq,ar,as,at,au,av),(function(aq,ar,as,at,au,av){return function(bg){var bg;as[0][aq[0]]=HS(av[0],bg);};})(aq,ar,as,at,au,av))),bf);case 12:bg=GG(av[0],HR(av[0],as[0][aq[0]]),bf);$s=13;case 13:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bh=bg;$s=14;case 14:return bh;case 4:bi=(aw.ptr).$get();if(aq[0]<0||aq[0]>=bi.length){$panic(new $String("reflect: string index out of range"));}bj=(((new P(aw.flag).ro()|8)>>>0)|128)>>>0;at[0]=bi.charCodeAt(aq[0]);$s=-1;return new O.ptr(AD,((at.$ptr||(at.$ptr=new JQ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},at)))),bj);case 5:$panic(new S.ptr("reflect.Value.Index",ax));case 6:case 1:$s=-1;return new O.ptr(IP.nil,0,0);}return;}if($f===undefined){$f={$blk:O.ptr.prototype.Index};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.Index=function(aq){return this.$val.Index(aq);};O.ptr.prototype.InterfaceData=function(){var aq;aq=this;$panic(K.New("InterfaceData is not supported by GopherJS"));};O.prototype.InterfaceData=function(){return this.$val.InterfaceData();};O.ptr.prototype.IsNil=function(){var aq,ar,as;aq=this;ar=new P(aq.flag).kind();as=ar;if((as===(22))||(as===(23))){return $clone(aq,O).object()===FN(aq.typ).nil;}else if(as===(18)){return $clone(aq,O).object()===$chanNil;}else if(as===(19)){return $clone(aq,O).object()===$throwNilPointerError;}else if(as===(21)){return $clone(aq,O).object()===false;}else if(as===(20)){return $clone(aq,O).object()===$ifaceNil;}else if(as===(26)){return $clone(aq,O).object()===0;}else{$panic(new S.ptr("reflect.Value.IsNil",ar));}};O.prototype.IsNil=function(){return this.$val.IsNil();};O.ptr.prototype.Len=function(){var aq,ar,as;aq=this;ar=new P(aq.flag).kind();as=ar;if((as===(17))||(as===(24))){return $parseInt($clone(aq,O).object().length);}else if(as===(23)){return $parseInt($clone(aq,O).object().$length)>>0;}else if(as===(18)){return $parseInt($clone(aq,O).object().$buffer.length)>>0;}else if(as===(21)){return $parseInt($keys($clone(aq,O).object()).length);}else{$panic(new S.ptr("reflect.Value.Len",ar));}};O.prototype.Len=function(){return this.$val.Len();};O.ptr.prototype.Pointer=function(){var aq,ar,as;aq=this;ar=new P(aq.flag).kind();as=ar;if((as===(18))||(as===(21))||(as===(22))||(as===(26))){if($clone(aq,O).IsNil()){return 0;}return $clone(aq,O).object();}else if(as===(19)){if($clone(aq,O).IsNil()){return 0;}return 1;}else if(as===(23)){if($clone(aq,O).IsNil()){return 0;}return $clone(aq,O).object().$array;}else{$panic(new S.ptr("reflect.Value.Pointer",ar));}};O.prototype.Pointer=function(){return this.$val.Pointer();};O.ptr.prototype.Set=function(aq){var aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;new P(ar.flag).mustBeAssignable();new P(aq.flag).mustBeExported();as=$clone(aq,O).assignTo("reflect.Set",ar.typ,0);$s=1;case 1:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}aq=as;if(!((((ar.flag&128)>>>0)===0))){$s=2;continue;}$s=3;continue;case 2:at=ar.typ.Kind();if(at===(17)){$s=5;continue;}if(at===(20)){$s=6;continue;}if(at===(25)){$s=7;continue;}$s=8;continue;case 5:FN(ar.typ).copy(ar.ptr,aq.ptr);$s=9;continue;case 6:au=HM($clone(aq,O),false);$s=10;case 10:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}ar.ptr.$set(au);$s=9;continue;case 7:GF(ar.ptr,aq.ptr,ar.typ);$s=9;continue;case 8:ar.ptr.$set($clone(aq,O).object());case 9:case 4:$s=-1;return;case 3:ar.ptr=aq.ptr;$s=-1;return;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.Set};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.Set=function(aq){return this.$val.Set(aq);};O.ptr.prototype.SetBytes=function(aq){var aq,ar,as,at,au,av,aw,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ar=this;new P(ar.flag).mustBeAssignable();new P(ar.flag).mustBe(23);as=ar.typ.Elem().Kind();$s=3;case 3:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}if(!((as===8))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.Value.SetBytes of non-byte slice"));case 2:at=aq;if(!(ar.typ.Name()==="")){au=true;$s=6;continue s;}av=ar.typ.Elem().Name();$s=7;case 7:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}au=!(av==="");case 6:if(au){$s=4;continue;}$s=5;continue;case 4:aw=new(FN(ar.typ))(at.$array);aw.$offset=at.$offset;aw.$length=at.$length;aw.$capacity=at.$capacity;at=aw;case 5:ar.ptr.$set(at);$s=-1;return;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.SetBytes};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.SetBytes=function(aq){return this.$val.SetBytes(aq);};O.ptr.prototype.SetCap=function(aq){var aq,ar,as,at;ar=this;new P(ar.flag).mustBeAssignable();new P(ar.flag).mustBe(23);as=ar.ptr.$get();if(aq<($parseInt(as.$length)>>0)||aq>($parseInt(as.$capacity)>>0)){$panic(new $String("reflect: slice capacity out of range in SetCap"));}at=new(FN(ar.typ))(as.$array);at.$offset=as.$offset;at.$length=as.$length;at.$capacity=aq;ar.ptr.$set(at);};O.prototype.SetCap=function(aq){return this.$val.SetCap(aq);};O.ptr.prototype.SetLen=function(aq){var aq,ar,as,at;ar=this;new P(ar.flag).mustBeAssignable();new P(ar.flag).mustBe(23);as=ar.ptr.$get();if(aq<0||aq>($parseInt(as.$capacity)>>0)){$panic(new $String("reflect: slice length out of range in SetLen"));}at=new(FN(ar.typ))(as.$array);at.$offset=as.$offset;at.$length=aq;at.$capacity=as.$capacity;ar.ptr.$set(at);};O.prototype.SetLen=function(aq){return this.$val.SetLen(aq);};O.ptr.prototype.Slice=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=this;at=0;au=$ifaceNil;av=null;aw=new P(as.flag).kind();ax=aw;if(ax===(17)){$s=2;continue;}if(ax===(23)){$s=3;continue;}if(ax===(24)){$s=4;continue;}$s=5;continue;case 2:if(((as.flag&256)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}ay=(as.typ.kindType);at=((ay.len>>0));au=GO(ay.elem);av=new(FN(au))($clone(as,O).object());$s=6;continue;case 3:au=as.typ;av=$clone(as,O).object();at=$parseInt(av.$capacity)>>0;$s=6;continue;case 4:az=(as.ptr).$get();if(aq<0||ar<aq||ar>az.length){$panic(new $String("reflect.Value.Slice: string slice index out of bounds"));}ba=GJ(new $String($substring(az,aq,ar)));$s=7;case 7:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=ba;$s=8;case 8:return bb;case 5:$panic(new S.ptr("reflect.Value.Slice",aw));case 6:case 1:if(aq<0||ar<aq||ar>at){$panic(new $String("reflect.Value.Slice: slice index out of bounds"));}bc=GG(au,$subslice(av,aq,ar),new P(as.flag).ro());$s=9;case 9:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}bd=bc;$s=10;case 10:return bd;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.Slice};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.Slice=function(aq,ar){return this.$val.Slice(aq,ar);};O.ptr.prototype.Slice3=function(aq,ar,as){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:at=this;au=0;av=$ifaceNil;aw=null;ax=new P(at.flag).kind();ay=ax;if(ay===(17)){if(((at.flag&256)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}az=(at.typ.kindType);au=((az.len>>0));av=GO(az.elem);aw=new(FN(av))($clone(at,O).object());}else if(ay===(23)){av=at.typ;aw=$clone(at,O).object();au=$parseInt(aw.$capacity)>>0;}else{$panic(new S.ptr("reflect.Value.Slice3",ax));}if(aq<0||ar<aq||as<ar||as>au){$panic(new $String("reflect.Value.Slice3: slice index out of bounds"));}ba=GG(av,$subslice(aw,aq,ar,as),new P(at.flag).ro());$s=1;case 1:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=ba;$s=2;case 2:return bb;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.Slice3};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.Slice3=function(aq,ar,as){return this.$val.Slice3(aq,ar,as);};O.ptr.prototype.Close=function(){var aq;aq=this;new P(aq.flag).mustBe(18);new P(aq.flag).mustBeExported();$close($clone(aq,O).object());};O.prototype.Close=function(){return this.$val.Close();};HV=function(aq,ar,as){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:at=false;au=false;av=new KF([new JZ([aq])]);if(ar){av=$append(av,new JZ([]));}aw=HU(new IS([av]));$s=1;case 1:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;if(ar&&(($parseInt(ax[0])>>0)===1)){ay=false;az=false;at=ay;au=az;$s=-1;return[at,au];}ba=ax[1];as.$set(ba[0]);bb=true;bc=!!(ba[1]);at=bb;au=bc;$s=-1;return[at,au];}return;}if($f===undefined){$f={$blk:HV};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.$s=$s;$f.$r=$r;return $f;};HW=function(aq,ar,as){var aq,ar,as,at,au,av,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:at=new KF([new JZ([aq,ar.$get()])]);if(as){at=$append(at,new JZ([]));}au=HU(new IS([at]));$s=1;case 1:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au;if(as&&(($parseInt(av[0])>>0)===1)){$s=-1;return false;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:HW};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.$s=$s;$f.$r=$r;return $f;};HY=function(aq,ar){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:as=aq;at=ar;if(as===at){$s=-1;return true;}if(as===null||at===null||!(as.constructor===at.constructor)){$s=-1;return false;}au=GJ(aq);$s=1;case 1:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=$clone(au,O);aw=GJ(ar);$s=2;case 2:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=$clone(aw,O);ay=KH.nil;az=HZ(av,ax,ay);$s=3;case 3:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=az;$s=4;case 4:return ba;}return;}if($f===undefined){$f={$blk:HY};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.$s=$s;$f.$r=$r;return $f;};$pkg.DeepEqual=HY;HZ=function(aq,ar,as){var aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(aq,O).IsValid()||!$clone(ar,O).IsValid()){$s=-1;return!$clone(aq,O).IsValid()&&!$clone(ar,O).IsValid();}if(!($interfaceIsEqual($clone(aq,O).Type(),$clone(ar,O).Type()))){$s=-1;return false;}if($interfaceIsEqual($clone(aq,O).Type(),HQ)){$s=-1;return HS(HQ,$clone(aq,O).object())===HS(HQ,$clone(ar,O).object());}at=$clone(aq,O).Kind();if((at===(17))||(at===(21))||(at===(23))||(at===(25))){au=as;av=0;while(true){if(!(av<au.$length)){break;}aw=$clone(((av<0||av>=au.$length)?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+av]),KG);if(aq.ptr===aw[0]&&ar.ptr===aw[1]){$s=-1;return true;}av++;}as=$append(as,$toNativeArray($kindUnsafePointer,[aq.ptr,ar.ptr]));}ax=$clone(aq,O).Kind();if((ax===(17))||(ax===(23))){$s=2;continue;}if(ax===(20)){$s=3;continue;}if(ax===(22)){$s=4;continue;}if(ax===(25)){$s=5;continue;}if(ax===(21)){$s=6;continue;}if(ax===(19)){$s=7;continue;}if(ax===(26)){$s=8;continue;}$s=9;continue;case 2:if($clone(aq,O).Kind()===23){if(!($clone(aq,O).IsNil()===$clone(ar,O).IsNil())){$s=-1;return false;}if($clone(aq,O).object()===$clone(ar,O).object()){$s=-1;return true;}}ay=$clone(aq,O).Len();if(!((ay===$clone(ar,O).Len()))){$s=-1;return false;}az=0;case 10:if(!(az<ay)){$s=11;continue;}ba=$clone(aq,O).Index(az);$s=14;case 14:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=$clone(ba,O);bc=$clone(ar,O).Index(az);$s=15;case 15:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}bd=$clone(bc,O);be=as;bf=HZ(bb,bd,be);$s=16;case 16:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}if(!bf){$s=12;continue;}$s=13;continue;case 12:$s=-1;return false;case 13:az=az+(1)>>0;$s=10;continue;case 11:$s=-1;return true;case 3:if($clone(aq,O).IsNil()||$clone(ar,O).IsNil()){$s=-1;return $clone(aq,O).IsNil()&&$clone(ar,O).IsNil();}bg=$clone(aq,O).Elem();$s=17;case 17:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bh=$clone(bg,O);bi=$clone(ar,O).Elem();$s=18;case 18:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}bj=$clone(bi,O);bk=as;bl=HZ(bh,bj,bk);$s=19;case 19:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}bm=bl;$s=20;case 20:return bm;case 4:bn=$clone(aq,O).Elem();$s=21;case 21:if($c){$c=false;bn=bn.$blk();}if(bn&&bn.$blk!==undefined){break s;}bo=$clone(bn,O);bp=$clone(ar,O).Elem();$s=22;case 22:if($c){$c=false;bp=bp.$blk();}if(bp&&bp.$blk!==undefined){break s;}bq=$clone(bp,O);br=as;bs=HZ(bo,bq,br);$s=23;case 23:if($c){$c=false;bs=bs.$blk();}if(bs&&bs.$blk!==undefined){break s;}bt=bs;$s=24;case 24:return bt;case 5:bu=$clone(aq,O).NumField();bv=0;case 25:if(!(bv<bu)){$s=26;continue;}bw=$clone(aq,O).Field(bv);$s=29;case 29:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}bx=$clone(bw,O);by=$clone(ar,O).Field(bv);$s=30;case 30:if($c){$c=false;by=by.$blk();}if(by&&by.$blk!==undefined){break s;}bz=$clone(by,O);ca=as;cb=HZ(bx,bz,ca);$s=31;case 31:if($c){$c=false;cb=cb.$blk();}if(cb&&cb.$blk!==undefined){break s;}if(!cb){$s=27;continue;}$s=28;continue;case 27:$s=-1;return false;case 28:bv=bv+(1)>>0;$s=25;continue;case 26:$s=-1;return true;case 6:if(!($clone(aq,O).IsNil()===$clone(ar,O).IsNil())){$s=-1;return false;}if($clone(aq,O).object()===$clone(ar,O).object()){$s=-1;return true;}cc=$clone(aq,O).MapKeys();$s=32;case 32:if($c){$c=false;cc=cc.$blk();}if(cc&&cc.$blk!==undefined){break s;}cd=cc;if(!((cd.$length===$clone(ar,O).Len()))){$s=-1;return false;}ce=cd;cf=0;case 33:if(!(cf<ce.$length)){$s=34;continue;}cg=((cf<0||cf>=ce.$length)?($throwRuntimeError("index out of range"),undefined):ce.$array[ce.$offset+cf]);ch=$clone(aq,O).MapIndex($clone(cg,O));$s=35;case 35:if($c){$c=false;ch=ch.$blk();}if(ch&&ch.$blk!==undefined){break s;}ci=ch;cj=$clone(ar,O).MapIndex($clone(cg,O));$s=36;case 36:if($c){$c=false;cj=cj.$blk();}if(cj&&cj.$blk!==undefined){break s;}ck=cj;if(!$clone(ci,O).IsValid()||!$clone(ck,O).IsValid()){cl=true;$s=39;continue s;}cm=HZ($clone(ci,O),$clone(ck,O),as);$s=40;case 40:if($c){$c=false;cm=cm.$blk();}if(cm&&cm.$blk!==undefined){break s;}cl=!cm;case 39:if(cl){$s=37;continue;}$s=38;continue;case 37:$s=-1;return false;case 38:cf++;$s=33;continue;case 34:$s=-1;return true;case 7:$s=-1;return $clone(aq,O).IsNil()&&$clone(ar,O).IsNil();case 8:$s=-1;return $clone(aq,O).object()===$clone(ar,O).object();case 9:case 1:cn=HM($clone(aq,O),false);$s=41;case 41:if($c){$c=false;cn=cn.$blk();}if(cn&&cn.$blk!==undefined){break s;}co=HM($clone(ar,O),false);$s=42;case 42:if($c){$c=false;co=co.$blk();}if(co&&co.$blk!==undefined){break s;}cp=!!($interfaceIsEqual(cn,co));$s=43;case 43:return cp;}return;}if($f===undefined){$f={$blk:HZ};}$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.$s=$s;$f.$r=$r;return $f;};O.methods=[{prop:"pointer",name:"pointer",pkg:"reflect",typ:$funcType([],[$UnsafePointer],false)},{prop:"Addr",name:"Addr",pkg:"",typ:$funcType([],[O],false)},{prop:"Bool",name:"Bool",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Bytes",name:"Bytes",pkg:"",typ:$funcType([],[JA],false)},{prop:"runes",name:"runes",pkg:"reflect",typ:$funcType([],[JJ],false)},{prop:"CanAddr",name:"CanAddr",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"CanSet",name:"CanSet",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Call",name:"Call",pkg:"",typ:$funcType([IZ],[IZ],false)},{prop:"CallSlice",name:"CallSlice",pkg:"",typ:$funcType([IZ],[IZ],false)},{prop:"Complex",name:"Complex",pkg:"",typ:$funcType([],[$Complex128],false)},{prop:"FieldByIndex",name:"FieldByIndex",pkg:"",typ:$funcType([IW],[O],false)},{prop:"FieldByName",name:"FieldByName",pkg:"",typ:$funcType([$String],[O],false)},{prop:"FieldByNameFunc",name:"FieldByNameFunc",pkg:"",typ:$funcType([KM],[O],false)},{prop:"Float",name:"Float",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Int",name:"Int",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"CanInterface",name:"CanInterface",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Interface",name:"Interface",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"IsValid",name:"IsValid",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsZero",name:"IsZero",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Kind",name:"Kind",pkg:"",typ:$funcType([],[CJ],false)},{prop:"MapIndex",name:"MapIndex",pkg:"",typ:$funcType([O],[O],false)},{prop:"MapKeys",name:"MapKeys",pkg:"",typ:$funcType([],[IZ],false)},{prop:"MapRange",name:"MapRange",pkg:"",typ:$funcType([],[KN],false)},{prop:"Method",name:"Method",pkg:"",typ:$funcType([$Int],[O],false)},{prop:"NumMethod",name:"NumMethod",pkg:"",typ:$funcType([],[$Int],false)},{prop:"MethodByName",name:"MethodByName",pkg:"",typ:$funcType([$String],[O],false)},{prop:"NumField",name:"NumField",pkg:"",typ:$funcType([],[$Int],false)},{prop:"OverflowComplex",name:"OverflowComplex",pkg:"",typ:$funcType([$Complex128],[$Bool],false)},{prop:"OverflowFloat",name:"OverflowFloat",pkg:"",typ:$funcType([$Float64],[$Bool],false)},{prop:"OverflowInt",name:"OverflowInt",pkg:"",typ:$funcType([$Int64],[$Bool],false)},{prop:"OverflowUint",name:"OverflowUint",pkg:"",typ:$funcType([$Uint64],[$Bool],false)},{prop:"Recv",name:"Recv",pkg:"",typ:$funcType([],[O,$Bool],false)},{prop:"recv",name:"recv",pkg:"reflect",typ:$funcType([$Bool],[O,$Bool],false)},{prop:"Send",name:"Send",pkg:"",typ:$funcType([O],[],false)},{prop:"send",name:"send",pkg:"reflect",typ:$funcType([O,$Bool],[$Bool],false)},{prop:"SetBool",name:"SetBool",pkg:"",typ:$funcType([$Bool],[],false)},{prop:"setRunes",name:"setRunes",pkg:"reflect",typ:$funcType([JJ],[],false)},{prop:"SetComplex",name:"SetComplex",pkg:"",typ:$funcType([$Complex128],[],false)},{prop:"SetFloat",name:"SetFloat",pkg:"",typ:$funcType([$Float64],[],false)},{prop:"SetInt",name:"SetInt",pkg:"",typ:$funcType([$Int64],[],false)},{prop:"SetMapIndex",name:"SetMapIndex",pkg:"",typ:$funcType([O,O],[],false)},{prop:"SetUint",name:"SetUint",pkg:"",typ:$funcType([$Uint64],[],false)},{prop:"SetPointer",name:"SetPointer",pkg:"",typ:$funcType([$UnsafePointer],[],false)},{prop:"SetString",name:"SetString",pkg:"",typ:$funcType([$String],[],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"TryRecv",name:"TryRecv",pkg:"",typ:$funcType([],[O,$Bool],false)},{prop:"TrySend",name:"TrySend",pkg:"",typ:$funcType([O],[$Bool],false)},{prop:"Type",name:"Type",pkg:"",typ:$funcType([],[CI],false)},{prop:"Uint",name:"Uint",pkg:"",typ:$funcType([],[$Uint64],false)},{prop:"UnsafeAddr",name:"UnsafeAddr",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"Convert",name:"Convert",pkg:"",typ:$funcType([CI],[O],false)},{prop:"object",name:"object",pkg:"reflect",typ:$funcType([],[IT],false)},{prop:"assignTo",name:"assignTo",pkg:"reflect",typ:$funcType([$String,IP,$UnsafePointer],[O],false)},{prop:"call",name:"call",pkg:"reflect",typ:$funcType([$String,IZ],[IZ],false)},{prop:"Cap",name:"Cap",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Elem",name:"Elem",pkg:"",typ:$funcType([],[O],false)},{prop:"Field",name:"Field",pkg:"",typ:$funcType([$Int],[O],false)},{prop:"CanConvert",name:"CanConvert",pkg:"",typ:$funcType([CI],[$Bool],false)},{prop:"Index",name:"Index",pkg:"",typ:$funcType([$Int],[O],false)},{prop:"InterfaceData",name:"InterfaceData",pkg:"",typ:$funcType([],[KO],false)},{prop:"IsNil",name:"IsNil",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Pointer",name:"Pointer",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([O],[],false)},{prop:"SetBytes",name:"SetBytes",pkg:"",typ:$funcType([JA],[],false)},{prop:"SetCap",name:"SetCap",pkg:"",typ:$funcType([$Int],[],false)},{prop:"SetLen",name:"SetLen",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Slice",name:"Slice",pkg:"",typ:$funcType([$Int,$Int],[O],false)},{prop:"Slice3",name:"Slice3",pkg:"",typ:$funcType([$Int,$Int,$Int],[O],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[],false)}];P.methods=[{prop:"kind",name:"kind",pkg:"reflect",typ:$funcType([],[CJ],false)},{prop:"ro",name:"ro",pkg:"reflect",typ:$funcType([],[P],false)},{prop:"mustBe",name:"mustBe",pkg:"reflect",typ:$funcType([CJ],[],false)},{prop:"mustBeExported",name:"mustBeExported",pkg:"reflect",typ:$funcType([],[],false)},{prop:"mustBeExportedSlow",name:"mustBeExportedSlow",pkg:"reflect",typ:$funcType([],[],false)},{prop:"mustBeAssignable",name:"mustBeAssignable",pkg:"reflect",typ:$funcType([],[],false)},{prop:"mustBeAssignableSlow",name:"mustBeAssignableSlow",pkg:"reflect",typ:$funcType([],[],false)}];KP.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];KN.methods=[{prop:"Key",name:"Key",pkg:"",typ:$funcType([],[O],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([],[O],false)},{prop:"Next",name:"Next",pkg:"",typ:$funcType([],[$Bool],false)}];CJ.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];IP.methods=[{prop:"textOff",name:"textOff",pkg:"reflect",typ:$funcType([DI],[$UnsafePointer],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"Bits",name:"Bits",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Align",name:"Align",pkg:"",typ:$funcType([],[$Int],false)},{prop:"FieldAlign",name:"FieldAlign",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Kind",name:"Kind",pkg:"",typ:$funcType([],[CJ],false)},{prop:"common",name:"common",pkg:"reflect",typ:$funcType([],[IP],false)},{prop:"exportedMethods",name:"exportedMethods",pkg:"reflect",typ:$funcType([],[JL],false)},{prop:"NumMethod",name:"NumMethod",pkg:"",typ:$funcType([],[$Int],false)},{prop:"MethodByName",name:"MethodByName",pkg:"",typ:$funcType([$String],[CY,$Bool],false)},{prop:"PkgPath",name:"PkgPath",pkg:"",typ:$funcType([],[$String],false)},{prop:"hasName",name:"hasName",pkg:"reflect",typ:$funcType([],[$Bool],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"ChanDir",name:"ChanDir",pkg:"",typ:$funcType([],[CN],false)},{prop:"IsVariadic",name:"IsVariadic",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Elem",name:"Elem",pkg:"",typ:$funcType([],[CI],false)},{prop:"Field",name:"Field",pkg:"",typ:$funcType([$Int],[DK],false)},{prop:"FieldByIndex",name:"FieldByIndex",pkg:"",typ:$funcType([IW],[DK],false)},{prop:"FieldByName",name:"FieldByName",pkg:"",typ:$funcType([$String],[DK,$Bool],false)},{prop:"FieldByNameFunc",name:"FieldByNameFunc",pkg:"",typ:$funcType([KM],[DK,$Bool],false)},{prop:"In",name:"In",pkg:"",typ:$funcType([$Int],[CI],false)},{prop:"Key",name:"Key",pkg:"",typ:$funcType([],[CI],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumField",name:"NumField",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumIn",name:"NumIn",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumOut",name:"NumOut",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Out",name:"Out",pkg:"",typ:$funcType([$Int],[CI],false)},{prop:"Implements",name:"Implements",pkg:"",typ:$funcType([CI],[$Bool],false)},{prop:"AssignableTo",name:"AssignableTo",pkg:"",typ:$funcType([CI],[$Bool],false)},{prop:"ConvertibleTo",name:"ConvertibleTo",pkg:"",typ:$funcType([CI],[$Bool],false)},{prop:"gcSlice",name:"gcSlice",pkg:"reflect",typ:$funcType([$Uintptr,$Uintptr],[JA],false)},{prop:"uncommon",name:"uncommon",pkg:"reflect",typ:$funcType([],[JK],false)},{prop:"nameOff",name:"nameOff",pkg:"reflect",typ:$funcType([DG],[FT],false)},{prop:"typeOff",name:"typeOff",pkg:"reflect",typ:$funcType([DH],[IP],false)},{prop:"ptrTo",name:"ptrTo",pkg:"reflect",typ:$funcType([],[IP],false)},{prop:"pointers",name:"pointers",pkg:"reflect",typ:$funcType([],[$Bool],false)},{prop:"Comparable",name:"Comparable",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Method",name:"Method",pkg:"",typ:$funcType([$Int],[CY],false)}];CN.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];JM.methods=[{prop:"Method",name:"Method",pkg:"",typ:$funcType([$Int],[CY],false)},{prop:"NumMethod",name:"NumMethod",pkg:"",typ:$funcType([],[$Int],false)},{prop:"MethodByName",name:"MethodByName",pkg:"",typ:$funcType([$String],[CY,$Bool],false)}];KW.methods=[{prop:"offset",name:"offset",pkg:"reflect",typ:$funcType([],[$Uintptr],false)},{prop:"embedded",name:"embedded",pkg:"reflect",typ:$funcType([],[$Bool],false)}];JP.methods=[{prop:"Field",name:"Field",pkg:"",typ:$funcType([$Int],[DK],false)},{prop:"FieldByIndex",name:"FieldByIndex",pkg:"",typ:$funcType([IW],[DK],false)},{prop:"FieldByNameFunc",name:"FieldByNameFunc",pkg:"",typ:$funcType([KM],[DK,$Bool],false)},{prop:"FieldByName",name:"FieldByName",pkg:"",typ:$funcType([$String],[DK,$Bool],false)}];CY.methods=[{prop:"IsExported",name:"IsExported",pkg:"",typ:$funcType([],[$Bool],false)}];DK.methods=[{prop:"IsExported",name:"IsExported",pkg:"",typ:$funcType([],[$Bool],false)}];DL.methods=[{prop:"Get",name:"Get",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"Lookup",name:"Lookup",pkg:"",typ:$funcType([$String],[$String,$Bool],false)}];JK.methods=[{prop:"methods",name:"methods",pkg:"reflect",typ:$funcType([],[JL],false)},{prop:"exportedMethods",name:"exportedMethods",pkg:"reflect",typ:$funcType([],[JL],false)}];KD.methods=[{prop:"in$",name:"in",pkg:"reflect",typ:$funcType([],[IQ],false)},{prop:"out",name:"out",pkg:"reflect",typ:$funcType([],[IQ],false)}];FT.methods=[{prop:"data",name:"data",pkg:"reflect",typ:$funcType([$Int,$String],[JQ],false)},{prop:"hasTag",name:"hasTag",pkg:"reflect",typ:$funcType([],[$Bool],false)},{prop:"readVarint",name:"readVarint",pkg:"reflect",typ:$funcType([$Int],[$Int,$Int],false)},{prop:"name",name:"name",pkg:"reflect",typ:$funcType([],[$String],false)},{prop:"tag",name:"tag",pkg:"reflect",typ:$funcType([],[$String],false)},{prop:"pkgPath",name:"pkgPath",pkg:"reflect",typ:$funcType([],[$String],false)},{prop:"isExported",name:"isExported",pkg:"reflect",typ:$funcType([],[$Bool],false)}];KC.methods=[{prop:"skipUntilValidKey",name:"skipUntilValidKey",pkg:"reflect",typ:$funcType([],[],false)}];O.init("reflect",[{prop:"typ",name:"typ",embedded:false,exported:false,typ:IP,tag:""},{prop:"ptr",name:"ptr",embedded:false,exported:false,typ:$UnsafePointer,tag:""},{prop:"flag",name:"flag",embedded:true,exported:false,typ:P,tag:""}]);S.init("",[{prop:"Method",name:"Method",embedded:false,exported:true,typ:$String,tag:""},{prop:"Kind",name:"Kind",embedded:false,exported:true,typ:CJ,tag:""}]);AE.init("reflect",[{prop:"m",name:"m",embedded:false,exported:false,typ:O,tag:""},{prop:"it",name:"it",embedded:false,exported:false,typ:$UnsafePointer,tag:""}]);CI.init([{prop:"Align",name:"Align",pkg:"",typ:$funcType([],[$Int],false)},{prop:"AssignableTo",name:"AssignableTo",pkg:"",typ:$funcType([CI],[$Bool],false)},{prop:"Bits",name:"Bits",pkg:"",typ:$funcType([],[$Int],false)},{prop:"ChanDir",name:"ChanDir",pkg:"",typ:$funcType([],[CN],false)},{prop:"Comparable",name:"Comparable",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"ConvertibleTo",name:"ConvertibleTo",pkg:"",typ:$funcType([CI],[$Bool],false)},{prop:"Elem",name:"Elem",pkg:"",typ:$funcType([],[CI],false)},{prop:"Field",name:"Field",pkg:"",typ:$funcType([$Int],[DK],false)},{prop:"FieldAlign",name:"FieldAlign",pkg:"",typ:$funcType([],[$Int],false)},{prop:"FieldByIndex",name:"FieldByIndex",pkg:"",typ:$funcType([IW],[DK],false)},{prop:"FieldByName",name:"FieldByName",pkg:"",typ:$funcType([$String],[DK,$Bool],false)},{prop:"FieldByNameFunc",name:"FieldByNameFunc",pkg:"",typ:$funcType([KM],[DK,$Bool],false)},{prop:"Implements",name:"Implements",pkg:"",typ:$funcType([CI],[$Bool],false)},{prop:"In",name:"In",pkg:"",typ:$funcType([$Int],[CI],false)},{prop:"IsVariadic",name:"IsVariadic",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Key",name:"Key",pkg:"",typ:$funcType([],[CI],false)},{prop:"Kind",name:"Kind",pkg:"",typ:$funcType([],[CJ],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Method",name:"Method",pkg:"",typ:$funcType([$Int],[CY],false)},{prop:"MethodByName",name:"MethodByName",pkg:"",typ:$funcType([$String],[CY,$Bool],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"NumField",name:"NumField",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumIn",name:"NumIn",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumMethod",name:"NumMethod",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumOut",name:"NumOut",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Out",name:"Out",pkg:"",typ:$funcType([$Int],[CI],false)},{prop:"PkgPath",name:"PkgPath",pkg:"",typ:$funcType([],[$String],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"common",name:"common",pkg:"reflect",typ:$funcType([],[IP],false)},{prop:"uncommon",name:"uncommon",pkg:"reflect",typ:$funcType([],[JK],false)}]);CL.init("reflect",[{prop:"size",name:"size",embedded:false,exported:false,typ:$Uintptr,tag:""},{prop:"ptrdata",name:"ptrdata",embedded:false,exported:false,typ:$Uintptr,tag:""},{prop:"hash",name:"hash",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"tflag",name:"tflag",embedded:false,exported:false,typ:CK,tag:""},{prop:"align",name:"align",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"fieldAlign",name:"fieldAlign",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"kind",name:"kind",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"equal",name:"equal",embedded:false,exported:false,typ:KU,tag:""},{prop:"gcdata",name:"gcdata",embedded:false,exported:false,typ:JQ,tag:""},{prop:"str",name:"str",embedded:false,exported:false,typ:DG,tag:""},{prop:"ptrToThis",name:"ptrToThis",embedded:false,exported:false,typ:DH,tag:""}]);CM.init("reflect",[{prop:"name",name:"name",embedded:false,exported:false,typ:DG,tag:""},{prop:"mtyp",name:"mtyp",embedded:false,exported:false,typ:DH,tag:""},{prop:"ifn",name:"ifn",embedded:false,exported:false,typ:DI,tag:""},{prop:"tfn",name:"tfn",embedded:false,exported:false,typ:DI,tag:""}]);CO.init("reflect",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:CL,tag:""},{prop:"elem",name:"elem",embedded:false,exported:false,typ:IP,tag:""},{prop:"slice",name:"slice",embedded:false,exported:false,typ:IP,tag:""},{prop:"len",name:"len",embedded:false,exported:false,typ:$Uintptr,tag:""}]);CP.init("reflect",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:CL,tag:""},{prop:"elem",name:"elem",embedded:false,exported:false,typ:IP,tag:""},{prop:"dir",name:"dir",embedded:false,exported:false,typ:$Uintptr,tag:""}]);CQ.init("reflect",[{prop:"name",name:"name",embedded:false,exported:false,typ:DG,tag:""},{prop:"typ",name:"typ",embedded:false,exported:false,typ:DH,tag:""}]);CR.init("reflect",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:CL,tag:""},{prop:"pkgPath",name:"pkgPath",embedded:false,exported:false,typ:FT,tag:""},{prop:"methods",name:"methods",embedded:false,exported:false,typ:JV,tag:""}]);CS.init("reflect",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:CL,tag:""},{prop:"key",name:"key",embedded:false,exported:false,typ:IP,tag:""},{prop:"elem",name:"elem",embedded:false,exported:false,typ:IP,tag:""},{prop:"bucket",name:"bucket",embedded:false,exported:false,typ:IP,tag:""},{prop:"hasher",name:"hasher",embedded:false,exported:false,typ:KV,tag:""},{prop:"keysize",name:"keysize",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"valuesize",name:"valuesize",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"bucketsize",name:"bucketsize",embedded:false,exported:false,typ:$Uint16,tag:""},{prop:"flags",name:"flags",embedded:false,exported:false,typ:$Uint32,tag:""}]);CT.init("reflect",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:CL,tag:""},{prop:"elem",name:"elem",embedded:false,exported:false,typ:IP,tag:""}]);CU.init("reflect",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:CL,tag:""},{prop:"elem",name:"elem",embedded:false,exported:false,typ:IP,tag:""}]);CV.init("reflect",[{prop:"name",name:"name",embedded:false,exported:false,typ:FT,tag:""},{prop:"typ",name:"typ",embedded:false,exported:false,typ:IP,tag:""},{prop:"offsetEmbed",name:"offsetEmbed",embedded:false,exported:false,typ:$Uintptr,tag:""}]);CW.init("reflect",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:CL,tag:""},{prop:"pkgPath",name:"pkgPath",embedded:false,exported:false,typ:FT,tag:""},{prop:"fields",name:"fields",embedded:false,exported:false,typ:JW,tag:""}]);CY.init("",[{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"PkgPath",name:"PkgPath",embedded:false,exported:true,typ:$String,tag:""},{prop:"Type",name:"Type",embedded:false,exported:true,typ:CI,tag:""},{prop:"Func",name:"Func",embedded:false,exported:true,typ:O,tag:""},{prop:"Index",name:"Index",embedded:false,exported:true,typ:$Int,tag:""}]);DK.init("",[{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"PkgPath",name:"PkgPath",embedded:false,exported:true,typ:$String,tag:""},{prop:"Type",name:"Type",embedded:false,exported:true,typ:CI,tag:""},{prop:"Tag",name:"Tag",embedded:false,exported:true,typ:DL,tag:""},{prop:"Offset",name:"Offset",embedded:false,exported:true,typ:$Uintptr,tag:""},{prop:"Index",name:"Index",embedded:false,exported:true,typ:IW,tag:""},{prop:"Anonymous",name:"Anonymous",embedded:false,exported:true,typ:$Bool,tag:""}]);DM.init("reflect",[{prop:"typ",name:"typ",embedded:false,exported:false,typ:JP,tag:""},{prop:"index",name:"index",embedded:false,exported:false,typ:IW,tag:""}]);FQ.init("reflect",[{prop:"pkgPath",name:"pkgPath",embedded:false,exported:false,typ:DG,tag:""},{prop:"mcount",name:"mcount",embedded:false,exported:false,typ:$Uint16,tag:""},{prop:"xcount",name:"xcount",embedded:false,exported:false,typ:$Uint16,tag:""},{prop:"moff",name:"moff",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"_methods",name:"_methods",embedded:false,exported:false,typ:JL,tag:""}]);FS.init("reflect",[{prop:"rtype",name:"rtype",embedded:true,exported:false,typ:CL,tag:"reflect:\"func\""},{prop:"inCount",name:"inCount",embedded:false,exported:false,typ:$Uint16,tag:""},{prop:"outCount",name:"outCount",embedded:false,exported:false,typ:$Uint16,tag:""},{prop:"_in",name:"_in",embedded:false,exported:false,typ:IQ,tag:""},{prop:"_out",name:"_out",embedded:false,exported:false,typ:IQ,tag:""}]);FT.init("reflect",[{prop:"bytes",name:"bytes",embedded:false,exported:false,typ:JQ,tag:""}]);FU.init("reflect",[{prop:"name",name:"name",embedded:false,exported:false,typ:$String,tag:""},{prop:"tag",name:"tag",embedded:false,exported:false,typ:$String,tag:""},{prop:"exported",name:"exported",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"pkgPath",name:"pkgPath",embedded:false,exported:false,typ:$String,tag:""}]);HC.init("reflect",[{prop:"t",name:"t",embedded:false,exported:false,typ:CI,tag:""},{prop:"m",name:"m",embedded:false,exported:false,typ:IT,tag:""},{prop:"keys",name:"keys",embedded:false,exported:false,typ:IT,tag:""},{prop:"i",name:"i",embedded:false,exported:false,typ:$Int,tag:""},{prop:"last",name:"last",embedded:false,exported:false,typ:IT,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=K.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}FY=IO.nil;GA=IQ.nil;CZ=new IR(["invalid","bool","int","int8","int16","int32","int64","uint","uint8","uint16","uint32","uint64","uintptr","float32","float64","complex64","complex128","array","chan","func","interface","map","ptr","slice","string","struct","unsafe.Pointer"]);FK=false;FR={};FV={};AD=$assertType(GI(new $Uint8(0)),IP);HP=$assertType($internalize($call,$emptyInterface),IU);HQ=FO($jsObjectPtr);HU=$assertType($internalize($select,$emptyInterface),IU);$r=FL();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["encoding/binary"]=(function(){var $pkg={},$init,A,B,C,D,E,O,Z,J;A=$packages["errors"];B=$packages["io"];C=$packages["math"];D=$packages["reflect"];E=$packages["sync"];O=$pkg.bigEndian=$newType(0,$kindStruct,"binary.bigEndian",true,"encoding/binary",false,function(){this.$val=this;if(arguments.length===0){return;}});Z=$sliceType($Uint8);O.ptr.prototype.Uint16=function(a){var a;$unused((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]));return((((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])<<16>>>16))|((((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])<<16>>>16))<<8<<16>>>16))>>>0;};O.prototype.Uint16=function(a){return this.$val.Uint16(a);};O.ptr.prototype.PutUint16=function(a,b){var a,b;$unused((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=(((b>>>8<<16>>>16)<<24>>>24)));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((b<<24>>>24)));};O.prototype.PutUint16=function(a,b){return this.$val.PutUint16(a,b);};O.ptr.prototype.Uint32=function(a){var a;$unused((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]));return((((((((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3])>>>0))|((((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2])>>>0))<<8>>>0))>>>0)|((((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])>>>0))<<16>>>0))>>>0)|((((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])>>>0))<<24>>>0))>>>0;};O.prototype.Uint32=function(a){return this.$val.Uint32(a);};O.ptr.prototype.PutUint32=function(a,b){var a,b;$unused((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=(((b>>>24>>>0)<<24>>>24)));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=(((b>>>16>>>0)<<24>>>24)));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=(((b>>>8>>>0)<<24>>>24)));(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]=((b<<24>>>24)));};O.prototype.PutUint32=function(a,b){return this.$val.PutUint32(a,b);};O.ptr.prototype.Uint64=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;$unused((7>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+7]));return(b=(c=(d=(e=(f=(g=(h=(new $Uint64(0,(7>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+7]))),i=$shiftLeft64((new $Uint64(0,(6>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+6]))),8),new $Uint64(h.$high|i.$high,(h.$low|i.$low)>>>0)),j=$shiftLeft64((new $Uint64(0,(5>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+5]))),16),new $Uint64(g.$high|j.$high,(g.$low|j.$low)>>>0)),k=$shiftLeft64((new $Uint64(0,(4>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+4]))),24),new $Uint64(f.$high|k.$high,(f.$low|k.$low)>>>0)),l=$shiftLeft64((new $Uint64(0,(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]))),32),new $Uint64(e.$high|l.$high,(e.$low|l.$low)>>>0)),m=$shiftLeft64((new $Uint64(0,(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]))),40),new $Uint64(d.$high|m.$high,(d.$low|m.$low)>>>0)),n=$shiftLeft64((new $Uint64(0,(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]))),48),new $Uint64(c.$high|n.$high,(c.$low|n.$low)>>>0)),o=$shiftLeft64((new $Uint64(0,(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]))),56),new $Uint64(b.$high|o.$high,(b.$low|o.$low)>>>0));};O.prototype.Uint64=function(a){return this.$val.Uint64(a);};O.ptr.prototype.PutUint64=function(a,b){var a,b;$unused((7>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+7]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=(($shiftRightUint64(b,56).$low<<24>>>24)));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=(($shiftRightUint64(b,48).$low<<24>>>24)));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=(($shiftRightUint64(b,40).$low<<24>>>24)));(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]=(($shiftRightUint64(b,32).$low<<24>>>24)));(4>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+4]=(($shiftRightUint64(b,24).$low<<24>>>24)));(5>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+5]=(($shiftRightUint64(b,16).$low<<24>>>24)));(6>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+6]=(($shiftRightUint64(b,8).$low<<24>>>24)));(7>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+7]=((b.$low<<24>>>24)));};O.prototype.PutUint64=function(a,b){return this.$val.PutUint64(a,b);};O.ptr.prototype.String=function(){return"BigEndian";};O.prototype.String=function(){return this.$val.String();};O.ptr.prototype.GoString=function(){return"binary.BigEndian";};O.prototype.GoString=function(){return this.$val.GoString();};O.methods=[{prop:"Uint16",name:"Uint16",pkg:"",typ:$funcType([Z],[$Uint16],false)},{prop:"PutUint16",name:"PutUint16",pkg:"",typ:$funcType([Z,$Uint16],[],false)},{prop:"Uint32",name:"Uint32",pkg:"",typ:$funcType([Z],[$Uint32],false)},{prop:"PutUint32",name:"PutUint32",pkg:"",typ:$funcType([Z,$Uint32],[],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([Z],[$Uint64],false)},{prop:"PutUint64",name:"PutUint64",pkg:"",typ:$funcType([Z,$Uint64],[],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];O.init("",[]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.BigEndian=new O.ptr();J=A.New("binary: varint overflows a 64-bit integer");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["encoding/base64"]=(function(){var $pkg={},$init,A,B,C,D,F,H,N,O,P,Q,R,S,T,V,E,G,J,K;A=$packages["encoding/binary"];B=$packages["io"];C=$packages["strconv"];D=$pkg.Encoding=$newType(0,$kindStruct,"base64.Encoding",true,"encoding/base64",true,function(encode_,decodeMap_,padChar_,strict_){this.$val=this;if(arguments.length===0){this.encode=N.zero();this.decodeMap=O.zero();this.padChar=0;this.strict=false;return;}this.encode=encode_;this.decodeMap=decodeMap_;this.padChar=padChar_;this.strict=strict_;});F=$pkg.encoder=$newType(0,$kindStruct,"base64.encoder",true,"encoding/base64",false,function(err_,enc_,w_,buf_,nbuf_,out_){this.$val=this;if(arguments.length===0){this.err=$ifaceNil;this.enc=Q.nil;this.w=$ifaceNil;this.buf=R.zero();this.nbuf=0;this.out=S.zero();return;}this.err=err_;this.enc=enc_;this.w=w_;this.buf=buf_;this.nbuf=nbuf_;this.out=out_;});H=$pkg.CorruptInputError=$newType(8,$kindInt64,"base64.CorruptInputError",true,"encoding/base64",true,null);N=$arrayType($Uint8,64);O=$arrayType($Uint8,256);P=$sliceType($Uint8);Q=$ptrType(D);R=$arrayType($Uint8,3);S=$arrayType($Uint8,1024);T=$arrayType($Uint8,4);V=$ptrType(F);E=function(a){var a,b,c,d,e,f,g,h;if(!((a.length===64))){$panic(new $String("encoding alphabet is not 64-bytes long"));}b=0;while(true){if(!(b<a.length)){break;}if((a.charCodeAt(b)===10)||(a.charCodeAt(b)===13)){$panic(new $String("encoding alphabet contains newline character"));}b=b+(1)>>0;}c=new D.ptr(N.zero(),O.zero(),0,false);c.padChar=61;$copyString(new P(c.encode),a);d=0;while(true){if(!(d<256)){break;}(e=c.decodeMap,((d<0||d>=e.length)?($throwRuntimeError("index out of range"),undefined):e[d]=255));d=d+(1)>>0;}f=0;while(true){if(!(f<a.length)){break;}(g=c.decodeMap,h=a.charCodeAt(f),((h<0||h>=g.length)?($throwRuntimeError("index out of range"),undefined):g[h]=((f<<24>>>24))));f=f+(1)>>0;}return c;};$pkg.NewEncoding=E;D.ptr.prototype.WithPadding=function(a){var a,b,c,d;b=this;if((a===13)||(a===10)||a>255){$panic(new $String("invalid padding"));}c=0;while(true){if(!(c<64)){break;}if((((d=b.encode,((c<0||c>=d.length)?($throwRuntimeError("index out of range"),undefined):d[c]))>>0))===a){$panic(new $String("padding contained in alphabet"));}c=c+(1)>>0;}b.padChar=a;return b;};D.prototype.WithPadding=function(a){return this.$val.WithPadding(a);};D.ptr.prototype.Strict=function(){var a;a=this;a.strict=true;return a;};D.prototype.Strict=function(){return this.$val.Strict();};D.ptr.prototype.Encode=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=this;if(b.$length===0){return;}$unused(c.encode);d=0;e=0;f=d;g=e;i=$imul(((h=b.$length/3,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"))),3);while(true){if(!(g<i)){break;}m=(((((((j=g+0>>0,((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j]))>>>0))<<16>>>0)|((((k=g+1>>0,((k<0||k>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+k]))>>>0))<<8>>>0))>>>0)|(((l=g+2>>0,((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]))>>>0)))>>>0;(p=f+0>>0,((p<0||p>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+p]=(n=c.encode,o=((m>>>18>>>0)&63)>>>0,((o<0||o>=n.length)?($throwRuntimeError("index out of range"),undefined):n[o]))));(s=f+1>>0,((s<0||s>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+s]=(q=c.encode,r=((m>>>12>>>0)&63)>>>0,((r<0||r>=q.length)?($throwRuntimeError("index out of range"),undefined):q[r]))));(v=f+2>>0,((v<0||v>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+v]=(t=c.encode,u=((m>>>6>>>0)&63)>>>0,((u<0||u>=t.length)?($throwRuntimeError("index out of range"),undefined):t[u]))));(y=f+3>>0,((y<0||y>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+y]=(w=c.encode,x=(m&63)>>>0,((x<0||x>=w.length)?($throwRuntimeError("index out of range"),undefined):w[x]))));g=g+(3)>>0;f=f+(4)>>0;}z=b.$length-g>>0;if(z===0){return;}ab=(((aa=g+0>>0,((aa<0||aa>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+aa]))>>>0))<<16>>>0;if(z===2){ab=(ab|(((((ac=g+1>>0,((ac<0||ac>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+ac]))>>>0))<<8>>>0)))>>>0;}(af=f+0>>0,((af<0||af>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+af]=(ad=c.encode,ae=((ab>>>18>>>0)&63)>>>0,((ae<0||ae>=ad.length)?($throwRuntimeError("index out of range"),undefined):ad[ae]))));(ai=f+1>>0,((ai<0||ai>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ai]=(ag=c.encode,ah=((ab>>>12>>>0)&63)>>>0,((ah<0||ah>=ag.length)?($throwRuntimeError("index out of range"),undefined):ag[ah]))));aj=z;if(aj===(2)){(am=f+2>>0,((am<0||am>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+am]=(ak=c.encode,al=((ab>>>6>>>0)&63)>>>0,((al<0||al>=ak.length)?($throwRuntimeError("index out of range"),undefined):ak[al]))));if(!((c.padChar===-1))){(an=f+3>>0,((an<0||an>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+an]=((c.padChar<<24>>>24))));}}else if(aj===(1)){if(!((c.padChar===-1))){(ao=f+2>>0,((ao<0||ao>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ao]=((c.padChar<<24>>>24))));(ap=f+3>>0,((ap<0||ap>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ap]=((c.padChar<<24>>>24))));}}};D.prototype.Encode=function(a,b){return this.$val.Encode(a,b);};D.ptr.prototype.EncodeToString=function(a){var a,b,c;b=this;c=$makeSlice(P,b.EncodedLen(a.$length));b.Encode(c,a);return($bytesToString(c));};D.prototype.EncodeToString=function(a){return this.$val.EncodeToString(a);};F.ptr.prototype.Write=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;if(!($interfaceIsEqual(d.err,$ifaceNil))){e=0;f=d.err;b=e;c=f;$s=-1;return[b,c];}if(d.nbuf>0){$s=1;continue;}$s=2;continue;case 1:g=0;g=0;while(true){if(!(g<a.$length&&d.nbuf<3)){break;}(h=d.buf,i=d.nbuf,((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]=((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g])));d.nbuf=d.nbuf+(1)>>0;g=g+(1)>>0;}b=b+(g)>>0;a=$subslice(a,g);if(d.nbuf<3){$s=-1;return[b,c];}d.enc.Encode(new P(d.out),new P(d.buf));k=d.w.Write($subslice(new P(d.out),0,4));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;d.err=j[1];if(!($interfaceIsEqual(d.err,$ifaceNil))){l=b;m=d.err;b=l;c=m;$s=-1;return[b,c];}d.nbuf=0;case 2:case 4:if(!(a.$length>=3)){$s=5;continue;}n=768;if(n>a.$length){n=a.$length;n=n-((o=n%3,o===o?o:$throwRuntimeError("integer divide by zero")))>>0;}d.enc.Encode(new P(d.out),$subslice(a,0,n));r=d.w.Write($subslice(new P(d.out),0,($imul((q=n/3,(q===q&&q!==1/0&&q!==-1/0)?q>>0:$throwRuntimeError("integer divide by zero")),4))));$s=6;case 6:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}p=r;d.err=p[1];if(!($interfaceIsEqual(d.err,$ifaceNil))){s=b;t=d.err;b=s;c=t;$s=-1;return[b,c];}b=b+(n)>>0;a=$subslice(a,n);$s=4;continue;case 5:u=0;while(true){if(!(u<a.$length)){break;}(v=d.buf,((u<0||u>=v.length)?($throwRuntimeError("index out of range"),undefined):v[u]=((u<0||u>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+u])));u=u+(1)>>0;}d.nbuf=a.$length;b=b+(a.$length)>>0;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:F.ptr.prototype.Write};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};F.prototype.Write=function(a){return this.$val.Write(a);};F.ptr.prototype.Close=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if($interfaceIsEqual(a.err,$ifaceNil)&&a.nbuf>0){$s=1;continue;}$s=2;continue;case 1:a.enc.Encode(new P(a.out),$subslice(new P(a.buf),0,a.nbuf));c=a.w.Write($subslice(new P(a.out),0,a.enc.EncodedLen(a.nbuf)));$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;a.err=b[1];a.nbuf=0;case 2:$s=-1;return a.err;}return;}if($f===undefined){$f={$blk:F.ptr.prototype.Close};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};F.prototype.Close=function(){return this.$val.Close();};G=function(a,b){var a,b;return new F.ptr($ifaceNil,a,b,R.zero(),0,S.zero());};$pkg.NewEncoder=G;D.ptr.prototype.EncodedLen=function(a){var a,b,c,d;b=this;if(b.padChar===-1){return(c=((($imul(a,8))+5>>0))/6,(c===c&&c!==1/0&&c!==-1/0)?c>>0:$throwRuntimeError("integer divide by zero"));}return $imul((d=((a+2>>0))/3,(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero")),4);};D.prototype.EncodedLen=function(a){return this.$val.EncodedLen(a);};H.prototype.Error=function(){var a;a=this;return"illegal base64 data at input byte "+C.FormatInt((new $Int64(a.$high,a.$low)),10);};$ptrType(H).prototype.Error=function(){return this.$get().Error();};D.ptr.prototype.decodeQuantum=function(a,b,c){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;d=0;e=0;f=$ifaceNil;g=this;h=T.zero();i=4;$unused(g.decodeMap);j=0;while(true){if(!(j<4)){break;}if(b.$length===c){if((j===0)){k=c;l=0;m=$ifaceNil;d=k;e=l;f=m;return[d,e,f];}else if(((j===1))||(!((g.padChar===-1)))){n=c;o=0;p=(new H(0,(c-j>>0)));d=n;e=o;f=p;return[d,e,f];}i=j;break;}q=((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]);c=c+(1)>>0;s=(r=g.decodeMap,((q<0||q>=r.length)?($throwRuntimeError("index out of range"),undefined):r[q]));if(!((s===255))){((j<0||j>=h.length)?($throwRuntimeError("index out of range"),undefined):h[j]=s);j=j+(1)>>0;continue;}if((q===10)||(q===13)){j=j-(1)>>0;j=j+(1)>>0;continue;}if(!((((q>>0))===g.padChar))){t=c;u=0;v=(new H(0,(c-1>>0)));d=t;e=u;f=v;return[d,e,f];}w=j;if((w===(0))||(w===(1))){x=c;y=0;z=(new H(0,(c-1>>0)));d=x;e=y;f=z;return[d,e,f];}else if(w===(2)){while(true){if(!(c<b.$length&&((((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])===10)||(((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])===13)))){break;}c=c+(1)>>0;}if(c===b.$length){aa=c;ab=0;ac=(new H(0,b.$length));d=aa;e=ab;f=ac;return[d,e,f];}if(!((((((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])>>0))===g.padChar))){ad=c;ae=0;af=(new H(0,(c-1>>0)));d=ad;e=ae;f=af;return[d,e,f];}c=c+(1)>>0;}while(true){if(!(c<b.$length&&((((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])===10)||(((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])===13)))){break;}c=c+(1)>>0;}if(c<b.$length){f=(new H(0,c));}i=j;break;}ag=((((((((h[0]>>>0))<<18>>>0)|(((h[1]>>>0))<<12>>>0))>>>0)|(((h[2]>>>0))<<6>>>0))>>>0)|((h[3]>>>0)))>>>0;ah=(((ag>>>0>>>0)<<24>>>24));ai=(((ag>>>8>>>0)<<24>>>24));aj=(((ag>>>16>>>0)<<24>>>24));h[2]=ah;h[1]=ai;h[0]=aj;ak=i;if(ak===(4)){(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=h[2]);h[2]=0;(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=h[1]);if(g.strict&&!((h[2]===0))){al=c;am=0;an=(new H(0,(c-1>>0)));d=al;e=am;f=an;return[d,e,f];}h[1]=0;(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=h[0]);if(g.strict&&(!((h[1]===0))||!((h[2]===0)))){ao=c;ap=0;aq=(new H(0,(c-2>>0)));d=ao;e=ap;f=aq;return[d,e,f];}}else if(ak===(3)){(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=h[1]);if(g.strict&&!((h[2]===0))){ar=c;as=0;at=(new H(0,(c-1>>0)));d=ar;e=as;f=at;return[d,e,f];}h[1]=0;(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=h[0]);if(g.strict&&(!((h[1]===0))||!((h[2]===0)))){au=c;av=0;aw=(new H(0,(c-2>>0)));d=au;e=av;f=aw;return[d,e,f];}}else if(ak===(2)){(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=h[0]);if(g.strict&&(!((h[1]===0))||!((h[2]===0)))){ax=c;ay=0;az=(new H(0,(c-2>>0)));d=ax;e=ay;f=az;return[d,e,f];}}ba=c;bb=i-1>>0;bc=f;d=ba;e=bb;f=bc;return[d,e,f];};D.prototype.decodeQuantum=function(a,b,c){return this.$val.decodeQuantum(a,b,c);};D.ptr.prototype.DecodeString=function(a){var a,b,c,d,e,f;b=this;c=$makeSlice(P,b.DecodedLen(a.length));d=b.Decode(c,(new P($stringToBytes(a))));e=d[0];f=d[1];return[$subslice(c,0,e),f];};D.prototype.DecodeString=function(a){return this.$val.DecodeString(a);};D.ptr.prototype.Decode=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=0;d=$ifaceNil;e=this;if(b.$length===0){f=0;g=$ifaceNil;c=f;d=g;return[c,d];}$unused(e.decodeMap);h=0;while(true){if(true){break;}i=$subslice(b,h,(h+8>>0));j=K((k=e.decodeMap,l=(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]),((l<0||l>=k.length)?($throwRuntimeError("index out of range"),undefined):k[l])),(m=e.decodeMap,n=(1>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+1]),((n<0||n>=m.length)?($throwRuntimeError("index out of range"),undefined):m[n])),(o=e.decodeMap,p=(2>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+2]),((p<0||p>=o.length)?($throwRuntimeError("index out of range"),undefined):o[p])),(q=e.decodeMap,r=(3>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+3]),((r<0||r>=q.length)?($throwRuntimeError("index out of range"),undefined):q[r])),(s=e.decodeMap,t=(4>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+4]),((t<0||t>=s.length)?($throwRuntimeError("index out of range"),undefined):s[t])),(u=e.decodeMap,v=(5>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+5]),((v<0||v>=u.length)?($throwRuntimeError("index out of range"),undefined):u[v])),(w=e.decodeMap,x=(6>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+6]),((x<0||x>=w.length)?($throwRuntimeError("index out of range"),undefined):w[x])),(y=e.decodeMap,z=(7>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+7]),((z<0||z>=y.length)?($throwRuntimeError("index out of range"),undefined):y[z])));aa=j[0];ab=j[1];if(ab){$clone(A.BigEndian,A.bigEndian).PutUint64($subslice(a,c),aa);c=c+(6)>>0;h=h+(8)>>0;}else{ac=0;ad=e.decodeQuantum($subslice(a,c),b,h);h=ad[0];ac=ad[1];d=ad[2];c=c+(ac)>>0;if(!($interfaceIsEqual(d,$ifaceNil))){ae=c;af=d;c=ae;d=af;return[c,d];}}}while(true){if(!((b.$length-h>>0)>=4&&(a.$length-c>>0)>=4)){break;}ag=$subslice(b,h,(h+4>>0));ah=J((ai=e.decodeMap,aj=(0>=ag.$length?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+0]),((aj<0||aj>=ai.length)?($throwRuntimeError("index out of range"),undefined):ai[aj])),(ak=e.decodeMap,al=(1>=ag.$length?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+1]),((al<0||al>=ak.length)?($throwRuntimeError("index out of range"),undefined):ak[al])),(am=e.decodeMap,an=(2>=ag.$length?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+2]),((an<0||an>=am.length)?($throwRuntimeError("index out of range"),undefined):am[an])),(ao=e.decodeMap,ap=(3>=ag.$length?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+3]),((ap<0||ap>=ao.length)?($throwRuntimeError("index out of range"),undefined):ao[ap])));aq=ah[0];ar=ah[1];if(ar){$clone(A.BigEndian,A.bigEndian).PutUint32($subslice(a,c),aq);c=c+(3)>>0;h=h+(4)>>0;}else{as=0;at=e.decodeQuantum($subslice(a,c),b,h);h=at[0];as=at[1];d=at[2];c=c+(as)>>0;if(!($interfaceIsEqual(d,$ifaceNil))){au=c;av=d;c=au;d=av;return[c,d];}}}while(true){if(!(h<b.$length)){break;}aw=0;ax=e.decodeQuantum($subslice(a,c),b,h);h=ax[0];aw=ax[1];d=ax[2];c=c+(aw)>>0;if(!($interfaceIsEqual(d,$ifaceNil))){ay=c;az=d;c=ay;d=az;return[c,d];}}ba=c;bb=d;c=ba;d=bb;return[c,d];};D.prototype.Decode=function(a,b){return this.$val.Decode(a,b);};J=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j;e=0;f=false;if(((((((a|b)>>>0)|c)>>>0)|d)>>>0)===255){g=0;h=false;e=g;f=h;return[e,f];}i=((((((((a>>>0))<<26>>>0)|(((b>>>0))<<20>>>0))>>>0)|(((c>>>0))<<14>>>0))>>>0)|(((d>>>0))<<8>>>0))>>>0;j=true;e=i;f=j;return[e,f];};K=function(a,b,c,d,e,f,g,h){var a,aa,ab,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;i=new $Uint64(0,0);j=false;if(((((((((((((((a|b)>>>0)|c)>>>0)|d)>>>0)|e)>>>0)|f)>>>0)|g)>>>0)|h)>>>0)===255){k=new $Uint64(0,0);l=false;i=k;j=l;return[i,j];}m=(n=(o=(p=(q=(r=(s=(t=$shiftLeft64((new $Uint64(0,a)),58),u=$shiftLeft64((new $Uint64(0,b)),52),new $Uint64(t.$high|u.$high,(t.$low|u.$low)>>>0)),v=$shiftLeft64((new $Uint64(0,c)),46),new $Uint64(s.$high|v.$high,(s.$low|v.$low)>>>0)),w=$shiftLeft64((new $Uint64(0,d)),40),new $Uint64(r.$high|w.$high,(r.$low|w.$low)>>>0)),x=$shiftLeft64((new $Uint64(0,e)),34),new $Uint64(q.$high|x.$high,(q.$low|x.$low)>>>0)),y=$shiftLeft64((new $Uint64(0,f)),28),new $Uint64(p.$high|y.$high,(p.$low|y.$low)>>>0)),z=$shiftLeft64((new $Uint64(0,g)),22),new $Uint64(o.$high|z.$high,(o.$low|z.$low)>>>0)),aa=$shiftLeft64((new $Uint64(0,h)),16),new $Uint64(n.$high|aa.$high,(n.$low|aa.$low)>>>0));ab=true;i=m;j=ab;return[i,j];};D.ptr.prototype.DecodedLen=function(a){var a,b,c,d;b=this;if(b.padChar===-1){return(c=($imul(a,6))/8,(c===c&&c!==1/0&&c!==-1/0)?c>>0:$throwRuntimeError("integer divide by zero"));}return $imul((d=a/4,(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero")),3);};D.prototype.DecodedLen=function(a){return this.$val.DecodedLen(a);};D.methods=[{prop:"WithPadding",name:"WithPadding",pkg:"",typ:$funcType([$Int32],[Q],false)},{prop:"Strict",name:"Strict",pkg:"",typ:$funcType([],[Q],false)}];Q.methods=[{prop:"Encode",name:"Encode",pkg:"",typ:$funcType([P,P],[],false)},{prop:"EncodeToString",name:"EncodeToString",pkg:"",typ:$funcType([P],[$String],false)},{prop:"EncodedLen",name:"EncodedLen",pkg:"",typ:$funcType([$Int],[$Int],false)},{prop:"decodeQuantum",name:"decodeQuantum",pkg:"encoding/base64",typ:$funcType([P,P,$Int],[$Int,$Int,$error],false)},{prop:"DecodeString",name:"DecodeString",pkg:"",typ:$funcType([$String],[P,$error],false)},{prop:"Decode",name:"Decode",pkg:"",typ:$funcType([P,P],[$Int,$error],false)},{prop:"DecodedLen",name:"DecodedLen",pkg:"",typ:$funcType([$Int],[$Int],false)}];V.methods=[{prop:"Write",name:"Write",pkg:"",typ:$funcType([P],[$Int,$error],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)}];H.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];D.init("encoding/base64",[{prop:"encode",name:"encode",embedded:false,exported:false,typ:N,tag:""},{prop:"decodeMap",name:"decodeMap",embedded:false,exported:false,typ:O,tag:""},{prop:"padChar",name:"padChar",embedded:false,exported:false,typ:$Int32,tag:""},{prop:"strict",name:"strict",embedded:false,exported:false,typ:$Bool,tag:""}]);F.init("encoding/base64",[{prop:"err",name:"err",embedded:false,exported:false,typ:$error,tag:""},{prop:"enc",name:"enc",embedded:false,exported:false,typ:Q,tag:""},{prop:"w",name:"w",embedded:false,exported:false,typ:B.Writer,tag:""},{prop:"buf",name:"buf",embedded:false,exported:false,typ:R,tag:""},{prop:"nbuf",name:"nbuf",embedded:false,exported:false,typ:$Int,tag:""},{prop:"out",name:"out",embedded:false,exported:false,typ:S,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.StdEncoding=E("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/");$pkg.URLEncoding=E("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");$pkg.RawStdEncoding=$clone($pkg.StdEncoding,D).WithPadding(-1);$pkg.RawURLEncoding=$clone($pkg.URLEncoding,D).WithPadding(-1);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["sort"]=(function(){var $pkg={},$init,A,V,Z,AC,AW,AY,AZ,BA,AN,AO,B,C,D,E,F,G,H,I,J,K,M,N,O,P,Q,R,S,T,U,AD,AF,AJ,AK,AL,AM,AP,AQ,AS,AT,AV;A=$packages["internal/reflectlite"];V=$pkg.lessSwap=$newType(0,$kindStruct,"sort.lessSwap",true,"sort",false,function(Less_,Swap_){this.$val=this;if(arguments.length===0){this.Less=$throwNilPointerError;this.Swap=$throwNilPointerError;return;}this.Less=Less_;this.Swap=Swap_;});Z=$pkg.IntSlice=$newType(12,$kindSlice,"sort.IntSlice",true,"sort",true,null);AC=$pkg.StringSlice=$newType(12,$kindSlice,"sort.StringSlice",true,"sort",true,null);AW=$sliceType($Int);AY=$sliceType($String);AZ=$funcType([$Int,$Int],[$Bool],false);BA=$funcType([$Int,$Int],[],false);B=function(a,b,c){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=b+1>>0;case 1:if(!(d<c)){$s=2;continue;}e=d;case 3:if(!(e>b)){f=false;$s=5;continue s;}g=a.Less(e,e-1>>0);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;case 5:if(!(f)){$s=4;continue;}$r=a.Swap(e,e-1>>0);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=e-(1)>>0;$s=3;continue;case 4:d=d+(1)>>0;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:B};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};C=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=b;case 1:f=($imul(2,e))+1>>0;if(f>=c){$s=2;continue;}if(!((f+1>>0)<c)){g=false;$s=5;continue s;}h=a.Less(d+f>>0,(d+f>>0)+1>>0);$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;case 5:if(g){$s=3;continue;}$s=4;continue;case 3:f=f+(1)>>0;case 4:i=a.Less(d+e>>0,d+f>>0);$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(!i){$s=7;continue;}$s=8;continue;case 7:$s=-1;return;case 8:$r=a.Swap(d+e>>0,d+f>>0);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=f;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:C};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};D=function(a,b,c){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=b;e=0;f=c-b>>0;h=(g=((f-1>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"));case 1:if(!(h>=0)){$s=2;continue;}$r=C($clone(a,V),h,f,d);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h=h-(1)>>0;$s=1;continue;case 2:i=f-1>>0;case 4:if(!(i>=0)){$s=5;continue;}$r=a.Swap(d,d+i>>0);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C($clone(a,V),e,i,d);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=i-(1)>>0;$s=4;continue;case 5:$s=-1;return;}return;}if($f===undefined){$f={$blk:D};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};E=function(a,b,c,d){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=a.Less(b,c);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(e){$s=1;continue;}$s=2;continue;case 1:$r=a.Swap(b,c);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:f=a.Less(d,b);$s=7;case 7:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(f){$s=5;continue;}$s=6;continue;case 5:$r=a.Swap(d,b);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g=a.Less(b,c);$s=11;case 11:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}if(g){$s=9;continue;}$s=10;continue;case 9:$r=a.Swap(b,c);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 10:case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:E};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};F=function(a,b,c,d){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=0;case 1:if(!(e<d)){$s=2;continue;}$r=a.Swap(b+e>>0,c+e>>0);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=e+(1)>>0;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:F};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};G=function(a,b,c){var a,aa,ab,ac,ad,ae,af,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=0;e=0;f=((((((b+c>>0)>>>0))>>>1>>>0)>>0));if((c-b>>0)>40){$s=1;continue;}$s=2;continue;case 1:h=(g=((c-b>>0))/8,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"));$r=E($clone(a,V),b,b+h>>0,b+($imul(2,h))>>0);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E($clone(a,V),f,f-h>>0,f+h>>0);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E($clone(a,V),c-1>>0,(c-1>>0)-h>>0,(c-1>>0)-($imul(2,h))>>0);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$r=E($clone(a,V),b,f,c-1>>0);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=b;j=b+1>>0;k=c-1>>0;l=j;m=k;case 7:if(!(l<m)){n=false;$s=9;continue s;}o=a.Less(l,i);$s=10;case 10:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;case 9:if(!(n)){$s=8;continue;}l=l+(1)>>0;$s=7;continue;case 8:p=l;case 11:case 13:if(!(p<m)){q=false;$s=15;continue s;}r=a.Less(i,p);$s=16;case 16:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=!r;case 15:if(!(q)){$s=14;continue;}p=p+(1)>>0;$s=13;continue;case 14:case 17:if(!(p<m)){s=false;$s=19;continue s;}t=a.Less(i,m-1>>0);$s=20;case 20:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;case 19:if(!(s)){$s=18;continue;}m=m-(1)>>0;$s=17;continue;case 18:if(p>=m){$s=12;continue;}$r=a.Swap(p,m-1>>0);$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p=p+(1)>>0;m=m-(1)>>0;$s=11;continue;case 12:u=(c-m>>0)<5;if(!u&&(c-m>>0)<(v=((c-b>>0))/4,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero"))){$s=22;continue;}$s=23;continue;case 22:w=0;x=a.Less(i,c-1>>0);$s=26;case 26:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}if(!x){$s=24;continue;}$s=25;continue;case 24:$r=a.Swap(m,c-1>>0);$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}m=m+(1)>>0;w=w+(1)>>0;case 25:y=a.Less(p-1>>0,i);$s=30;case 30:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}if(!y){$s=28;continue;}$s=29;continue;case 28:p=p-(1)>>0;w=w+(1)>>0;case 29:z=a.Less(f,i);$s=33;case 33:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}if(!z){$s=31;continue;}$s=32;continue;case 31:$r=a.Swap(f,p-1>>0);$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p=p-(1)>>0;w=w+(1)>>0;case 32:u=w>1;case 23:if(u){$s=35;continue;}$s=36;continue;case 35:case 37:case 39:if(!(l<p)){aa=false;$s=41;continue s;}ab=a.Less(p-1>>0,i);$s=42;case 42:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=!ab;case 41:if(!(aa)){$s=40;continue;}p=p-(1)>>0;$s=39;continue;case 40:case 43:if(!(l<p)){ac=false;$s=45;continue s;}ad=a.Less(l,i);$s=46;case 46:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;case 45:if(!(ac)){$s=44;continue;}l=l+(1)>>0;$s=43;continue;case 44:if(l>=p){$s=38;continue;}$r=a.Swap(l,p-1>>0);$s=47;case 47:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=l+(1)>>0;p=p-(1)>>0;$s=37;continue;case 38:case 36:$r=a.Swap(i,p-1>>0);$s=48;case 48:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ae=p-1>>0;af=m;d=ae;e=af;$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:G};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};H=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:if(!((c-b>>0)>12)){$s=2;continue;}if(d===0){$s=3;continue;}$s=4;continue;case 3:$r=D($clone(a,V),b,c);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 4:d=d-(1)>>0;f=G($clone(a,V),b,c);$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];if((g-b>>0)<(c-h>>0)){$s=7;continue;}$s=8;continue;case 7:$r=H($clone(a,V),b,g,d);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=h;$s=9;continue;case 8:$r=H($clone(a,V),h,c,d);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=g;case 9:$s=1;continue;case 2:if((c-b>>0)>1){$s=12;continue;}$s=13;continue;case 12:i=b+6>>0;case 14:if(!(i<c)){$s=15;continue;}j=a.Less(i,i-6>>0);$s=18;case 18:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(j){$s=16;continue;}$s=17;continue;case 16:$r=a.Swap(i,i-6>>0);$s=19;case 19:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 17:i=i+(1)>>0;$s=14;continue;case 15:$r=B($clone(a,V),b,c);$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 13:$s=-1;return;}return;}if($f===undefined){$f={$blk:H};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};I=function(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=20;d=0;e=c;f=d;g=e;case 1:if(!(g<=b)){$s=2;continue;}$r=B($clone(a,V),f,g);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=g;g=g+(c)>>0;$s=1;continue;case 2:$r=B($clone(a,V),f,b);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:if(!(c<b)){$s=6;continue;}h=0;i=$imul(2,c);f=h;g=i;case 7:if(!(g<=b)){$s=8;continue;}$r=J($clone(a,V),f,f+c>>0,g);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=g;g=g+(($imul(2,c)))>>0;$s=7;continue;case 8:j=f+c>>0;if(j<b){$s=10;continue;}$s=11;continue;case 10:$r=J($clone(a,V),f,j,b);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 11:c=$imul(c,(2));$s=5;continue;case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:I};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};J=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if((c-b>>0)===1){$s=1;continue;}$s=2;continue;case 1:e=c;f=d;case 3:if(!(e<f)){$s=4;continue;}g=((((((e+f>>0)>>>0))>>>1>>>0)>>0));h=a.Less(g,b);$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(h){$s=5;continue;}$s=6;continue;case 5:e=g+1>>0;$s=7;continue;case 6:f=g;case 7:$s=3;continue;case 4:i=b;case 9:if(!(i<(e-1>>0))){$s=10;continue;}$r=a.Swap(i,i+1>>0);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=i+(1)>>0;$s=9;continue;case 10:$s=-1;return;case 2:if((d-c>>0)===1){$s=12;continue;}$s=13;continue;case 12:j=b;k=c;case 14:if(!(j<k)){$s=15;continue;}l=((((((j+k>>0)>>>0))>>>1>>>0)>>0));m=a.Less(c,l);$s=19;case 19:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(!m){$s=16;continue;}$s=17;continue;case 16:j=l+1>>0;$s=18;continue;case 17:k=l;case 18:$s=14;continue;case 15:n=c;case 20:if(!(n>j)){$s=21;continue;}$r=a.Swap(n,n-1>>0);$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}n=n-(1)>>0;$s=20;continue;case 21:$s=-1;return;case 13:o=((((((b+d>>0)>>>0))>>>1>>>0)>>0));p=o+c>>0;q=0;r=0;s=q;t=r;if(c>o){s=p-d>>0;t=o;}else{s=b;t=c;}u=p-1>>0;case 23:if(!(s<t)){$s=24;continue;}v=((((((s+t>>0)>>>0))>>>1>>>0)>>0));w=a.Less(u-v>>0,v);$s=28;case 28:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}if(!w){$s=25;continue;}$s=26;continue;case 25:s=v+1>>0;$s=27;continue;case 26:t=v;case 27:$s=23;continue;case 24:x=p-s>>0;if(s<c&&c<x){$s=29;continue;}$s=30;continue;case 29:$r=K($clone(a,V),s,c,x);$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 30:if(b<s&&s<o){$s=32;continue;}$s=33;continue;case 32:$r=J($clone(a,V),b,s,o);$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 33:if(o<x&&x<d){$s=35;continue;}$s=36;continue;case 35:$r=J($clone(a,V),o,x,d);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 36:$s=-1;return;}return;}if($f===undefined){$f={$blk:J};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};K=function(a,b,c,d){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=c-b>>0;f=d-c>>0;case 1:if(!(!((e===f)))){$s=2;continue;}if(e>f){$s=3;continue;}$s=4;continue;case 3:$r=F($clone(a,V),c-e>>0,c,f);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=e-(f)>>0;$s=5;continue;case 4:$r=F($clone(a,V),c-e>>0,(c+f>>0)-e>>0,e);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=f-(e)>>0;case 5:$s=1;continue;case 2:$r=F($clone(a,V),c-e>>0,c,e);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:K};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};M=function(a,b,c){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=b+1>>0;case 1:if(!(d<c)){$s=2;continue;}e=d;case 3:if(!(e>b)){f=false;$s=5;continue s;}g=a.Less(e,e-1>>0);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;case 5:if(!(f)){$s=4;continue;}$r=a.Swap(e,e-1>>0);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=e-(1)>>0;$s=3;continue;case 4:d=d+(1)>>0;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:M};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};N=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=b;case 1:f=($imul(2,e))+1>>0;if(f>=c){$s=2;continue;}if(!((f+1>>0)<c)){g=false;$s=5;continue s;}h=a.Less(d+f>>0,(d+f>>0)+1>>0);$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;case 5:if(g){$s=3;continue;}$s=4;continue;case 3:f=f+(1)>>0;case 4:i=a.Less(d+e>>0,d+f>>0);$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(!i){$s=7;continue;}$s=8;continue;case 7:$s=-1;return;case 8:$r=a.Swap(d+e>>0,d+f>>0);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=f;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:N};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};O=function(a,b,c){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=b;e=0;f=c-b>>0;h=(g=((f-1>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"));case 1:if(!(h>=0)){$s=2;continue;}$r=N(a,h,f,d);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h=h-(1)>>0;$s=1;continue;case 2:i=f-1>>0;case 4:if(!(i>=0)){$s=5;continue;}$r=a.Swap(d,d+i>>0);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=N(a,e,i,d);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=i-(1)>>0;$s=4;continue;case 5:$s=-1;return;}return;}if($f===undefined){$f={$blk:O};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};P=function(a,b,c,d){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=a.Less(b,c);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(e){$s=1;continue;}$s=2;continue;case 1:$r=a.Swap(b,c);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:f=a.Less(d,b);$s=7;case 7:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(f){$s=5;continue;}$s=6;continue;case 5:$r=a.Swap(d,b);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g=a.Less(b,c);$s=11;case 11:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}if(g){$s=9;continue;}$s=10;continue;case 9:$r=a.Swap(b,c);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 10:case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:P};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};Q=function(a,b,c,d){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=0;case 1:if(!(e<d)){$s=2;continue;}$r=a.Swap(b+e>>0,c+e>>0);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=e+(1)>>0;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:Q};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};R=function(a,b,c){var a,aa,ab,ac,ad,ae,af,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=0;e=0;f=((((((b+c>>0)>>>0))>>>1>>>0)>>0));if((c-b>>0)>40){$s=1;continue;}$s=2;continue;case 1:h=(g=((c-b>>0))/8,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"));$r=P(a,b,b+h>>0,b+($imul(2,h))>>0);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=P(a,f,f-h>>0,f+h>>0);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=P(a,c-1>>0,(c-1>>0)-h>>0,(c-1>>0)-($imul(2,h))>>0);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$r=P(a,b,f,c-1>>0);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=b;j=b+1>>0;k=c-1>>0;l=j;m=k;case 7:if(!(l<m)){n=false;$s=9;continue s;}o=a.Less(l,i);$s=10;case 10:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;case 9:if(!(n)){$s=8;continue;}l=l+(1)>>0;$s=7;continue;case 8:p=l;case 11:case 13:if(!(p<m)){q=false;$s=15;continue s;}r=a.Less(i,p);$s=16;case 16:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=!r;case 15:if(!(q)){$s=14;continue;}p=p+(1)>>0;$s=13;continue;case 14:case 17:if(!(p<m)){s=false;$s=19;continue s;}t=a.Less(i,m-1>>0);$s=20;case 20:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;case 19:if(!(s)){$s=18;continue;}m=m-(1)>>0;$s=17;continue;case 18:if(p>=m){$s=12;continue;}$r=a.Swap(p,m-1>>0);$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p=p+(1)>>0;m=m-(1)>>0;$s=11;continue;case 12:u=(c-m>>0)<5;if(!u&&(c-m>>0)<(v=((c-b>>0))/4,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero"))){$s=22;continue;}$s=23;continue;case 22:w=0;x=a.Less(i,c-1>>0);$s=26;case 26:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}if(!x){$s=24;continue;}$s=25;continue;case 24:$r=a.Swap(m,c-1>>0);$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}m=m+(1)>>0;w=w+(1)>>0;case 25:y=a.Less(p-1>>0,i);$s=30;case 30:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}if(!y){$s=28;continue;}$s=29;continue;case 28:p=p-(1)>>0;w=w+(1)>>0;case 29:z=a.Less(f,i);$s=33;case 33:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}if(!z){$s=31;continue;}$s=32;continue;case 31:$r=a.Swap(f,p-1>>0);$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p=p-(1)>>0;w=w+(1)>>0;case 32:u=w>1;case 23:if(u){$s=35;continue;}$s=36;continue;case 35:case 37:case 39:if(!(l<p)){aa=false;$s=41;continue s;}ab=a.Less(p-1>>0,i);$s=42;case 42:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=!ab;case 41:if(!(aa)){$s=40;continue;}p=p-(1)>>0;$s=39;continue;case 40:case 43:if(!(l<p)){ac=false;$s=45;continue s;}ad=a.Less(l,i);$s=46;case 46:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;case 45:if(!(ac)){$s=44;continue;}l=l+(1)>>0;$s=43;continue;case 44:if(l>=p){$s=38;continue;}$r=a.Swap(l,p-1>>0);$s=47;case 47:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=l+(1)>>0;p=p-(1)>>0;$s=37;continue;case 38:case 36:$r=a.Swap(i,p-1>>0);$s=48;case 48:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ae=p-1>>0;af=m;d=ae;e=af;$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:R};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};S=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:if(!((c-b>>0)>12)){$s=2;continue;}if(d===0){$s=3;continue;}$s=4;continue;case 3:$r=O(a,b,c);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 4:d=d-(1)>>0;f=R(a,b,c);$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];if((g-b>>0)<(c-h>>0)){$s=7;continue;}$s=8;continue;case 7:$r=S(a,b,g,d);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=h;$s=9;continue;case 8:$r=S(a,h,c,d);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=g;case 9:$s=1;continue;case 2:if((c-b>>0)>1){$s=12;continue;}$s=13;continue;case 12:i=b+6>>0;case 14:if(!(i<c)){$s=15;continue;}j=a.Less(i,i-6>>0);$s=18;case 18:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(j){$s=16;continue;}$s=17;continue;case 16:$r=a.Swap(i,i-6>>0);$s=19;case 19:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 17:i=i+(1)>>0;$s=14;continue;case 15:$r=M(a,b,c);$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 13:$s=-1;return;}return;}if($f===undefined){$f={$blk:S};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};T=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.Len();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$r=S(a,0,c,U(c));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:T};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Sort=T;U=function(a){var a,b,c;b=0;c=a;while(true){if(!(c>0)){break;}b=b+(1)>>0;c=(c>>$min((1),31))>>0;}return $imul(b,2);};Z.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(Z).prototype.Len=function(){return this.$get().Len();};Z.prototype.Less=function(a,b){var a,b,c;c=this;return((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a])<((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]);};$ptrType(Z).prototype.Less=function(a,b){return this.$get().Less(a,b);};Z.prototype.Swap=function(a,b){var a,b,c,d,e;c=this;d=((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]);e=((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]);((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]=d);((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]=e);};$ptrType(Z).prototype.Swap=function(a,b){return this.$get().Swap(a,b);};Z.prototype.Sort=function(){var a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;$r=T(a);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:Z.prototype.Sort};}$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(Z).prototype.Sort=function(){return this.$get().Sort();};AC.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AC).prototype.Len=function(){return this.$get().Len();};AC.prototype.Less=function(a,b){var a,b,c;c=this;return((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a])<((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]);};$ptrType(AC).prototype.Less=function(a,b){return this.$get().Less(a,b);};AC.prototype.Swap=function(a,b){var a,b,c,d,e;c=this;d=((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]);e=((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]);((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]=d);((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]=e);};$ptrType(AC).prototype.Swap=function(a,b){return this.$get().Swap(a,b);};AC.prototype.Sort=function(){var a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;$r=T(a);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AC.prototype.Sort};}$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AC).prototype.Sort=function(){return this.$get().Sort();};AD=function(a){var a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=T(($convertSliceType(a,Z)));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AD};}$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Ints=AD;AF=function(a){var a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=T(($convertSliceType(a,AC)));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AF};}$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Strings=AF;AJ=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a;c=a.Len();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$r=AK(b,d);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AJ};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Stable=AJ;AK=function(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=20;d=0;e=c;f=d;g=e;case 1:if(!(g<=b)){$s=2;continue;}$r=M(a,f,g);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=g;g=g+(c)>>0;$s=1;continue;case 2:$r=M(a,f,b);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:if(!(c<b)){$s=6;continue;}h=0;i=$imul(2,c);f=h;g=i;case 7:if(!(g<=b)){$s=8;continue;}$r=AL(a,f,f+c>>0,g);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=g;g=g+(($imul(2,c)))>>0;$s=7;continue;case 8:j=f+c>>0;if(j<b){$s=10;continue;}$s=11;continue;case 10:$r=AL(a,f,j,b);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 11:c=$imul(c,(2));$s=5;continue;case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:AK};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AL=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if((c-b>>0)===1){$s=1;continue;}$s=2;continue;case 1:e=c;f=d;case 3:if(!(e<f)){$s=4;continue;}g=((((((e+f>>0)>>>0))>>>1>>>0)>>0));h=a.Less(g,b);$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(h){$s=5;continue;}$s=6;continue;case 5:e=g+1>>0;$s=7;continue;case 6:f=g;case 7:$s=3;continue;case 4:i=b;case 9:if(!(i<(e-1>>0))){$s=10;continue;}$r=a.Swap(i,i+1>>0);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=i+(1)>>0;$s=9;continue;case 10:$s=-1;return;case 2:if((d-c>>0)===1){$s=12;continue;}$s=13;continue;case 12:j=b;k=c;case 14:if(!(j<k)){$s=15;continue;}l=((((((j+k>>0)>>>0))>>>1>>>0)>>0));m=a.Less(c,l);$s=19;case 19:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(!m){$s=16;continue;}$s=17;continue;case 16:j=l+1>>0;$s=18;continue;case 17:k=l;case 18:$s=14;continue;case 15:n=c;case 20:if(!(n>j)){$s=21;continue;}$r=a.Swap(n,n-1>>0);$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}n=n-(1)>>0;$s=20;continue;case 21:$s=-1;return;case 13:o=((((((b+d>>0)>>>0))>>>1>>>0)>>0));p=o+c>>0;q=0;r=0;s=q;t=r;if(c>o){s=p-d>>0;t=o;}else{s=b;t=c;}u=p-1>>0;case 23:if(!(s<t)){$s=24;continue;}v=((((((s+t>>0)>>>0))>>>1>>>0)>>0));w=a.Less(u-v>>0,v);$s=28;case 28:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}if(!w){$s=25;continue;}$s=26;continue;case 25:s=v+1>>0;$s=27;continue;case 26:t=v;case 27:$s=23;continue;case 24:x=p-s>>0;if(s<c&&c<x){$s=29;continue;}$s=30;continue;case 29:$r=AM(a,s,c,x);$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 30:if(b<s&&s<o){$s=32;continue;}$s=33;continue;case 32:$r=AL(a,b,s,o);$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 33:if(o<x&&x<d){$s=35;continue;}$s=36;continue;case 35:$r=AL(a,o,x,d);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 36:$s=-1;return;}return;}if($f===undefined){$f={$blk:AL};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};AM=function(a,b,c,d){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=c-b>>0;f=d-c>>0;case 1:if(!(!((e===f)))){$s=2;continue;}if(e>f){$s=3;continue;}$s=4;continue;case 3:$r=Q(a,c-e>>0,c,f);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=e-(f)>>0;$s=5;continue;case 4:$r=Q(a,c-e>>0,(c+f>>0)-e>>0,e);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=f-(e)>>0;case 5:$s=1;continue;case 2:$r=Q(a,c-e>>0,c,e);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AM};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AP=function(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=AN(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=$clone(c,A.Value);e=AO(a);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=$clone(d,A.Value).Len();$r=H(new V.ptr(b,f),0,g,U(g));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AP};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Slice=AP;AQ=function(a,b){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=AN(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=$clone(c,A.Value);e=AO(a);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$r=I(new V.ptr(b,f),$clone(d,A.Value).Len());$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AQ};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SliceStable=AQ;AS=function(a,b){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=0;d=a;e=c;f=d;case 1:if(!(e<f)){$s=2;continue;}g=((((((e+f>>0)>>>0))>>>1>>>0)>>0));h=b(g);$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(!h){$s=3;continue;}$s=4;continue;case 3:e=g+1>>0;$s=5;continue;case 4:f=g;case 5:$s=1;continue;case 2:$s=-1;return e;}return;}if($f===undefined){$f={$blk:AS};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Search=AS;AT=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=AS(a[0].$length,(function(a,b){return function(c){var c;return((c<0||c>=a[0].$length)?($throwRuntimeError("index out of range"),undefined):a[0].$array[a[0].$offset+c])>=b[0];};})(a,b));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:AT};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SearchInts=AT;AV=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=AS(a[0].$length,(function(a,b){return function(c){var c;return((c<0||c>=a[0].$length)?($throwRuntimeError("index out of range"),undefined):a[0].$array[a[0].$offset+c])>=b[0];};})(a,b));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:AV};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SearchStrings=AV;Z.prototype.Search=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=AT($convertSliceType(b,AW),a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:Z.prototype.Search};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(Z).prototype.Search=function(a){return this.$get().Search(a);};AC.prototype.Search=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=AV($convertSliceType(b,AY),a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:AC.prototype.Search};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AC).prototype.Search=function(a){return this.$get().Search(a);};Z.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"Sort",name:"Sort",pkg:"",typ:$funcType([],[],false)},{prop:"Search",name:"Search",pkg:"",typ:$funcType([$Int],[$Int],false)}];AC.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"Sort",name:"Sort",pkg:"",typ:$funcType([],[],false)},{prop:"Search",name:"Search",pkg:"",typ:$funcType([$String],[$Int],false)}];V.init("",[{prop:"Less",name:"Less",embedded:false,exported:true,typ:AZ,tag:""},{prop:"Swap",name:"Swap",embedded:false,exported:true,typ:BA,tag:""}]);Z.init($Int);AC.init($String);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AN=A.ValueOf;AO=A.Swapper;}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["internal/fmtsort"]=(function(){var $pkg={},$init,A,B,C,I,J,D,E,F,G,H;A=$packages["reflect"];B=$packages["sort"];C=$pkg.SortedMap=$newType(0,$kindStruct,"fmtsort.SortedMap",true,"internal/fmtsort",true,function(Key_,Value_){this.$val=this;if(arguments.length===0){this.Key=J.nil;this.Value=J.nil;return;}this.Key=Key_;this.Value=Value_;});I=$ptrType(C);J=$sliceType(A.Value);C.ptr.prototype.Len=function(){var a;a=this;return a.Key.$length;};C.prototype.Len=function(){return this.$val.Len();};C.ptr.prototype.Less=function(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;f=E($clone((d=c.Key,((a<0||a>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+a])),A.Value),$clone((e=c.Key,((b<0||b>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+b])),A.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f<0;$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:C.ptr.prototype.Less};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};C.prototype.Less=function(a,b){return this.$val.Less(a,b);};C.ptr.prototype.Swap=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;c=this;d=(e=c.Key,((b<0||b>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+b]));f=(g=c.Key,((a<0||a>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+a]));(h=c.Key,((a<0||a>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+a]=d));(i=c.Key,((b<0||b>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+b]=f));j=(k=c.Value,((b<0||b>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+b]));l=(m=c.Value,((a<0||a>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+a]));(n=c.Value,((a<0||a>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+a]=j));(o=c.Value,((b<0||b>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+b]=l));};C.prototype.Swap=function(a,b){return this.$val.Swap(a,b);};D=function(a){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$clone(a,A.Value).Type().Kind();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}if(!((b===21))){$s=1;continue;}$s=2;continue;case 1:$s=-1;return I.nil;case 2:c=$clone(a,A.Value).Len();d=$makeSlice(J,0,c);e=$makeSlice(J,0,c);f=$clone(a,A.Value).MapRange();case 4:g=f.Next();$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}if(!(g)){$s=5;continue;}h=f.Key();$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}d=$append(d,h);i=f.Value();$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}e=$append(e,i);$s=4;continue;case 5:j=new C.ptr(d,e);$r=B.Stable(j);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return j;}return;}if($f===undefined){$f={$blk:D};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Sort=D;E=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone(a,A.Value).Type();d=$clone(b,A.Value).Type();e=c;f=d;if(!($interfaceIsEqual(e,f))){$s=-1;return-1;}g=$clone(a,A.Value).Kind();if((g===(2))||(g===(3))||(g===(4))||(g===(5))||(g===(6))){$s=2;continue;}if((g===(7))||(g===(8))||(g===(9))||(g===(10))||(g===(11))||(g===(12))){$s=3;continue;}if(g===(24)){$s=4;continue;}if((g===(13))||(g===(14))){$s=5;continue;}if((g===(15))||(g===(16))){$s=6;continue;}if(g===(1)){$s=7;continue;}if((g===(22))||(g===(26))){$s=8;continue;}if(g===(18)){$s=9;continue;}if(g===(25)){$s=10;continue;}if(g===(17)){$s=11;continue;}if(g===(20)){$s=12;continue;}$s=13;continue;case 2:h=$clone(a,A.Value).Int();i=$clone(b,A.Value).Int();j=h;k=i;if((j.$high<k.$high||(j.$high===k.$high&&j.$low<k.$low))){$s=-1;return-1;}else if((j.$high>k.$high||(j.$high===k.$high&&j.$low>k.$low))){$s=-1;return 1;}else{$s=-1;return 0;}$s=14;continue;case 3:l=$clone(a,A.Value).Uint();m=$clone(b,A.Value).Uint();n=l;o=m;if((n.$high<o.$high||(n.$high===o.$high&&n.$low<o.$low))){$s=-1;return-1;}else if((n.$high>o.$high||(n.$high===o.$high&&n.$low>o.$low))){$s=-1;return 1;}else{$s=-1;return 0;}$s=14;continue;case 4:q=$clone(a,A.Value).String();$s=15;case 15:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;s=$clone(b,A.Value).String();$s=16;case 16:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=p;u=r;if(t<u){$s=-1;return-1;}else if(t>u){$s=-1;return 1;}else{$s=-1;return 0;}$s=14;continue;case 5:$s=-1;return G($clone(a,A.Value).Float(),$clone(b,A.Value).Float());case 6:v=$clone(a,A.Value).Complex();w=$clone(b,A.Value).Complex();x=v;y=w;z=G(x.$real,y.$real);if(!((z===0))){$s=-1;return z;}$s=-1;return G(x.$imag,y.$imag);case 7:aa=$clone(a,A.Value).Bool();ab=$clone(b,A.Value).Bool();ac=aa;ad=ab;if(ac===ad){$s=-1;return 0;}else if(ac){$s=-1;return 1;}else{$s=-1;return-1;}$s=14;continue;case 8:ae=$clone(a,A.Value).Pointer();af=$clone(b,A.Value).Pointer();ag=ae;ah=af;if(ag<ah){$s=-1;return-1;}else if(ag>ah){$s=-1;return 1;}else{$s=-1;return 0;}$s=14;continue;case 9:ai=F($clone(a,A.Value),$clone(b,A.Value));aj=ai[0];ak=ai[1];if(ak){$s=-1;return aj;}al=$clone(a,A.Value).Pointer();am=$clone(b,A.Value).Pointer();an=al;ao=am;if(an<ao){$s=-1;return-1;}else if(an>ao){$s=-1;return 1;}else{$s=-1;return 0;}$s=14;continue;case 10:ap=0;case 17:if(!(ap<$clone(a,A.Value).NumField())){$s=18;continue;}aq=$clone(a,A.Value).Field(ap);$s=19;case 19:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=$clone(aq,A.Value);as=$clone(b,A.Value).Field(ap);$s=20;case 20:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=$clone(as,A.Value);au=E(ar,at);$s=21;case 21:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au;if(!((av===0))){$s=-1;return av;}ap=ap+(1)>>0;$s=17;continue;case 18:$s=-1;return 0;case 11:aw=0;case 22:if(!(aw<$clone(a,A.Value).Len())){$s=23;continue;}ax=$clone(a,A.Value).Index(aw);$s=24;case 24:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ay=$clone(ax,A.Value);az=$clone(b,A.Value).Index(aw);$s=25;case 25:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=$clone(az,A.Value);bb=E(ay,ba);$s=26;case 26:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=bb;if(!((bc===0))){$s=-1;return bc;}aw=aw+(1)>>0;$s=22;continue;case 23:$s=-1;return 0;case 12:bd=F($clone(a,A.Value),$clone(b,A.Value));be=bd[0];bf=bd[1];if(bf){$s=-1;return be;}bg=$clone(a,A.Value).Elem();$s=27;case 27:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bh=$clone(bg,A.Value).Type();$s=28;case 28:if($c){$c=false;bh=bh.$blk();}if(bh&&bh.$blk!==undefined){break s;}bi=A.ValueOf(bh);$s=29;case 29:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}bj=$clone(bi,A.Value);bk=$clone(b,A.Value).Elem();$s=30;case 30:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}bl=$clone(bk,A.Value).Type();$s=31;case 31:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}bm=A.ValueOf(bl);$s=32;case 32:if($c){$c=false;bm=bm.$blk();}if(bm&&bm.$blk!==undefined){break s;}bn=$clone(bm,A.Value);bo=E(bj,bn);$s=33;case 33:if($c){$c=false;bo=bo.$blk();}if(bo&&bo.$blk!==undefined){break s;}bp=bo;if(!((bp===0))){$s=-1;return bp;}bq=$clone(a,A.Value).Elem();$s=34;case 34:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}br=$clone(bq,A.Value);bs=$clone(b,A.Value).Elem();$s=35;case 35:if($c){$c=false;bs=bs.$blk();}if(bs&&bs.$blk!==undefined){break s;}bt=$clone(bs,A.Value);bu=E(br,bt);$s=36;case 36:if($c){$c=false;bu=bu.$blk();}if(bu&&bu.$blk!==undefined){break s;}bv=bu;$s=37;case 37:return bv;case 13:bw=e.String();$s=38;case 38:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}$panic(new $String("bad type in compare: "+bw));case 14:case 1:$s=-1;return 0;}return;}if($f===undefined){$f={$blk:E};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};F=function(a,b){var a,b;if($clone(a,A.Value).IsNil()){if($clone(b,A.Value).IsNil()){return[0,true];}return[-1,true];}if($clone(b,A.Value).IsNil()){return[1,true];}return[0,false];};G=function(a,b){var a,b;if(H(a)){return-1;}else if(H(b)){return 1;}else if(a<b){return-1;}else if(a>b){return 1;}return 0;};H=function(a){var a;return!((a===a));};I.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)}];C.init("",[{prop:"Key",name:"Key",embedded:false,exported:true,typ:J,tag:""},{prop:"Value",name:"Value",embedded:false,exported:true,typ:J,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["internal/oserror"]=(function(){var $pkg={},$init,A;A=$packages["errors"];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrInvalid=A.New("invalid argument");$pkg.ErrPermission=A.New("permission denied");$pkg.ErrExist=A.New("file already exists");$pkg.ErrNotExist=A.New("file does not exist");$pkg.ErrClosed=A.New("file already closed");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["syscall"]=(function(){var $pkg={},$init,H,G,I,A,B,C,D,E,F,N,W,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,BL,HA,HB,HJ,HK,HL,HM,JU,JV,NH,QP,QR,QX,QY,QZ,RA,RB,RC,RD,RI,RQ,RR,RS,RT,RU,RW,SB,SP,SV,TB,TF,TG,TH,TI,TJ,TK,TL,TM,TP,TQ,GS,HC,HD,HE,IF,QN,MD,NV,NW,NX,OF,OG,QC,CH,CI,CN,CO,CQ,CT,CU,DN,EC,EF,EJ,ES,ET,EV,FG,FH,FJ,FP,FV,FW,FZ,GB,GC,GH,GI,GJ,GK,GL,GY,HF,HH,HI,HQ,HR,HS,HT,HU,HV,HW,HX,HZ,II,JW,JX,JY,KH,KI,KK,LC,NJ,NK,NS,NY,NZ,OA,OB,OE,OH,OI,OJ,OM,OR,OS;H=$packages["errors"];G=$packages["github.com/gopherjs/gopherjs/js"];I=$packages["internal/bytealg"];A=$packages["internal/itoa"];B=$packages["internal/oserror"];C=$packages["internal/race"];D=$packages["internal/unsafeheader"];E=$packages["runtime"];F=$packages["sync"];N=$pkg.Timespec=$newType(0,$kindStruct,"syscall.Timespec",true,"syscall",true,function(Sec_,Nsec_){this.$val=this;if(arguments.length===0){this.Sec=new $Int64(0,0);this.Nsec=new $Int64(0,0);return;}this.Sec=Sec_;this.Nsec=Nsec_;});W=$pkg.Stat_t=$newType(0,$kindStruct,"syscall.Stat_t",true,"syscall",true,function(Dev_,Ino_,Nlink_,Mode_,Uid_,Gid_,X__pad0_,Rdev_,Size_,Blksize_,Blocks_,Atim_,Mtim_,Ctim_,X__unused_){this.$val=this;if(arguments.length===0){this.Dev=new $Uint64(0,0);this.Ino=new $Uint64(0,0);this.Nlink=new $Uint64(0,0);this.Mode=0;this.Uid=0;this.Gid=0;this.X__pad0=0;this.Rdev=new $Uint64(0,0);this.Size=new $Int64(0,0);this.Blksize=new $Int64(0,0);this.Blocks=new $Int64(0,0);this.Atim=new N.ptr(new $Int64(0,0),new $Int64(0,0));this.Mtim=new N.ptr(new $Int64(0,0),new $Int64(0,0));this.Ctim=new N.ptr(new $Int64(0,0),new $Int64(0,0));this.X__unused=RI.zero();return;}this.Dev=Dev_;this.Ino=Ino_;this.Nlink=Nlink_;this.Mode=Mode_;this.Uid=Uid_;this.Gid=Gid_;this.X__pad0=X__pad0_;this.Rdev=Rdev_;this.Size=Size_;this.Blksize=Blksize_;this.Blocks=Blocks_;this.Atim=Atim_;this.Mtim=Mtim_;this.Ctim=Ctim_;this.X__unused=X__unused_;});AB=$pkg.RawSockaddrInet4=$newType(0,$kindStruct,"syscall.RawSockaddrInet4",true,"syscall",true,function(Family_,Port_,Addr_,Zero_){this.$val=this;if(arguments.length===0){this.Family=0;this.Port=0;this.Addr=RT.zero();this.Zero=RR.zero();return;}this.Family=Family_;this.Port=Port_;this.Addr=Addr_;this.Zero=Zero_;});AC=$pkg.RawSockaddrInet6=$newType(0,$kindStruct,"syscall.RawSockaddrInet6",true,"syscall",true,function(Family_,Port_,Flowinfo_,Addr_,Scope_id_){this.$val=this;if(arguments.length===0){this.Family=0;this.Port=0;this.Flowinfo=0;this.Addr=RU.zero();this.Scope_id=0;return;}this.Family=Family_;this.Port=Port_;this.Flowinfo=Flowinfo_;this.Addr=Addr_;this.Scope_id=Scope_id_;});AD=$pkg.RawSockaddrUnix=$newType(0,$kindStruct,"syscall.RawSockaddrUnix",true,"syscall",true,function(Family_,Path_){this.$val=this;if(arguments.length===0){this.Family=0;this.Path=RS.zero();return;}this.Family=Family_;this.Path=Path_;});AE=$pkg.RawSockaddrLinklayer=$newType(0,$kindStruct,"syscall.RawSockaddrLinklayer",true,"syscall",true,function(Family_,Protocol_,Ifindex_,Hatype_,Pkttype_,Halen_,Addr_){this.$val=this;if(arguments.length===0){this.Family=0;this.Protocol=0;this.Ifindex=0;this.Hatype=0;this.Pkttype=0;this.Halen=0;this.Addr=RR.zero();return;}this.Family=Family_;this.Protocol=Protocol_;this.Ifindex=Ifindex_;this.Hatype=Hatype_;this.Pkttype=Pkttype_;this.Halen=Halen_;this.Addr=Addr_;});AF=$pkg.RawSockaddrNetlink=$newType(0,$kindStruct,"syscall.RawSockaddrNetlink",true,"syscall",true,function(Family_,Pad_,Pid_,Groups_){this.$val=this;if(arguments.length===0){this.Family=0;this.Pad=0;this.Pid=0;this.Groups=0;return;}this.Family=Family_;this.Pad=Pad_;this.Pid=Pid_;this.Groups=Groups_;});AG=$pkg.RawSockaddr=$newType(0,$kindStruct,"syscall.RawSockaddr",true,"syscall",true,function(Family_,Data_){this.$val=this;if(arguments.length===0){this.Family=0;this.Data=RA.zero();return;}this.Family=Family_;this.Data=Data_;});AH=$pkg.RawSockaddrAny=$newType(0,$kindStruct,"syscall.RawSockaddrAny",true,"syscall",true,function(Addr_,Pad_){this.$val=this;if(arguments.length===0){this.Addr=new AG.ptr(0,RA.zero());this.Pad=RB.zero();return;}this.Addr=Addr_;this.Pad=Pad_;});AI=$pkg._Socklen=$newType(4,$kindUint32,"syscall._Socklen",true,"syscall",false,null);AJ=$pkg.Linger=$newType(0,$kindStruct,"syscall.Linger",true,"syscall",true,function(Onoff_,Linger_){this.$val=this;if(arguments.length===0){this.Onoff=0;this.Linger=0;return;}this.Onoff=Onoff_;this.Linger=Linger_;});AK=$pkg.Iovec=$newType(0,$kindStruct,"syscall.Iovec",true,"syscall",true,function(Base_,Len_){this.$val=this;if(arguments.length===0){this.Base=QX.nil;this.Len=new $Uint64(0,0);return;}this.Base=Base_;this.Len=Len_;});AL=$pkg.IPMreq=$newType(0,$kindStruct,"syscall.IPMreq",true,"syscall",true,function(Multiaddr_,Interface_){this.$val=this;if(arguments.length===0){this.Multiaddr=RT.zero();this.Interface=RT.zero();return;}this.Multiaddr=Multiaddr_;this.Interface=Interface_;});AM=$pkg.IPMreqn=$newType(0,$kindStruct,"syscall.IPMreqn",true,"syscall",true,function(Multiaddr_,Address_,Ifindex_){this.$val=this;if(arguments.length===0){this.Multiaddr=RT.zero();this.Address=RT.zero();this.Ifindex=0;return;}this.Multiaddr=Multiaddr_;this.Address=Address_;this.Ifindex=Ifindex_;});AN=$pkg.IPv6Mreq=$newType(0,$kindStruct,"syscall.IPv6Mreq",true,"syscall",true,function(Multiaddr_,Interface_){this.$val=this;if(arguments.length===0){this.Multiaddr=RU.zero();this.Interface=0;return;}this.Multiaddr=Multiaddr_;this.Interface=Interface_;});AO=$pkg.Msghdr=$newType(0,$kindStruct,"syscall.Msghdr",true,"syscall",true,function(Name_,Namelen_,Pad_cgo_0_,Iov_,Iovlen_,Control_,Controllen_,Flags_,Pad_cgo_1_){this.$val=this;if(arguments.length===0){this.Name=QX.nil;this.Namelen=0;this.Pad_cgo_0=RT.zero();this.Iov=RW.nil;this.Iovlen=new $Uint64(0,0);this.Control=QX.nil;this.Controllen=new $Uint64(0,0);this.Flags=0;this.Pad_cgo_1=RT.zero();return;}this.Name=Name_;this.Namelen=Namelen_;this.Pad_cgo_0=Pad_cgo_0_;this.Iov=Iov_;this.Iovlen=Iovlen_;this.Control=Control_;this.Controllen=Controllen_;this.Flags=Flags_;this.Pad_cgo_1=Pad_cgo_1_;});BL=$pkg.Utsname=$newType(0,$kindStruct,"syscall.Utsname",true,"syscall",true,function(Sysname_,Nodename_,Release_,Version_,Machine_,Domainname_){this.$val=this;if(arguments.length===0){this.Sysname=TB.zero();this.Nodename=TB.zero();this.Release=TB.zero();this.Version=TB.zero();this.Machine=TB.zero();this.Domainname=TB.zero();return;}this.Sysname=Sysname_;this.Nodename=Nodename_;this.Release=Release_;this.Version=Version_;this.Machine=Machine_;this.Domainname=Domainname_;});HA=$pkg.mmapper=$newType(0,$kindStruct,"syscall.mmapper",true,"syscall",false,function(Mutex_,active_,mmap_,munmap_){this.$val=this;if(arguments.length===0){this.Mutex=new F.Mutex.ptr(0,0);this.active=false;this.mmap=$throwNilPointerError;this.munmap=$throwNilPointerError;return;}this.Mutex=Mutex_;this.active=active_;this.mmap=mmap_;this.munmap=munmap_;});HB=$pkg.Errno=$newType(4,$kindUintptr,"syscall.Errno",true,"syscall",true,null);HJ=$pkg.Sockaddr=$newType(8,$kindInterface,"syscall.Sockaddr",true,"syscall",true,null);HK=$pkg.SockaddrInet4=$newType(0,$kindStruct,"syscall.SockaddrInet4",true,"syscall",true,function(Port_,Addr_,raw_){this.$val=this;if(arguments.length===0){this.Port=0;this.Addr=RT.zero();this.raw=new AB.ptr(0,0,RT.zero(),RR.zero());return;}this.Port=Port_;this.Addr=Addr_;this.raw=raw_;});HL=$pkg.SockaddrInet6=$newType(0,$kindStruct,"syscall.SockaddrInet6",true,"syscall",true,function(Port_,ZoneId_,Addr_,raw_){this.$val=this;if(arguments.length===0){this.Port=0;this.ZoneId=0;this.Addr=RU.zero();this.raw=new AC.ptr(0,0,0,RU.zero(),0);return;}this.Port=Port_;this.ZoneId=ZoneId_;this.Addr=Addr_;this.raw=raw_;});HM=$pkg.SockaddrUnix=$newType(0,$kindStruct,"syscall.SockaddrUnix",true,"syscall",true,function(Name_,raw_){this.$val=this;if(arguments.length===0){this.Name="";this.raw=new AD.ptr(0,RS.zero());return;}this.Name=Name_;this.raw=raw_;});JU=$pkg.SockaddrLinklayer=$newType(0,$kindStruct,"syscall.SockaddrLinklayer",true,"syscall",true,function(Protocol_,Ifindex_,Hatype_,Pkttype_,Halen_,Addr_,raw_){this.$val=this;if(arguments.length===0){this.Protocol=0;this.Ifindex=0;this.Hatype=0;this.Pkttype=0;this.Halen=0;this.Addr=RR.zero();this.raw=new AE.ptr(0,0,0,0,0,0,RR.zero());return;}this.Protocol=Protocol_;this.Ifindex=Ifindex_;this.Hatype=Hatype_;this.Pkttype=Pkttype_;this.Halen=Halen_;this.Addr=Addr_;this.raw=raw_;});JV=$pkg.SockaddrNetlink=$newType(0,$kindStruct,"syscall.SockaddrNetlink",true,"syscall",true,function(Family_,Pad_,Pid_,Groups_,raw_){this.$val=this;if(arguments.length===0){this.Family=0;this.Pad=0;this.Pid=0;this.Groups=0;this.raw=new AF.ptr(0,0,0,0);return;}this.Family=Family_;this.Pad=Pad_;this.Pid=Pid_;this.Groups=Groups_;this.raw=raw_;});NH=$pkg.RawConn=$newType(8,$kindInterface,"syscall.RawConn",true,"syscall",true,null);QP=$sliceType($Uint8);QR=$sliceType($String);QX=$ptrType($Uint8);QY=$ptrType(QP);QZ=$ptrType($Int64);RA=$arrayType($Int8,14);RB=$arrayType($Int8,96);RC=$ptrType(AI);RD=$ptrType($Int32);RI=$arrayType($Int64,3);RQ=$ptrType($Uint16);RR=$arrayType($Uint8,8);RS=$arrayType($Int8,108);RT=$arrayType($Uint8,4);RU=$arrayType($Uint8,16);RW=$ptrType(AK);SB=$ptrType(JV);SP=$ptrType(N);SV=$ptrType(AO);TB=$arrayType($Int8,65);TF=$ptrType(HA);TG=$mapType(QX,QP);TH=$funcType([$Uintptr,$Uintptr,$Int,$Int,$Int,$Int64],[$Uintptr,$error],false);TI=$funcType([$Uintptr,$Uintptr],[$error],false);TJ=$ptrType(HK);TK=$ptrType(HL);TL=$ptrType(HM);TM=$ptrType(JU);TP=$funcType([$Uintptr],[],false);TQ=$funcType([$Uintptr],[$Bool],false);CH=function(k){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=$ifaceNil;n=NZ(3,((k>>>0)),0,0);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[2];if(!((o===0))){l=HF(o);}$s=-1;return l;}return;}if($f===undefined){$f={$blk:CH};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Close=CH;CI=function(k){var k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=0;m=$ifaceNil;o=NZ(32,((k>>>0)),0,0);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[2];l=((p>>0));if(!((q===0))){m=HF(q);}$s=-1;return[l,m];}return;}if($f===undefined){$f={$blk:CI};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Dup=CI;CN=function(k){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=$ifaceNil;n=NZ(81,((k>>>0)),0,0);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[2];if(!((o===0))){l=HF(o);}$s=-1;return l;}return;}if($f===undefined){$f={$blk:CN};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Fchdir=CN;CO=function(k,l){var k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=$ifaceNil;o=NZ(91,((k>>>0)),((l>>>0)),0);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[2];if(!((p===0))){m=HF(p);}$s=-1;return m;}return;}if($f===undefined){$f={$blk:CO};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Fchmod=CO;CQ=function(k,l,m){var k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=0;o=$ifaceNil;q=NZ(72,((k>>>0)),((l>>>0)),((m>>>0)));$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p[0];s=p[2];n=((r>>0));if(!((s===0))){o=HF(s);}$s=-1;return[n,o];}return;}if($f===undefined){$f={$blk:CQ};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};CT=function(k){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=$ifaceNil;n=NZ(74,((k>>>0)),0,0);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[2];if(!((o===0))){l=HF(o);}$s=-1;return l;}return;}if($f===undefined){$f={$blk:CT};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Fsync=CT;CU=function(k,l){var k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=0;n=$ifaceNil;o=0;if(l.$length>0){o=($sliceToNativeArray(l));}else{o=(new Uint8Array(0));}q=NZ(217,((k>>>0)),(o),((l.$length>>>0)));$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p[0];s=p[2];m=((r>>0));if(!((s===0))){n=HF(s);}$s=-1;return[m,n];}return;}if($f===undefined){$f={$blk:CU};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Getdents=CU;DN=function(k,l){var k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=0;n=$ifaceNil;o=0;if(l.$length>0){o=($sliceToNativeArray(l));}else{o=(new Uint8Array(0));}q=NZ(0,((k>>>0)),(o),((l.$length>>>0)));$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p[0];s=p[2];m=((r>>0));if(!((s===0))){n=HF(s);}$s=-1;return[m,n];}return;}if($f===undefined){$f={$blk:DN};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};EC=function(k){var k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=$ifaceNil;n=new Uint8Array(390);q=OB(63,((n)),0,0);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}o=k,p=new DataView(n.buffer,n.byteOffset),o.Sysname=new($nativeArray($kindInt8))(n.buffer,$min(n.byteOffset+0,n.buffer.byteLength)),o.Nodename=new($nativeArray($kindInt8))(n.buffer,$min(n.byteOffset+65,n.buffer.byteLength)),o.Release=new($nativeArray($kindInt8))(n.buffer,$min(n.byteOffset+130,n.buffer.byteLength)),o.Version=new($nativeArray($kindInt8))(n.buffer,$min(n.byteOffset+195,n.buffer.byteLength)),o.Machine=new($nativeArray($kindInt8))(n.buffer,$min(n.byteOffset+260,n.buffer.byteLength)),o.Domainname=new($nativeArray($kindInt8))(n.buffer,$min(n.byteOffset+325,n.buffer.byteLength));m=q;r=m[2];if(!((r===0))){l=HF(r);}$s=-1;return l;}return;}if($f===undefined){$f={$blk:EC};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Uname=EC;EF=function(k,l){var k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=0;n=$ifaceNil;o=0;if(l.$length>0){o=($sliceToNativeArray(l));}else{o=(new Uint8Array(0));}q=NZ(1,((k>>>0)),(o),((l.$length>>>0)));$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p[0];s=p[2];m=((r>>0));if(!((s===0))){n=HF(s);}$s=-1;return[m,n];}return;}if($f===undefined){$f={$blk:EF};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};EJ=function(k,l){var k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=$ifaceNil;o=NZ(11,(k),(l),0);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[2];if(!((p===0))){m=HF(p);}$s=-1;return m;}return;}if($f===undefined){$f={$blk:EJ};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};ES=function(k,l,m){var k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=$ifaceNil;p=NZ(93,((k>>>0)),((l>>>0)),((m>>>0)));$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;q=o[2];if(!((q===0))){n=HF(q);}$s=-1;return n;}return;}if($f===undefined){$f={$blk:ES};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Fchown=ES;ET=function(k,l){var k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=$ifaceNil;o=new Uint8Array(144);r=NZ(5,((k>>>0)),((o)),0);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}p=l,q=new DataView(o.buffer,o.byteOffset),p.Dev=new $Uint64(q.getUint32(4,true),q.getUint32(0,true)),p.Ino=new $Uint64(q.getUint32(12,true),q.getUint32(8,true)),p.Nlink=new $Uint64(q.getUint32(20,true),q.getUint32(16,true)),p.Mode=q.getUint32(24,true),p.Uid=q.getUint32(28,true),p.Gid=q.getUint32(32,true),p.X__pad0=q.getInt32(36,true),p.Rdev=new $Uint64(q.getUint32(44,true),q.getUint32(40,true)),p.Size=new $Int64(q.getUint32(52,true),q.getUint32(48,true)),p.Blksize=new $Int64(q.getUint32(60,true),q.getUint32(56,true)),p.Blocks=new $Int64(q.getUint32(68,true),q.getUint32(64,true)),p.Atim.Sec=new $Int64(q.getUint32(76,true),q.getUint32(72,true)),p.Atim.Nsec=new $Int64(q.getUint32(84,true),q.getUint32(80,true)),p.Mtim.Sec=new $Int64(q.getUint32(92,true),q.getUint32(88,true)),p.Mtim.Nsec=new $Int64(q.getUint32(100,true),q.getUint32(96,true)),p.Ctim.Sec=new $Int64(q.getUint32(108,true),q.getUint32(104,true)),p.Ctim.Nsec=new $Int64(q.getUint32(116,true),q.getUint32(112,true)),p.X__unused=new($nativeArray($kindInt64))(o.buffer,$min(o.byteOffset+120,o.buffer.byteLength));n=r;s=n[2];if(!((s===0))){m=HF(s);}$s=-1;return m;}return;}if($f===undefined){$f={$blk:ET};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Fstat=ET;EV=function(k,l){var k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=$ifaceNil;o=NZ(77,((k>>>0)),((l.$low>>>0)),0);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[2];if(!((p===0))){m=HF(p);}$s=-1;return m;}return;}if($f===undefined){$f={$blk:EV};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Ftruncate=EV;FG=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=0;o=$ifaceNil;p=0;if(l.$length>0){p=($sliceToNativeArray(l));}else{p=(new Uint8Array(0));}r=OA(17,((k>>>0)),(p),((l.$length>>>0)),((m.$low>>>0)),0,0);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[2];n=((s>>0));if(!((t===0))){o=HF(t);}$s=-1;return[n,o];}return;}if($f===undefined){$f={$blk:FG};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Pread=FG;FH=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=0;o=$ifaceNil;p=0;if(l.$length>0){p=($sliceToNativeArray(l));}else{p=(new Uint8Array(0));}r=OA(18,((k>>>0)),(p),((l.$length>>>0)),((m.$low>>>0)),0,0);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[2];n=((s>>0));if(!((t===0))){o=HF(t);}$s=-1;return[n,o];}return;}if($f===undefined){$f={$blk:FH};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Pwrite=FH;FJ=function(k,l,m){var k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=new $Int64(0,0);o=$ifaceNil;q=NZ(8,((k>>>0)),((l.$low>>>0)),((m>>>0)));$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p[0];s=p[2];n=(new $Int64(0,r.constructor===Number?r:1));if(!((s===0))){o=HF(s);}$s=-1;return[n,o];}return;}if($f===undefined){$f={$blk:FJ};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Seek=FJ;FP=function(k,l){var k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=$ifaceNil;o=NZ(48,((k>>>0)),((l>>>0)),0);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[2];if(!((p===0))){m=HF(p);}$s=-1;return m;}return;}if($f===undefined){$f={$blk:FP};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Shutdown=FP;FV=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=0;o=$ifaceNil;q=new Uint8Array(112);t=NZ(43,((k>>>0)),((q)),((m)));$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}r=l,s=new DataView(q.buffer,q.byteOffset),r.Addr.Family=s.getUint16(0,true),r.Addr.Data=new($nativeArray($kindInt8))(q.buffer,$min(q.byteOffset+2,q.buffer.byteLength)),r.Pad=new($nativeArray($kindInt8))(q.buffer,$min(q.byteOffset+16,q.buffer.byteLength));p=t;u=p[0];v=p[2];n=((u>>0));if(!((v===0))){o=HF(v);}$s=-1;return[n,o];}return;}if($f===undefined){$f={$blk:FV};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};FW=function(k,l,m,n){var k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=0;p=$ifaceNil;r=new Uint8Array(112);u=OA(288,((k>>>0)),((r)),((m)),((n>>>0)),0,0);$s=1;case 1:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}s=l,t=new DataView(r.buffer,r.byteOffset),s.Addr.Family=t.getUint16(0,true),s.Addr.Data=new($nativeArray($kindInt8))(r.buffer,$min(r.byteOffset+2,r.buffer.byteLength)),s.Pad=new($nativeArray($kindInt8))(r.buffer,$min(r.byteOffset+16,r.buffer.byteLength));q=u;v=q[0];w=q[2];o=((v>>0));if(!((w===0))){p=HF(w);}$s=-1;return[o,p];}return;}if($f===undefined){$f={$blk:FW};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};FZ=function(k,l,m,n){var k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=$ifaceNil;p=QX.nil;q=OE(l);p=q[0];o=q[1];if(!($interfaceIsEqual(o,$ifaceNil))){$s=-1;return o;}s=new Uint8Array(144);v=OA(262,((k>>>0)),((p)),((s)),((n>>>0)),0,0);$s=1;case 1:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}t=m,u=new DataView(s.buffer,s.byteOffset),t.Dev=new $Uint64(u.getUint32(4,true),u.getUint32(0,true)),t.Ino=new $Uint64(u.getUint32(12,true),u.getUint32(8,true)),t.Nlink=new $Uint64(u.getUint32(20,true),u.getUint32(16,true)),t.Mode=u.getUint32(24,true),t.Uid=u.getUint32(28,true),t.Gid=u.getUint32(32,true),t.X__pad0=u.getInt32(36,true),t.Rdev=new $Uint64(u.getUint32(44,true),u.getUint32(40,true)),t.Size=new $Int64(u.getUint32(52,true),u.getUint32(48,true)),t.Blksize=new $Int64(u.getUint32(60,true),u.getUint32(56,true)),t.Blocks=new $Int64(u.getUint32(68,true),u.getUint32(64,true)),t.Atim.Sec=new $Int64(u.getUint32(76,true),u.getUint32(72,true)),t.Atim.Nsec=new $Int64(u.getUint32(84,true),u.getUint32(80,true)),t.Mtim.Sec=new $Int64(u.getUint32(92,true),u.getUint32(88,true)),t.Mtim.Nsec=new $Int64(u.getUint32(100,true),u.getUint32(96,true)),t.Ctim.Sec=new $Int64(u.getUint32(108,true),u.getUint32(104,true)),t.Ctim.Nsec=new $Int64(u.getUint32(116,true),u.getUint32(112,true)),t.X__unused=new($nativeArray($kindInt64))(s.buffer,$min(s.byteOffset+120,s.buffer.byteLength));r=v;w=r[2];if(!((w===0))){o=HF(w);}$s=-1;return o;}return;}if($f===undefined){$f={$blk:FZ};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};GB=function(k,l,m,n,o){var k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=$ifaceNil;r=OA(55,((k>>>0)),((l>>>0)),((m>>>0)),(n),((o)),0);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[2];if(!((s===0))){p=HF(s);}$s=-1;return p;}return;}if($f===undefined){$f={$blk:GB};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};GC=function(k,l,m,n,o){var k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=$ifaceNil;r=OA(54,((k>>>0)),((l>>>0)),((m>>>0)),(n),(o),0);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[2];if(!((s===0))){p=HF(s);}$s=-1;return p;}return;}if($f===undefined){$f={$blk:GC};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};GH=function(k,l,m,n,o){var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=0;q=$ifaceNil;r=0;if(l.$length>0){r=($sliceToNativeArray(l));}else{r=(new Uint8Array(0));}t=new Uint8Array(112);w=OA(45,((k>>>0)),(r),((l.$length>>>0)),((m>>>0)),((t)),((o)));$s=1;case 1:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}u=n,v=new DataView(t.buffer,t.byteOffset),u.Addr.Family=v.getUint16(0,true),u.Addr.Data=new($nativeArray($kindInt8))(t.buffer,$min(t.byteOffset+2,t.buffer.byteLength)),u.Pad=new($nativeArray($kindInt8))(t.buffer,$min(t.byteOffset+16,t.buffer.byteLength));s=w;x=s[0];y=s[2];p=((x>>0));if(!((y===0))){q=HF(y);}$s=-1;return[p,q];}return;}if($f===undefined){$f={$blk:GH};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};GI=function(k,l,m,n,o){var k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=$ifaceNil;q=0;if(l.$length>0){q=($sliceToNativeArray(l));}else{q=(new Uint8Array(0));}s=OA(44,((k>>>0)),(q),((l.$length>>>0)),((m>>>0)),(n),((o>>>0)));$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[2];if(!((t===0))){p=HF(t);}$s=-1;return p;}return;}if($f===undefined){$f={$blk:GI};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};GJ=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=0;o=$ifaceNil;q=new Uint8Array(48);t=NZ(47,((k>>>0)),((q)),((m>>>0)));$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}r=l,s=new DataView(q.buffer,q.byteOffset),r.Namelen=s.getUint32(4,true),r.Pad_cgo_0=new($nativeArray($kindUint8))(q.buffer,$min(q.byteOffset+8,q.buffer.byteLength)),r.Iovlen=new $Uint64(s.getUint32(20,true),s.getUint32(16,true)),r.Controllen=new $Uint64(s.getUint32(36,true),s.getUint32(32,true)),r.Flags=s.getInt32(40,true),r.Pad_cgo_1=new($nativeArray($kindUint8))(q.buffer,$min(q.byteOffset+44,q.buffer.byteLength));p=t;u=p[0];v=p[2];n=((u>>0));if(!((v===0))){o=HF(v);}$s=-1;return[n,o];}return;}if($f===undefined){$f={$blk:GJ};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};GK=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=0;o=$ifaceNil;q=new Uint8Array(48);t=NZ(46,((k>>>0)),((q)),((m>>>0)));$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}r=l,s=new DataView(q.buffer,q.byteOffset),r.Namelen=s.getUint32(4,true),r.Pad_cgo_0=new($nativeArray($kindUint8))(q.buffer,$min(q.byteOffset+8,q.buffer.byteLength)),r.Iovlen=new $Uint64(s.getUint32(20,true),s.getUint32(16,true)),r.Controllen=new $Uint64(s.getUint32(36,true),s.getUint32(32,true)),r.Flags=s.getInt32(40,true),r.Pad_cgo_1=new($nativeArray($kindUint8))(q.buffer,$min(q.byteOffset+44,q.buffer.byteLength));p=t;u=p[0];v=p[2];n=((u>>0));if(!((v===0))){o=HF(v);}$s=-1;return[n,o];}return;}if($f===undefined){$f={$blk:GK};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};GL=function(k,l,m,n,o,p){var k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=0;r=$ifaceNil;t=OA(9,(k),(l),((m>>>0)),((n>>>0)),((o>>>0)),((p.$low>>>0)));$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=s[0];v=s[2];q=(u);if(!((v===0))){r=HF(v);}$s=-1;return[q,r];}return;}if($f===undefined){$f={$blk:GL};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};GY=function(k,l){var k,l;$panic(new $String("not implemented"));};HA.ptr.prototype.Mmap=function(k,l,m,n,o){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);p=[p];q=QP.nil;r=$ifaceNil;s=this;if(m<=0){$s=1;continue;}$s=2;continue;case 1:t=QP.nil;u=new HB(22);q=t;r=u;v=[q,r];$s=3;case 3:return v;case 2:x=s.mmap(0,((m>>>0)),n,o,k,l);$s=4;case 4:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;y=w[0];z=w[1];if(!($interfaceIsEqual(z,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:aa=QP.nil;ab=z;q=aa;r=ab;ac=[q,r];$s=7;case 7:return ac;case 6:p[0]=QP.nil;ag=((ad=((p.$ptr||(p.$ptr=new QY(function(){return this.$target[0];},function($v){this.$target[0]=$v;},p)))),ae=new D.Slice.ptr(0,0,0),af=new DataView(ad.buffer,ad.byteOffset),ae.Len=af.getInt(4,true),ae.Cap=af.getInt(8,true),ae));ag.Data=(y);ag.Cap=m;ag.Len=m;ah=$indexPtr(p[0].$array,p[0].$offset+(p[0].$capacity-1>>0),QX);$r=s.Mutex.Lock();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(s.Mutex,"Unlock"),[]]);ai=ah;(s.active||$throwRuntimeError("assignment to entry in nil map"))[QX.keyFor(ai)]={k:ai,v:p[0]};aj=p[0];ak=$ifaceNil;q=aj;r=ak;al=[q,r];$s=9;case 9:return al;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[q,r];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:HA.ptr.prototype.Mmap};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};HA.prototype.Mmap=function(k,l,m,n,o){return this.$val.Mmap(k,l,m,n,o);};HA.ptr.prototype.Munmap=function(k){var k,l,m,n,o,p,q,r,s,t,u,v,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);l=$ifaceNil;m=this;if((k.$length===0)||!((k.$length===k.$capacity))){$s=1;continue;}$s=2;continue;case 1:l=new HB(22);n=l;$s=3;case 3:return n;case 2:o=$indexPtr(k.$array,k.$offset+(k.$capacity-1>>0),QX);$r=m.Mutex.Lock();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(m.Mutex,"Unlock"),[]]);q=(p=m.active[QX.keyFor(o)],p!==undefined?p.v:QP.nil);if(q===QP.nil||!($indexPtr(q.$array,q.$offset+0,QX)===$indexPtr(k.$array,k.$offset+0,QX))){$s=5;continue;}$s=6;continue;case 5:l=new HB(22);r=l;$s=7;case 7:return r;case 6:s=m.munmap((($sliceToNativeArray(q))),((q.$length>>>0)));$s=8;case 8:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;if(!($interfaceIsEqual(t,$ifaceNil))){$s=9;continue;}$s=10;continue;case 9:l=t;u=l;$s=11;case 11:return u;case 10:delete m.active[QX.keyFor(o)];l=$ifaceNil;v=l;$s=12;case 12:return v;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return l;}if($curGoroutine.asleep){if($f===undefined){$f={$blk:HA.ptr.prototype.Munmap};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};HA.prototype.Munmap=function(k){return this.$val.Munmap(k);};HB.prototype.Error=function(){var k,l;k=this.$val;if(0<=((k>>0))&&((k>>0))<133){l=((k<0||k>=GS.length)?($throwRuntimeError("index out of range"),undefined):GS[k]);if(!(l==="")){return l;}}return"errno "+A.Itoa(((k>>0)));};$ptrType(HB).prototype.Error=function(){return new HB(this.$get()).Error();};HB.prototype.Is=function(k){var k,l,m;l=this.$val;m=k;if($interfaceIsEqual(m,(B.ErrPermission))){return(l===13)||(l===1);}else if($interfaceIsEqual(m,(B.ErrExist))){return(l===17)||(l===39);}else if($interfaceIsEqual(m,(B.ErrNotExist))){return l===2;}return false;};$ptrType(HB).prototype.Is=function(k){return new HB(this.$get()).Is(k);};HB.prototype.Temporary=function(){var k;k=this.$val;return(k===4)||(k===24)||(k===23)||new HB(k).Timeout();};$ptrType(HB).prototype.Temporary=function(){return new HB(this.$get()).Temporary();};HB.prototype.Timeout=function(){var k;k=this.$val;return(k===11)||(k===11)||(k===110);};$ptrType(HB).prototype.Timeout=function(){return new HB(this.$get()).Timeout();};HF=function(k){var k,l;l=k;if(l===(0)){return $ifaceNil;}else if(l===(11)){return HC;}else if(l===(22)){return HD;}else if(l===(2)){return HE;}return new HB(k);};HH=function(k,l){var k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=0;n=$ifaceNil;p=DN(k,l);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;m=o[0];n=o[1];if(false){}if(false){}$s=-1;return[m,n];}return;}if($f===undefined){$f={$blk:HH};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Read=HH;HI=function(k,l){var k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=0;n=$ifaceNil;if(false){}if(false){}$s=2;continue;case 1:m=GY(k,l);if(m<0){o=0;p=HF(((-m>>>0)));m=o;n=p;}$s=3;continue;case 2:r=EF(k,l);$s=4;case 4:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;m=q[0];n=q[1];case 3:if(false){}if(false){}$s=-1;return[m,n];}return;}if($f===undefined){$f={$blk:HI};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Write=HI;HQ=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=[n];o=[o];p=0;q=$ifaceNil;n[0]=0;o[0]=4;r=GB(k,l,m,((n.$ptr||(n.$ptr=new RD(function(){return this.$target[0];},function($v){this.$target[0]=$v;},n)))),(o.$ptr||(o.$ptr=new RC(function(){return this.$target[0];},function($v){this.$target[0]=$v;},o))));$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=((n[0]>>0));t=q;p=s;q=t;$s=-1;return[p,q];}return;}if($f===undefined){$f={$blk:HQ};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};$pkg.GetsockoptInt=HQ;HR=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=[n];o=[o];p=0;q=$ifaceNil;r=$ifaceNil;o[0]=new AH.ptr(new AG.ptr(0,RA.zero()),RB.zero());n[0]=112;t=GH(k,l,m,o[0],(n.$ptr||(n.$ptr=new RC(function(){return this.$target[0];},function($v){this.$target[0]=$v;},n))));$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;p=s[0];r=s[1];if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return[p,q,r];}if(!((o[0].Addr.Family===0))){u=JW(o[0]);q=u[0];r=u[1];}$s=-1;return[p,q,r];}return;}if($f===undefined){$f={$blk:HR};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Recvfrom=HR;HS=function(k,l,m,n){var k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=$ifaceNil;q=n.sockaddr();$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p[0];s=p[1];o=p[2];if(!($interfaceIsEqual(o,$ifaceNil))){o=o;$s=-1;return o;}t=GI(k,l,m,r,s);$s=2;case 2:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}o=t;u=o;$s=3;case 3:return u;}return;}if($f===undefined){$f={$blk:HS};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Sendto=HS;HT=function(k,l,m,n){var k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=[n];o=$ifaceNil;p=GC(k,l,m,((n.$ptr||(n.$ptr=new QX(function(){return this.$target[0];},function($v){this.$target[0]=$v;},n)))),1);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;q=o;$s=2;case 2:return q;}return;}if($f===undefined){$f={$blk:HT};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SetsockoptByte=HT;HU=function(k,l,m,n){var k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=[o];p=$ifaceNil;o[0]=((n>>0));q=GC(k,l,m,((o.$ptr||(o.$ptr=new RD(function(){return this.$target[0];},function($v){this.$target[0]=$v;},o)))),4);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p;$s=2;case 2:return r;}return;}if($f===undefined){$f={$blk:HU};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SetsockoptInt=HU;HV=function(k,l,m,n){var k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=$ifaceNil;p=GC(k,l,m,($sliceToNativeArray(new QP(n))),4);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;q=o;$s=2;case 2:return q;}return;}if($f===undefined){$f={$blk:HV};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SetsockoptInet4Addr=HV;HW=function(k,l,m,n){var k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=$ifaceNil;p=new Uint8Array(8);s=GC(k,l,m,(p),8);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}q=n,r=new DataView(p.buffer,p.byteOffset),q.Multiaddr=new($nativeArray($kindUint8))(p.buffer,$min(p.byteOffset+0,p.buffer.byteLength)),q.Interface=new($nativeArray($kindUint8))(p.buffer,$min(p.byteOffset+4,p.buffer.byteLength));o=s;t=o;$s=2;case 2:return t;}return;}if($f===undefined){$f={$blk:HW};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SetsockoptIPMreq=HW;HX=function(k,l,m,n){var k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=$ifaceNil;p=new Uint8Array(20);s=GC(k,l,m,(p),20);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}q=n,r=new DataView(p.buffer,p.byteOffset),q.Multiaddr=new($nativeArray($kindUint8))(p.buffer,$min(p.byteOffset+0,p.buffer.byteLength)),q.Interface=r.getUint32(16,true);o=s;t=o;$s=2;case 2:return t;}return;}if($f===undefined){$f={$blk:HX};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SetsockoptIPv6Mreq=HX;HZ=function(k,l,m,n){var k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=$ifaceNil;p=new Uint8Array(8);s=GC(k,l,m,(p),8);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}q=n,r=new DataView(p.buffer,p.byteOffset),q.Onoff=r.getInt32(0,true),q.Linger=r.getInt32(4,true);o=s;t=o;$s=2;case 2:return t;}return;}if($f===undefined){$f={$blk:HZ};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SetsockoptLinger=HZ;II=function(k,l){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=$ifaceNil;n=FZ(-100,k,l,256);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m;$s=2;case 2:return o;}return;}if($f===undefined){$f={$blk:II};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Lstat=II;AK.ptr.prototype.SetLen=function(k){var k,l;l=this;l.Len=(new $Uint64(0,k));};AK.prototype.SetLen=function(k){return this.$val.SetLen(k);};AO.ptr.prototype.SetControllen=function(k){var k,l;l=this;l.Controllen=(new $Uint64(0,k));};AO.prototype.SetControllen=function(k){return this.$val.SetControllen(k);};HK.ptr.prototype.sockaddr=function(){var k,l,m,n,o,p,q,r,s;k=this;if(k.Port<0||k.Port>65535){return[0,0,new HB(22)];}k.raw.Family=2;m=(((l=k.raw,(l.$ptr_Port||(l.$ptr_Port=new RQ(function(){return this.$target.Port;},function($v){this.$target.Port=$v;},l))))));m.nilCheck,m[0]=(((k.Port>>8>>0)<<24>>>24));m.nilCheck,m[1]=((k.Port<<24>>>24));n=0;while(true){if(!(n<4)){break;}(p=k.raw.Addr,((n<0||n>=p.length)?($throwRuntimeError("index out of range"),undefined):p[n]=(o=k.Addr,((n<0||n>=o.length)?($throwRuntimeError("index out of range"),undefined):o[n]))));n=n+(1)>>0;}q=new Uint8Array(16);return[(q),16,$ifaceNil];};HK.prototype.sockaddr=function(){return this.$val.sockaddr();};HL.ptr.prototype.sockaddr=function(){var k,l,m,n,o,p,q,r,s;k=this;if(k.Port<0||k.Port>65535){return[0,0,new HB(22)];}k.raw.Family=10;m=(((l=k.raw,(l.$ptr_Port||(l.$ptr_Port=new RQ(function(){return this.$target.Port;},function($v){this.$target.Port=$v;},l))))));m.nilCheck,m[0]=(((k.Port>>8>>0)<<24>>>24));m.nilCheck,m[1]=((k.Port<<24>>>24));k.raw.Scope_id=k.ZoneId;n=0;while(true){if(!(n<16)){break;}(p=k.raw.Addr,((n<0||n>=p.length)?($throwRuntimeError("index out of range"),undefined):p[n]=(o=k.Addr,((n<0||n>=o.length)?($throwRuntimeError("index out of range"),undefined):o[n]))));n=n+(1)>>0;}q=new Uint8Array(28);return[(q),28,$ifaceNil];};HL.prototype.sockaddr=function(){return this.$val.sockaddr();};HM.ptr.prototype.sockaddr=function(){var k,l,m,n,o,p,q,r,s;k=this;l=k.Name;m=l.length;if(m>108){return[0,0,new HB(22)];}if((m===108)&&!((l.charCodeAt(0)===64))){return[0,0,new HB(22)];}k.raw.Family=1;n=0;while(true){if(!(n<m)){break;}(o=k.raw.Path,((n<0||n>=o.length)?($throwRuntimeError("index out of range"),undefined):o[n]=((l.charCodeAt(n)<<24>>24))));n=n+(1)>>0;}p=2;if(m>0){p=p+((((m>>>0))+1>>>0))>>>0;}if(k.raw.Path[0]===64){k.raw.Path[0]=0;p=p-(1)>>>0;}q=new Uint8Array(110);return[(q),p,$ifaceNil];};HM.prototype.sockaddr=function(){return this.$val.sockaddr();};JU.ptr.prototype.sockaddr=function(){var k,l,m,n,o,p,q;k=this;if(k.Ifindex<0||k.Ifindex>2147483647){return[0,0,new HB(22)];}k.raw.Family=17;k.raw.Protocol=k.Protocol;k.raw.Ifindex=((k.Ifindex>>0));k.raw.Hatype=k.Hatype;k.raw.Pkttype=k.Pkttype;k.raw.Halen=k.Halen;l=0;while(true){if(!(l<8)){break;}(n=k.raw.Addr,((l<0||l>=n.length)?($throwRuntimeError("index out of range"),undefined):n[l]=(m=k.Addr,((l<0||l>=m.length)?($throwRuntimeError("index out of range"),undefined):m[l]))));l=l+(1)>>0;}o=new Uint8Array(20);return[(o),20,$ifaceNil];};JU.prototype.sockaddr=function(){return this.$val.sockaddr();};JV.ptr.prototype.sockaddr=function(){var k,l,m,n;k=this;k.raw.Family=16;k.raw.Pad=k.Pad;k.raw.Pid=k.Pid;k.raw.Groups=k.Groups;l=new Uint8Array(12);return[(l),12,$ifaceNil];};JV.prototype.sockaddr=function(){return this.$val.sockaddr();};JW=function(k){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=k.Addr.Family;if(l===(16)){p=new Uint8Array(112);s=((m=(p),n=new AF.ptr(0,0,0,0),o=new DataView(m.buffer,m.byteOffset),n.Family=o.getUint16(0,true),n.Pad=o.getUint16(2,true),n.Pid=o.getUint32(4,true),n.Groups=o.getUint32(8,true),n));q=k,r=new DataView(p.buffer,p.byteOffset),q.Addr.Family=r.getUint16(0,true),q.Addr.Data=new($nativeArray($kindInt8))(p.buffer,$min(p.byteOffset+2,p.buffer.byteLength)),q.Pad=new($nativeArray($kindInt8))(p.buffer,$min(p.byteOffset+16,p.buffer.byteLength));t=new JV.ptr(0,0,0,0,new AF.ptr(0,0,0,0));t.Family=s.Family;t.Pad=s.Pad;t.Pid=s.Pid;t.Groups=s.Groups;return[t,$ifaceNil];}else if(l===(17)){x=new Uint8Array(112);aa=((u=(x),v=new AE.ptr(0,0,0,0,0,0,RR.zero()),w=new DataView(u.buffer,u.byteOffset),v.Family=w.getUint16(0,true),v.Protocol=w.getUint16(2,true),v.Ifindex=w.getInt32(4,true),v.Hatype=w.getUint16(8,true),v.Pkttype=w.getUint8(10,true),v.Halen=w.getUint8(11,true),v.Addr=new($nativeArray($kindUint8))(u.buffer,$min(u.byteOffset+12,u.buffer.byteLength)),v));y=k,z=new DataView(x.buffer,x.byteOffset),y.Addr.Family=z.getUint16(0,true),y.Addr.Data=new($nativeArray($kindInt8))(x.buffer,$min(x.byteOffset+2,x.buffer.byteLength)),y.Pad=new($nativeArray($kindInt8))(x.buffer,$min(x.byteOffset+16,x.buffer.byteLength));ab=new JU.ptr(0,0,0,0,0,RR.zero(),new AE.ptr(0,0,0,0,0,0,RR.zero()));ab.Protocol=aa.Protocol;ab.Ifindex=((aa.Ifindex>>0));ab.Hatype=aa.Hatype;ab.Pkttype=aa.Pkttype;ab.Halen=aa.Halen;ac=0;while(true){if(!(ac<8)){break;}(ae=ab.Addr,((ac<0||ac>=ae.length)?($throwRuntimeError("index out of range"),undefined):ae[ac]=(ad=aa.Addr,((ac<0||ac>=ad.length)?($throwRuntimeError("index out of range"),undefined):ad[ac]))));ac=ac+(1)>>0;}return[ab,$ifaceNil];}else if(l===(1)){ai=new Uint8Array(112);al=((af=(ai),ag=new AD.ptr(0,RS.zero()),ah=new DataView(af.buffer,af.byteOffset),ag.Family=ah.getUint16(0,true),ag.Path=new($nativeArray($kindInt8))(af.buffer,$min(af.byteOffset+2,af.buffer.byteLength)),ag));aj=k,ak=new DataView(ai.buffer,ai.byteOffset),aj.Addr.Family=ak.getUint16(0,true),aj.Addr.Data=new($nativeArray($kindInt8))(ai.buffer,$min(ai.byteOffset+2,ai.buffer.byteLength)),aj.Pad=new($nativeArray($kindInt8))(ai.buffer,$min(ai.byteOffset+16,ai.buffer.byteLength));am=new HM.ptr("",new AD.ptr(0,RS.zero()));if(al.Path[0]===0){al.Path[0]=64;}an=0;while(true){if(!(an<108&&!(((ao=al.Path,((an<0||an>=ao.length)?($throwRuntimeError("index out of range"),undefined):ao[an]))===0)))){break;}an=an+(1)>>0;}ap=$subslice(new QP((($sliceToNativeArray(new QP(al.Path))))),0,an);am.Name=($bytesToString(ap));return[am,$ifaceNil];}else if(l===(2)){at=new Uint8Array(112);aw=((aq=(at),ar=new AB.ptr(0,0,RT.zero(),RR.zero()),as=new DataView(aq.buffer,aq.byteOffset),ar.Family=as.getUint16(0,true),ar.Port=as.getUint16(2,true),ar.Addr=new($nativeArray($kindUint8))(aq.buffer,$min(aq.byteOffset+4,aq.buffer.byteLength)),ar.Zero=new($nativeArray($kindUint8))(aq.buffer,$min(aq.byteOffset+8,aq.buffer.byteLength)),ar));au=k,av=new DataView(at.buffer,at.byteOffset),au.Addr.Family=av.getUint16(0,true),au.Addr.Data=new($nativeArray($kindInt8))(at.buffer,$min(at.byteOffset+2,at.buffer.byteLength)),au.Pad=new($nativeArray($kindInt8))(at.buffer,$min(at.byteOffset+16,at.buffer.byteLength));ax=new HK.ptr(0,RT.zero(),new AB.ptr(0,0,RT.zero(),RR.zero()));ay=(((aw.$ptr_Port||(aw.$ptr_Port=new RQ(function(){return this.$target.Port;},function($v){this.$target.Port=$v;},aw)))));ax.Port=(((ay[0]>>0))<<8>>0)+((ay[1]>>0))>>0;az=0;while(true){if(!(az<4)){break;}(bb=ax.Addr,((az<0||az>=bb.length)?($throwRuntimeError("index out of range"),undefined):bb[az]=(ba=aw.Addr,((az<0||az>=ba.length)?($throwRuntimeError("index out of range"),undefined):ba[az]))));az=az+(1)>>0;}return[ax,$ifaceNil];}else if(l===(10)){bf=new Uint8Array(112);bi=((bc=(bf),bd=new AC.ptr(0,0,0,RU.zero(),0),be=new DataView(bc.buffer,bc.byteOffset),bd.Family=be.getUint16(0,true),bd.Port=be.getUint16(2,true),bd.Flowinfo=be.getUint32(4,true),bd.Addr=new($nativeArray($kindUint8))(bc.buffer,$min(bc.byteOffset+8,bc.buffer.byteLength)),bd.Scope_id=be.getUint32(24,true),bd));bg=k,bh=new DataView(bf.buffer,bf.byteOffset),bg.Addr.Family=bh.getUint16(0,true),bg.Addr.Data=new($nativeArray($kindInt8))(bf.buffer,$min(bf.byteOffset+2,bf.buffer.byteLength)),bg.Pad=new($nativeArray($kindInt8))(bf.buffer,$min(bf.byteOffset+16,bf.buffer.byteLength));bj=new HL.ptr(0,0,RU.zero(),new AC.ptr(0,0,0,RU.zero(),0));bk=(((bi.$ptr_Port||(bi.$ptr_Port=new RQ(function(){return this.$target.Port;},function($v){this.$target.Port=$v;},bi)))));bj.Port=(((bk[0]>>0))<<8>>0)+((bk[1]>>0))>>0;bj.ZoneId=bi.Scope_id;bl=0;while(true){if(!(bl<16)){break;}(bn=bj.Addr,((bl<0||bl>=bn.length)?($throwRuntimeError("index out of range"),undefined):bn[bl]=(bm=bi.Addr,((bl<0||bl>=bm.length)?($throwRuntimeError("index out of range"),undefined):bm[bl]))));bl=bl+(1)>>0;}return[bj,$ifaceNil];}return[$ifaceNil,new HB(97)];};JX=function(k){var k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=[l];m=[m];n=0;o=$ifaceNil;p=$ifaceNil;m[0]=new AH.ptr(new AG.ptr(0,RA.zero()),RB.zero());l[0]=112;r=FW(k,m[0],(l.$ptr||(l.$ptr=new RC(function(){return this.$target[0];},function($v){this.$target[0]=$v;},l))),0);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;n=q[0];p=q[1];if($interfaceIsEqual(p,new HB(38))){$s=2;continue;}$s=3;continue;case 2:t=FV(k,m[0],(l.$ptr||(l.$ptr=new RC(function(){return this.$target[0];},function($v){this.$target[0]=$v;},l))));$s=4;case 4:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;n=s[0];p=s[1];case 3:if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return[n,o,p];}u=JW(m[0]);o=u[0];p=u[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:v=CH(n);$s=7;case 7:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}v;n=0;case 6:$s=-1;return[n,o,p];}return;}if($f===undefined){$f={$blk:JX};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Accept=JX;JY=function(k,l){var k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=[m];n=[n];o=0;p=$ifaceNil;q=$ifaceNil;n[0]=new AH.ptr(new AG.ptr(0,RA.zero()),RB.zero());m[0]=112;s=FW(k,n[0],(m.$ptr||(m.$ptr=new RC(function(){return this.$target[0];},function($v){this.$target[0]=$v;},m))),l);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;o=r[0];q=r[1];if(!($interfaceIsEqual(q,$ifaceNil))){$s=-1;return[o,p,q];}if(m[0]>112){$panic(new $String("RawSockaddrAny too small"));}t=JW(n[0]);p=t[0];q=t[1];if(!($interfaceIsEqual(q,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:u=CH(o);$s=4;case 4:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}u;o=0;case 3:$s=-1;return[o,p,q];}return;}if($f===undefined){$f={$blk:JY};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Accept4=JY;KH=function(k,l,m,n){var k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=$ifaceNil;p=new Uint8Array(12);s=GC(k,l,m,(p),12);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}q=n,r=new DataView(p.buffer,p.byteOffset),q.Multiaddr=new($nativeArray($kindUint8))(p.buffer,$min(p.byteOffset+0,p.buffer.byteLength)),q.Address=new($nativeArray($kindUint8))(p.buffer,$min(p.byteOffset+4,p.buffer.byteLength)),q.Ifindex=r.getInt32(8,true);o=s;t=o;$s=2;case 2:return t;}return;}if($f===undefined){$f={$blk:KH};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SetsockoptIPMreqn=KH;KI=function(k,l,m,n){var aa,ab,ac,ad,ae,af,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=[o];p=[p];q=[q];r=[r];s=0;t=0;u=0;v=$ifaceNil;w=$ifaceNil;q[0]=new AO.ptr(QX.nil,0,RT.zero(),RW.nil,new $Uint64(0,0),QX.nil,new $Uint64(0,0),0,RT.zero());r[0]=new AH.ptr(new AG.ptr(0,RA.zero()),RB.zero());x=new Uint8Array(112);q[0].Name=((x));y=r[0],z=new DataView(x.buffer,x.byteOffset),y.Addr.Family=z.getUint16(0,true),y.Addr.Data=new($nativeArray($kindInt8))(x.buffer,$min(x.byteOffset+2,x.buffer.byteLength)),y.Pad=new($nativeArray($kindInt8))(x.buffer,$min(x.byteOffset+16,x.buffer.byteLength));q[0].Namelen=112;p[0]=new AK.ptr(QX.nil,new $Uint64(0,0));if(l.$length>0){p[0].Base=$indexPtr(l.$array,l.$offset+0,QX);p[0].SetLen(l.$length);}o[0]=0;if(m.$length>0){$s=1;continue;}$s=2;continue;case 1:if(l.$length===0){$s=3;continue;}$s=4;continue;case 3:aa=0;ac=HQ(k,1,3);$s=5;case 5:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;aa=ab[0];w=ab[1];if(!($interfaceIsEqual(w,$ifaceNil))){$s=-1;return[s,t,u,v,w];}if(!((aa===2))){p[0].Base=(o.$ptr||(o.$ptr=new QX(function(){return this.$target[0];},function($v){this.$target[0]=$v;},o)));p[0].SetLen(1);}case 4:q[0].Control=$indexPtr(m.$array,m.$offset+0,QX);q[0].SetControllen(m.$length);case 2:q[0].Iov=p[0];q[0].Iovlen=new $Uint64(0,1);ae=GJ(k,q[0],n);$s=6;case 6:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=ae;s=ad[0];w=ad[1];if(!($interfaceIsEqual(w,$ifaceNil))){$s=-1;return[s,t,u,v,w];}t=((q[0].Controllen.$low>>0));u=((q[0].Flags>>0));if(!((r[0].Addr.Family===0))){af=JW(r[0]);v=af[0];w=af[1];}$s=-1;return[s,t,u,v,w];}return;}if($f===undefined){$f={$blk:KI};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Recvmsg=KI;KK=function(k,l,m,n,o){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=[p];q=[q];r=[r];s=0;t=$ifaceNil;u=0;v=0;if(!($interfaceIsEqual(n,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:w=$ifaceNil;y=n.sockaddr();$s=3;case 3:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;u=x[0];v=x[1];w=x[2];if(!($interfaceIsEqual(w,$ifaceNil))){z=0;aa=w;s=z;t=aa;$s=-1;return[s,t];}case 2:r[0]=new AO.ptr(QX.nil,0,RT.zero(),RW.nil,new $Uint64(0,0),QX.nil,new $Uint64(0,0),0,RT.zero());r[0].Name=(u);r[0].Namelen=((v>>>0));q[0]=new AK.ptr(QX.nil,new $Uint64(0,0));if(l.$length>0){q[0].Base=$indexPtr(l.$array,l.$offset+0,QX);q[0].SetLen(l.$length);}p[0]=0;if(m.$length>0){$s=4;continue;}$s=5;continue;case 4:if(l.$length===0){$s=6;continue;}$s=7;continue;case 6:ab=0;ad=HQ(k,1,3);$s=8;case 8:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;ab=ac[0];t=ac[1];if(!($interfaceIsEqual(t,$ifaceNil))){ae=0;af=t;s=ae;t=af;$s=-1;return[s,t];}if(!((ab===2))){q[0].Base=(p.$ptr||(p.$ptr=new QX(function(){return this.$target[0];},function($v){this.$target[0]=$v;},p)));q[0].SetLen(1);}case 7:r[0].Control=$indexPtr(m.$array,m.$offset+0,QX);r[0].SetControllen(m.$length);case 5:r[0].Iov=q[0];r[0].Iovlen=new $Uint64(0,1);ah=GK(k,r[0],o);$s=9;case 9:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;s=ag[0];t=ag[1];if(!($interfaceIsEqual(t,$ifaceNil))){ai=0;aj=t;s=ai;t=aj;$s=-1;return[s,t];}if(m.$length>0&&(l.$length===0)){s=0;}ak=s;al=$ifaceNil;s=ak;t=al;$s=-1;return[s,t];}return;}if($f===undefined){$f={$blk:KK};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SendmsgN=KK;LC=function(k,l){var k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=0;n=$ifaceNil;p=CU(k,l);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;m=o[0];n=o[1];q=[m,n];$s=2;case 2:return q;}return;}if($f===undefined){$f={$blk:LC};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ReadDirent=LC;N.ptr.prototype.Unix=function(){var k,l,m,n,o;k=new $Int64(0,0);l=new $Int64(0,0);m=this;n=(m.Sec);o=(m.Nsec);k=n;l=o;return[k,l];};N.prototype.Unix=function(){return this.$val.Unix();};N.ptr.prototype.Nano=function(){var k,l,m;k=this;return(l=$mul64((k.Sec),new $Int64(0,1000000000)),m=(k.Nsec),new $Int64(l.$high+m.$high,l.$low+m.$low));};N.prototype.Nano=function(){return this.$val.Nano();};NJ=function(k,l){var k,l;};NK=function(k,l){var k,l;};NS=function(){var k,l,m,n,o,p;k=$global.process;if(k===undefined){return QR.nil;}l=k.env;m=$global.Object.keys(l);n=$makeSlice(QR,$parseInt(m.length));o=0;while(true){if(!(o<$parseInt(m.length))){break;}p=$internalize(m[o],$String);((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=p+"="+$internalize(l[$externalize(p,$String)],$String));o=o+(1)>>0;}return n;};NY=function(k){var k,l,m,n,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);$deferred.push([(function(){$recover();}),[]]);if(NV===null){$s=1;continue;}$s=2;continue;case 1:if(NW){$s=3;continue;}$s=4;continue;case 3:l=null;$s=5;case 5:return l;case 4:NW=true;m=$global.require;if(m===undefined){$panic(new $String(""));}NV=m($externalize("syscall",$String));case 2:n=NV[$externalize(k,$String)];$s=6;case 6:return n;}return;}}catch(err){$err=err;$s=-1;return null;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:NY};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};NZ=function(k,l,m,n){var aa,ab,ac,ad,ae,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=0;p=0;q=0;r=NY("Syscall");$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;if(!(s===null)){t=s(k,l,m,n);u=((($parseInt(t[0])>>0)>>>0));v=((($parseInt(t[1])>>0)>>>0));w=((($parseInt(t[2])>>0)>>>0));o=u;p=v;q=w;$s=-1;return[o,p,q];}if((k===1)&&((l===1)||(l===2))){x=m;y=$makeSlice(QP,$parseInt(x.length));y.$array=x;OJ(y);z=(($parseInt(x.length)>>>0));aa=0;ab=0;o=z;p=aa;q=ab;$s=-1;return[o,p,q];}if(k===231){E.Goexit();}OI();ac=((NX>>>0));ad=0;ae=13;o=ac;p=ad;q=ae;$s=-1;return[o,p,q];}return;}if($f===undefined){$f={$blk:NZ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Syscall=NZ;OA=function(k,l,m,n,o,p,q){var aa,ab,ac,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=0;s=0;t=0;u=NY("Syscall6");$s=1;case 1:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;if(!(v===null)){w=v(k,l,m,n,o,p,q);x=((($parseInt(w[0])>>0)>>>0));y=((($parseInt(w[1])>>0)>>>0));z=((($parseInt(w[2])>>0)>>>0));r=x;s=y;t=z;$s=-1;return[r,s,t];}if(!((k===202))){OI();}aa=((NX>>>0));ab=0;ac=13;r=aa;s=ab;t=ac;$s=-1;return[r,s,t];}return;}if($f===undefined){$f={$blk:OA};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Syscall6=OA;OB=function(k,l,m,n){var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=0;p=0;q=0;r=NY("Syscall");$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;if(!(s===null)){t=s(k,l,m,n);u=((($parseInt(t[0])>>0)>>>0));v=((($parseInt(t[1])>>0)>>>0));w=((($parseInt(t[2])>>0)>>>0));o=u;p=v;q=w;$s=-1;return[o,p,q];}OI();x=((NX>>>0));y=0;z=13;o=x;p=y;q=z;$s=-1;return[o,p,q];}return;}if($f===undefined){$f={$blk:OB};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.RawSyscall=OB;OE=function(k){var k,l,m,n,o,p;l=new($global.Uint8Array)(k.length+1>>0);m=(new QP($stringToBytes(k)));n=0;while(true){if(!(n<m.$length)){break;}o=n;p=((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);if(p===0){return[QX.nil,new HB(22)];}l[o]=p;n++;}l[k.length]=0;return[((l)),$ifaceNil];};$pkg.BytePtrFromString=OE;OH=function(){$flushConsole=(function(){if(!((OG.$length===0))){$global.console.log($externalize(($bytesToString(OG)),$String));OG=QP.nil;}});};OI=function(){if(!OF){$global.console.error($externalize("warning: system calls not available, see https://github.com/gopherjs/gopherjs/blob/master/doc/syscalls.md",$String));}OF=true;};OJ=function(k){var k,l,m;l=$global.goPrintToConsole;if(!(l===undefined)){l(k);return;}OG=$appendSlice(OG,k);while(true){m=OM(OG,10);if(m===-1){break;}$global.console.log($externalize(($bytesToString($subslice(OG,0,m))),$String));OG=$subslice(OG,(m+1>>0));}};OM=function(k,l){var k,l,m,n,o,p;m=k;n=0;while(true){if(!(n<m.$length)){break;}o=n;p=((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);if(p===l){return o;}n++;}return-1;};OR=function(k){var k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=CQ(k,2,1);$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;$s=-1;return;}return;}if($f===undefined){$f={$blk:OR};}$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$pkg.CloseOnExec=OR;OS=function(k,l){var k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=$ifaceNil;o=CQ(k,3,0);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];m=n[1];if(!($interfaceIsEqual(m,$ifaceNil))){m=m;$s=-1;return m;}if(l){p=p|(2048);}else{p=(p&~(2048))>>0;}r=CQ(k,4,p);$s=2;case 2:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;m=q[1];m=m;$s=-1;return m;}return;}if($f===undefined){$f={$blk:OS};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SetNonblock=OS;SP.methods=[{prop:"Unix",name:"Unix",pkg:"",typ:$funcType([],[$Int64,$Int64],false)},{prop:"Nano",name:"Nano",pkg:"",typ:$funcType([],[$Int64],false)}];RW.methods=[{prop:"SetLen",name:"SetLen",pkg:"",typ:$funcType([$Int],[],false)}];SV.methods=[{prop:"SetControllen",name:"SetControllen",pkg:"",typ:$funcType([$Int],[],false)}];TF.methods=[{prop:"Mmap",name:"Mmap",pkg:"",typ:$funcType([$Int,$Int64,$Int,$Int,$Int],[QP,$error],false)},{prop:"Munmap",name:"Munmap",pkg:"",typ:$funcType([QP],[$error],false)}];HB.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Is",name:"Is",pkg:"",typ:$funcType([$error],[$Bool],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)}];TJ.methods=[{prop:"sockaddr",name:"sockaddr",pkg:"syscall",typ:$funcType([],[$UnsafePointer,AI,$error],false)}];TK.methods=[{prop:"sockaddr",name:"sockaddr",pkg:"syscall",typ:$funcType([],[$UnsafePointer,AI,$error],false)}];TL.methods=[{prop:"sockaddr",name:"sockaddr",pkg:"syscall",typ:$funcType([],[$UnsafePointer,AI,$error],false)}];TM.methods=[{prop:"sockaddr",name:"sockaddr",pkg:"syscall",typ:$funcType([],[$UnsafePointer,AI,$error],false)}];SB.methods=[{prop:"sockaddr",name:"sockaddr",pkg:"syscall",typ:$funcType([],[$UnsafePointer,AI,$error],false)}];N.init("",[{prop:"Sec",name:"Sec",embedded:false,exported:true,typ:$Int64,tag:""},{prop:"Nsec",name:"Nsec",embedded:false,exported:true,typ:$Int64,tag:""}]);W.init("",[{prop:"Dev",name:"Dev",embedded:false,exported:true,typ:$Uint64,tag:""},{prop:"Ino",name:"Ino",embedded:false,exported:true,typ:$Uint64,tag:""},{prop:"Nlink",name:"Nlink",embedded:false,exported:true,typ:$Uint64,tag:""},{prop:"Mode",name:"Mode",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"Uid",name:"Uid",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"Gid",name:"Gid",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"X__pad0",name:"X__pad0",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Rdev",name:"Rdev",embedded:false,exported:true,typ:$Uint64,tag:""},{prop:"Size",name:"Size",embedded:false,exported:true,typ:$Int64,tag:""},{prop:"Blksize",name:"Blksize",embedded:false,exported:true,typ:$Int64,tag:""},{prop:"Blocks",name:"Blocks",embedded:false,exported:true,typ:$Int64,tag:""},{prop:"Atim",name:"Atim",embedded:false,exported:true,typ:N,tag:""},{prop:"Mtim",name:"Mtim",embedded:false,exported:true,typ:N,tag:""},{prop:"Ctim",name:"Ctim",embedded:false,exported:true,typ:N,tag:""},{prop:"X__unused",name:"X__unused",embedded:false,exported:true,typ:RI,tag:""}]);AB.init("",[{prop:"Family",name:"Family",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Port",name:"Port",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Addr",name:"Addr",embedded:false,exported:true,typ:RT,tag:""},{prop:"Zero",name:"Zero",embedded:false,exported:true,typ:RR,tag:""}]);AC.init("",[{prop:"Family",name:"Family",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Port",name:"Port",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Flowinfo",name:"Flowinfo",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"Addr",name:"Addr",embedded:false,exported:true,typ:RU,tag:""},{prop:"Scope_id",name:"Scope_id",embedded:false,exported:true,typ:$Uint32,tag:""}]);AD.init("",[{prop:"Family",name:"Family",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Path",name:"Path",embedded:false,exported:true,typ:RS,tag:""}]);AE.init("",[{prop:"Family",name:"Family",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Protocol",name:"Protocol",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Ifindex",name:"Ifindex",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Hatype",name:"Hatype",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Pkttype",name:"Pkttype",embedded:false,exported:true,typ:$Uint8,tag:""},{prop:"Halen",name:"Halen",embedded:false,exported:true,typ:$Uint8,tag:""},{prop:"Addr",name:"Addr",embedded:false,exported:true,typ:RR,tag:""}]);AF.init("",[{prop:"Family",name:"Family",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Pad",name:"Pad",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Pid",name:"Pid",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"Groups",name:"Groups",embedded:false,exported:true,typ:$Uint32,tag:""}]);AG.init("",[{prop:"Family",name:"Family",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Data",name:"Data",embedded:false,exported:true,typ:RA,tag:""}]);AH.init("",[{prop:"Addr",name:"Addr",embedded:false,exported:true,typ:AG,tag:""},{prop:"Pad",name:"Pad",embedded:false,exported:true,typ:RB,tag:""}]);AJ.init("",[{prop:"Onoff",name:"Onoff",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Linger",name:"Linger",embedded:false,exported:true,typ:$Int32,tag:""}]);AK.init("",[{prop:"Base",name:"Base",embedded:false,exported:true,typ:QX,tag:""},{prop:"Len",name:"Len",embedded:false,exported:true,typ:$Uint64,tag:""}]);AL.init("",[{prop:"Multiaddr",name:"Multiaddr",embedded:false,exported:true,typ:RT,tag:""},{prop:"Interface",name:"Interface",embedded:false,exported:true,typ:RT,tag:""}]);AM.init("",[{prop:"Multiaddr",name:"Multiaddr",embedded:false,exported:true,typ:RT,tag:""},{prop:"Address",name:"Address",embedded:false,exported:true,typ:RT,tag:""},{prop:"Ifindex",name:"Ifindex",embedded:false,exported:true,typ:$Int32,tag:""}]);AN.init("",[{prop:"Multiaddr",name:"Multiaddr",embedded:false,exported:true,typ:RU,tag:""},{prop:"Interface",name:"Interface",embedded:false,exported:true,typ:$Uint32,tag:""}]);AO.init("",[{prop:"Name",name:"Name",embedded:false,exported:true,typ:QX,tag:""},{prop:"Namelen",name:"Namelen",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"Pad_cgo_0",name:"Pad_cgo_0",embedded:false,exported:true,typ:RT,tag:""},{prop:"Iov",name:"Iov",embedded:false,exported:true,typ:RW,tag:""},{prop:"Iovlen",name:"Iovlen",embedded:false,exported:true,typ:$Uint64,tag:""},{prop:"Control",name:"Control",embedded:false,exported:true,typ:QX,tag:""},{prop:"Controllen",name:"Controllen",embedded:false,exported:true,typ:$Uint64,tag:""},{prop:"Flags",name:"Flags",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Pad_cgo_1",name:"Pad_cgo_1",embedded:false,exported:true,typ:RT,tag:""}]);BL.init("",[{prop:"Sysname",name:"Sysname",embedded:false,exported:true,typ:TB,tag:""},{prop:"Nodename",name:"Nodename",embedded:false,exported:true,typ:TB,tag:""},{prop:"Release",name:"Release",embedded:false,exported:true,typ:TB,tag:""},{prop:"Version",name:"Version",embedded:false,exported:true,typ:TB,tag:""},{prop:"Machine",name:"Machine",embedded:false,exported:true,typ:TB,tag:""},{prop:"Domainname",name:"Domainname",embedded:false,exported:true,typ:TB,tag:""}]);HA.init("syscall",[{prop:"Mutex",name:"Mutex",embedded:true,exported:true,typ:F.Mutex,tag:""},{prop:"active",name:"active",embedded:false,exported:false,typ:TG,tag:""},{prop:"mmap",name:"mmap",embedded:false,exported:false,typ:TH,tag:""},{prop:"munmap",name:"munmap",embedded:false,exported:false,typ:TI,tag:""}]);HJ.init([{prop:"sockaddr",name:"sockaddr",pkg:"syscall",typ:$funcType([],[$UnsafePointer,AI,$error],false)}]);HK.init("syscall",[{prop:"Port",name:"Port",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Addr",name:"Addr",embedded:false,exported:true,typ:RT,tag:""},{prop:"raw",name:"raw",embedded:false,exported:false,typ:AB,tag:""}]);HL.init("syscall",[{prop:"Port",name:"Port",embedded:false,exported:true,typ:$Int,tag:""},{prop:"ZoneId",name:"ZoneId",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"Addr",name:"Addr",embedded:false,exported:true,typ:RU,tag:""},{prop:"raw",name:"raw",embedded:false,exported:false,typ:AC,tag:""}]);HM.init("syscall",[{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"raw",name:"raw",embedded:false,exported:false,typ:AD,tag:""}]);JU.init("syscall",[{prop:"Protocol",name:"Protocol",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Ifindex",name:"Ifindex",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Hatype",name:"Hatype",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Pkttype",name:"Pkttype",embedded:false,exported:true,typ:$Uint8,tag:""},{prop:"Halen",name:"Halen",embedded:false,exported:true,typ:$Uint8,tag:""},{prop:"Addr",name:"Addr",embedded:false,exported:true,typ:RR,tag:""},{prop:"raw",name:"raw",embedded:false,exported:false,typ:AE,tag:""}]);JV.init("syscall",[{prop:"Family",name:"Family",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Pad",name:"Pad",embedded:false,exported:true,typ:$Uint16,tag:""},{prop:"Pid",name:"Pid",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"Groups",name:"Groups",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"raw",name:"raw",embedded:false,exported:false,typ:AF,tag:""}]);NH.init([{prop:"Control",name:"Control",pkg:"",typ:$funcType([TP],[$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([TQ],[$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([TQ],[$error],false)}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=H.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}IF=new $Int64(0,0);NV=null;OG=QP.nil;$pkg.ForkLock=new F.RWMutex.ptr(new F.Mutex.ptr(0,0),0,0,0,0);GS=$toNativeArray($kindString,["","operation not permitted","no such file or directory","no such process","interrupted system call","input/output error","no such device or address","argument list too long","exec format error","bad file descriptor","no child processes","resource temporarily unavailable","cannot allocate memory","permission denied","bad address","block device required","device or resource busy","file exists","invalid cross-device link","no such device","not a directory","is a directory","invalid argument","too many open files in system","too many open files","inappropriate ioctl for device","text file busy","file too large","no space left on device","illegal seek","read-only file system","too many links","broken pipe","numerical argument out of domain","numerical result out of range","resource deadlock avoided","file name too long","no locks available","function not implemented","directory not empty","too many levels of symbolic links","","no message of desired type","identifier removed","channel number out of range","level 2 not synchronized","level 3 halted","level 3 reset","link number out of range","protocol driver not attached","no CSI structure available","level 2 halted","invalid exchange","invalid request descriptor","exchange full","no anode","invalid request code","invalid slot","","bad font file format","device not a stream","no data available","timer expired","out of streams resources","machine is not on the network","package not installed","object is remote","link has been severed","advertise error","srmount error","communication error on send","protocol error","multihop attempted","RFS specific error","bad message","value too large for defined data type","name not unique on network","file descriptor in bad state","remote address changed","can not access a needed shared library","accessing a corrupted shared library",".lib section in a.out corrupted","attempting to link in too many shared libraries","cannot exec a shared library directly","invalid or incomplete multibyte or wide character","interrupted system call should be restarted","streams pipe error","too many users","socket operation on non-socket","destination address required","message too long","protocol wrong type for socket","protocol not available","protocol not supported","socket type not supported","operation not supported","protocol family not supported","address family not supported by protocol","address already in use","cannot assign requested address","network is down","network is unreachable","network dropped connection on reset","software caused connection abort","connection reset by peer","no buffer space available","transport endpoint is already connected","transport endpoint is not connected","cannot send after transport endpoint shutdown","too many references: cannot splice","connection timed out","connection refused","host is down","no route to host","operation already in progress","operation now in progress","stale NFS file handle","structure needs cleaning","not a XENIX named type file","no XENIX semaphores available","is a named type file","remote I/O error","disk quota exceeded","no medium found","wrong medium type","operation canceled","required key not available","key has expired","key has been revoked","key was rejected by service","owner died","state not recoverable","operation not possible due to RF-kill"]);$pkg.Stdin=0;$pkg.Stdout=1;$pkg.Stderr=2;HC=new HB(11);HD=new HB(22);HE=new HB(2);NW=false;NX=-1;OF=false;MD=new HA.ptr(new F.Mutex.ptr(0,0),{},GL,EJ);QC=NS();OH();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["internal/syscall/unix"]=(function(){var $pkg={},$init,B,A,C,H;B=$packages["sync/atomic"];A=$packages["syscall"];C=function(b){var b,c,d,e,f;c=false;d=$ifaceNil;e=false;f=$ifaceNil;c=e;d=f;return[c,d];};$pkg.IsNonblock=C;H=function(b,c,d,e,f,g){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=0;i=$ifaceNil;k=A.Syscall6(0,((b>>>0)),((c)),((d>>>0)),((e)),((f>>>0)),((g>>>0)));$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[2];h=((l>>0));if(!((m===0))){i=new A.Errno(m);}$s=-1;return[h,i];}return;}if($f===undefined){$f={$blk:H};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};$pkg.CopyFileRange=H;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.FcntlSyscall=72;}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/gopherjs/gopherjs/nosync"]=(function(){var $pkg={},$init,A,B,C,E,F,G,H,I,J,K,L,N,O,P,Q;A=$pkg.Pool=$newType(0,$kindStruct,"nosync.Pool",true,"github.com/gopherjs/gopherjs/nosync",true,function(store_,New_){this.$val=this;if(arguments.length===0){this.store=G.nil;this.New=$throwNilPointerError;return;}this.store=store_;this.New=New_;});B=$pkg.Once=$newType(0,$kindStruct,"nosync.Once",true,"github.com/gopherjs/gopherjs/nosync",true,function(doing_,done_){this.$val=this;if(arguments.length===0){this.doing=false;this.done=false;return;}this.doing=doing_;this.done=done_;});C=$pkg.Mutex=$newType(0,$kindStruct,"nosync.Mutex",true,"github.com/gopherjs/gopherjs/nosync",true,function(locked_){this.$val=this;if(arguments.length===0){this.locked=false;return;}this.locked=locked_;});E=$pkg.WaitGroup=$newType(0,$kindStruct,"nosync.WaitGroup",true,"github.com/gopherjs/gopherjs/nosync",true,function(counter_){this.$val=this;if(arguments.length===0){this.counter=0;return;}this.counter=counter_;});F=$pkg.Map=$newType(0,$kindStruct,"nosync.Map",true,"github.com/gopherjs/gopherjs/nosync",true,function(m_){this.$val=this;if(arguments.length===0){this.m=false;return;}this.m=m_;});G=$sliceType($emptyInterface);H=$ptrType(A);I=$funcType([],[$emptyInterface],false);J=$funcType([],[],false);K=$ptrType(B);L=$ptrType(C);N=$ptrType(E);O=$funcType([$emptyInterface,$emptyInterface],[$Bool],false);P=$ptrType(F);Q=$mapType($emptyInterface,$emptyInterface);A.ptr.prototype.Get=function(){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.store.$length===0){$s=1;continue;}$s=2;continue;case 1:if(!(a.New===$throwNilPointerError)){$s=3;continue;}$s=4;continue;case 3:b=a.New();$s=5;case 5:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=6;case 6:return c;case 4:$s=-1;return $ifaceNil;case 2:f=(d=a.store,e=a.store.$length-1>>0,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]));a.store=$subslice(a.store,0,(a.store.$length-1>>0));$s=-1;return f;}return;}if($f===undefined){$f={$blk:A.ptr.prototype.Get};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};A.prototype.Get=function(){return this.$val.Get();};A.ptr.prototype.Put=function(a){var a,b;b=this;if($interfaceIsEqual(a,$ifaceNil)){return;}b.store=$append(b.store,a);};A.prototype.Put=function(a){return this.$val.Put(a);};B.ptr.prototype.Do=function(a){var a,b,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);b=[b];b[0]=this;if(b[0].done){$s=1;continue;}$s=2;continue;case 1:$s=3;case 3:return;case 2:if(b[0].doing){$panic(new $String("nosync: Do called within f"));}b[0].doing=true;$deferred.push([(function(b){return function(){b[0].doing=false;b[0].done=true;};})(b),[]]);$r=a();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:B.ptr.prototype.Do};}$f.a=a;$f.b=b;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};B.prototype.Do=function(a){return this.$val.Do(a);};C.ptr.prototype.Lock=function(){var a;a=this;if(a.locked){$panic(new $String("nosync: mutex is already locked"));}a.locked=true;};C.prototype.Lock=function(){return this.$val.Lock();};C.ptr.prototype.Unlock=function(){var a;a=this;if(!a.locked){$panic(new $String("nosync: unlock of unlocked mutex"));}a.locked=false;};C.prototype.Unlock=function(){return this.$val.Unlock();};E.ptr.prototype.Add=function(a){var a,b;b=this;b.counter=b.counter+(a)>>0;if(b.counter<0){$panic(new $String("sync: negative WaitGroup counter"));}};E.prototype.Add=function(a){return this.$val.Add(a);};E.ptr.prototype.Done=function(){var a;a=this;a.Add(-1);};E.prototype.Done=function(){return this.$val.Done();};E.ptr.prototype.Wait=function(){var a;a=this;if(!((a.counter===0))){$panic(new $String("sync: WaitGroup counter not zero"));}};E.prototype.Wait=function(){return this.$val.Wait();};F.ptr.prototype.Load=function(a){var a,b,c,d,e,f,g,h;b=$ifaceNil;c=false;d=this;e=(f=d.m[$emptyInterface.keyFor(a)],f!==undefined?[f.v,true]:[$ifaceNil,false]);b=e[0];c=e[1];g=b;h=c;b=g;c=h;return[b,c];};F.prototype.Load=function(a){return this.$val.Load(a);};F.ptr.prototype.Store=function(a,b){var a,b,c,d;c=this;if(c.m===false){c.m={};}d=a;(c.m||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(d)]={k:d,v:b};};F.prototype.Store=function(a,b){return this.$val.Store(a,b);};F.ptr.prototype.LoadOrStore=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n;c=$ifaceNil;d=false;e=this;f=(g=e.m[$emptyInterface.keyFor(a)],g!==undefined?[g.v,true]:[$ifaceNil,false]);h=f[0];i=f[1];if(i){j=h;k=true;c=j;d=k;return[c,d];}if(e.m===false){e.m={};}l=a;(e.m||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(l)]={k:l,v:b};m=b;n=false;c=m;d=n;return[c,d];};F.prototype.LoadOrStore=function(a,b){return this.$val.LoadOrStore(a,b);};F.ptr.prototype.Delete=function(a){var a,b;b=this;if(b.m===false){return;}delete b.m[$emptyInterface.keyFor(a)];};F.prototype.Delete=function(a){return this.$val.Delete(a);};F.ptr.prototype.Range=function(a){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.m;d=0;e=$keys(c);case 1:if(!(d<e.length)){$s=2;continue;}f=c[e[d]];if(f===undefined){d++;$s=1;continue;}g=f.k;h=f.v;i=a(g,h);$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(!i){$s=3;continue;}$s=4;continue;case 3:$s=2;continue;case 4:d++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:F.ptr.prototype.Range};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};F.prototype.Range=function(a){return this.$val.Range(a);};H.methods=[{prop:"Get",name:"Get",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"Put",name:"Put",pkg:"",typ:$funcType([$emptyInterface],[],false)}];K.methods=[{prop:"Do",name:"Do",pkg:"",typ:$funcType([J],[],false)}];L.methods=[{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)}];N.methods=[{prop:"Add",name:"Add",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Done",name:"Done",pkg:"",typ:$funcType([],[],false)},{prop:"Wait",name:"Wait",pkg:"",typ:$funcType([],[],false)}];P.methods=[{prop:"Load",name:"Load",pkg:"",typ:$funcType([$emptyInterface],[$emptyInterface,$Bool],false)},{prop:"Store",name:"Store",pkg:"",typ:$funcType([$emptyInterface,$emptyInterface],[],false)},{prop:"LoadOrStore",name:"LoadOrStore",pkg:"",typ:$funcType([$emptyInterface,$emptyInterface],[$emptyInterface,$Bool],false)},{prop:"Delete",name:"Delete",pkg:"",typ:$funcType([$emptyInterface],[],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([O],[],false)}];A.init("github.com/gopherjs/gopherjs/nosync",[{prop:"store",name:"store",embedded:false,exported:false,typ:G,tag:""},{prop:"New",name:"New",embedded:false,exported:true,typ:I,tag:""}]);B.init("github.com/gopherjs/gopherjs/nosync",[{prop:"doing",name:"doing",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"done",name:"done",embedded:false,exported:false,typ:$Bool,tag:""}]);C.init("github.com/gopherjs/gopherjs/nosync",[{prop:"locked",name:"locked",embedded:false,exported:false,typ:$Bool,tag:""}]);E.init("github.com/gopherjs/gopherjs/nosync",[{prop:"counter",name:"counter",embedded:false,exported:false,typ:$Int,tag:""}]);F.init("github.com/gopherjs/gopherjs/nosync",[{prop:"m",name:"m",embedded:false,exported:false,typ:Q,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["time"]=(function(){var $pkg={},$init,C,E,D,A,B,V,W,X,AF,AG,AP,AQ,AR,AU,DI,EE,EF,EG,EI,EJ,EK,EN,ER,ES,ET,EV,FB,K,Y,EC,Z,ED,AA,AK,BB,BF,CP,CR,CU,CV,CW,CX,DB,DH,DX,EA,i,j,AB,AC,AD,AE,AH,AI,AJ,AS,AT,AV,AW,AX,BA,BC,BD,BE,BH,BI,BL,BM,BN,BO,CE,CF,CG,CS,CT,CY,CZ,DA,DC,DD,DE,DF,DG,DJ,DK,DL,DM,DN,DO,DP,DR,DS,DT,DU,DV,DW,DY,DZ,EB;C=$packages["errors"];E=$packages["github.com/gopherjs/gopherjs/js"];D=$packages["github.com/gopherjs/gopherjs/nosync"];A=$packages["runtime"];B=$packages["syscall"];V=$pkg.Location=$newType(0,$kindStruct,"time.Location",true,"time",true,function(name_,zone_,tx_,extend_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;if(arguments.length===0){this.name="";this.zone=EE.nil;this.tx=EF.nil;this.extend="";this.cacheStart=new $Int64(0,0);this.cacheEnd=new $Int64(0,0);this.cacheZone=EG.nil;return;}this.name=name_;this.zone=zone_;this.tx=tx_;this.extend=extend_;this.cacheStart=cacheStart_;this.cacheEnd=cacheEnd_;this.cacheZone=cacheZone_;});W=$pkg.zone=$newType(0,$kindStruct,"time.zone",true,"time",false,function(name_,offset_,isDST_){this.$val=this;if(arguments.length===0){this.name="";this.offset=0;this.isDST=false;return;}this.name=name_;this.offset=offset_;this.isDST=isDST_;});X=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans",true,"time",false,function(when_,index_,isstd_,isutc_){this.$val=this;if(arguments.length===0){this.when=new $Int64(0,0);this.index=0;this.isstd=false;this.isutc=false;return;}this.when=when_;this.index=index_;this.isstd=isstd_;this.isutc=isutc_;});AF=$pkg.ruleKind=$newType(4,$kindInt,"time.ruleKind",true,"time",false,null);AG=$pkg.rule=$newType(0,$kindStruct,"time.rule",true,"time",false,function(kind_,day_,week_,mon_,time_){this.$val=this;if(arguments.length===0){this.kind=0;this.day=0;this.week=0;this.mon=0;this.time=0;return;}this.kind=kind_;this.day=day_;this.week=week_;this.mon=mon_;this.time=time_;});AP=$pkg.Time=$newType(0,$kindStruct,"time.Time",true,"time",true,function(wall_,ext_,loc_){this.$val=this;if(arguments.length===0){this.wall=new $Uint64(0,0);this.ext=new $Int64(0,0);this.loc=EK.nil;return;}this.wall=wall_;this.ext=ext_;this.loc=loc_;});AQ=$pkg.Month=$newType(4,$kindInt,"time.Month",true,"time",true,null);AR=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday",true,"time",true,null);AU=$pkg.Duration=$newType(8,$kindInt64,"time.Duration",true,"time",true,null);DI=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError",true,"time",true,function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;if(arguments.length===0){this.Layout="";this.Value="";this.LayoutElem="";this.ValueElem="";this.Message="";return;}this.Layout=Layout_;this.Value=Value_;this.LayoutElem=LayoutElem_;this.ValueElem=ValueElem_;this.Message=Message_;});EE=$sliceType(W);EF=$sliceType(X);EG=$ptrType(W);EI=$sliceType($String);EJ=$sliceType($Uint8);EK=$ptrType(V);EN=$arrayType($Uint8,32);ER=$arrayType($Uint8,20);ES=$arrayType($Uint8,9);ET=$arrayType($Uint8,64);EV=$ptrType(AP);FB=$ptrType(DI);V.ptr.prototype.get=function(){var k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;if(k===EK.nil){$s=-1;return Y;}if(k===Z){$s=1;continue;}$s=2;continue;case 1:$r=AA.Do(CE);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return k;}return;}if($f===undefined){$f={$blk:V.ptr.prototype.get};}$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};V.prototype.get=function(){return this.$val.get();};V.ptr.prototype.String=function(){var k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=k.get();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l.name;$s=2;case 2:return m;}return;}if($f===undefined){$f={$blk:V.ptr.prototype.String};}$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};V.prototype.String=function(){return this.$val.String();};AB=function(k,l){var k,l,m,n;m=new V.ptr(k,new EE([new W.ptr(k,l,false)]),new EF([new X.ptr(new $Int64(-2147483648,0),0,false,false)]),"",new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),EG.nil);m.cacheZone=(n=m.zone,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0]));return m;};$pkg.FixedZone=AB;V.ptr.prototype.lookup=function(k){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l="";m=0;n=new $Int64(0,0);o=new $Int64(0,0);p=false;q=this;r=q.get();$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;if(q.zone.$length===0){l="UTC";m=0;n=new $Int64(-2147483648,0);o=new $Int64(2147483647,4294967295);p=false;$s=-1;return[l,m,n,o,p];}s=q.cacheZone;if(!(s===EG.nil)&&(t=q.cacheStart,(t.$high<k.$high||(t.$high===k.$high&&t.$low<=k.$low)))&&(u=q.cacheEnd,(k.$high<u.$high||(k.$high===u.$high&&k.$low<u.$low)))){l=s.name;m=s.offset;n=q.cacheStart;o=q.cacheEnd;p=s.isDST;$s=-1;return[l,m,n,o,p];}if((q.tx.$length===0)||(v=(w=q.tx,(0>=w.$length?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+0])).when,(k.$high<v.$high||(k.$high===v.$high&&k.$low<v.$low)))){z=(x=q.zone,y=q.lookupFirstZone(),((y<0||y>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+y]));l=z.name;m=z.offset;n=new $Int64(-2147483648,0);if(q.tx.$length>0){o=(aa=q.tx,(0>=aa.$length?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+0])).when;}else{o=new $Int64(2147483647,4294967295);}p=z.isDST;$s=-1;return[l,m,n,o,p];}ab=q.tx;o=new $Int64(2147483647,4294967295);ac=0;ad=ab.$length;while(true){if(!((ad-ac>>0)>1)){break;}af=ac+(ae=((ad-ac>>0))/2,(ae===ae&&ae!==1/0&&ae!==-1/0)?ae>>0:$throwRuntimeError("integer divide by zero"))>>0;ag=((af<0||af>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+af]).when;if((k.$high<ag.$high||(k.$high===ag.$high&&k.$low<ag.$low))){o=ag;ad=af;}else{ac=af;}}aj=(ah=q.zone,ai=((ac<0||ac>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+ac]).index,((ai<0||ai>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ai]));l=aj.name;m=aj.offset;n=((ac<0||ac>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+ac]).when;p=aj.isDST;if((ac===(ab.$length-1>>0))&&!(q.extend==="")){ak=AC(q.extend,o,k);al=ak[0];am=ak[1];an=ak[2];ao=ak[3];ap=ak[4];aq=ak[5];if(aq){ar=al;as=am;at=an;au=ao;av=ap;l=ar;m=as;n=at;o=au;p=av;$s=-1;return[l,m,n,o,p];}}$s=-1;return[l,m,n,o,p];}return;}if($f===undefined){$f={$blk:V.ptr.prototype.lookup};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};V.prototype.lookup=function(k){return this.$val.lookup(k);};V.ptr.prototype.lookupFirstZone=function(){var k,l,m,n,o,p,q,r,s,t,u;k=this;if(!k.firstZoneUsed()){return 0;}if(k.tx.$length>0&&(l=k.zone,m=(n=k.tx,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0])).index,((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m])).isDST){p=(((o=k.tx,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])).index>>0))-1>>0;while(true){if(!(p>=0)){break;}if(!(q=k.zone,((p<0||p>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+p])).isDST){return p;}p=p-(1)>>0;}}r=k.zone;s=0;while(true){if(!(s<r.$length)){break;}t=s;if(!(u=k.zone,((t<0||t>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+t])).isDST){return t;}s++;}return 0;};V.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};V.ptr.prototype.firstZoneUsed=function(){var k,l,m,n;k=this;l=k.tx;m=0;while(true){if(!(m<l.$length)){break;}n=$clone(((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]),X);if(n.index===0){return true;}m++;}return false;};V.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};AC=function(k,l,m){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;n="";o=0;p=new $Int64(0,0);q=new $Int64(0,0);r=false;s=false;t="";u="";v=t;w=u;x=0;y=0;z=x;aa=y;ab=AD(k);v=ab[0];k=ab[1];s=ab[2];if(s){ac=AE(k);z=ac[0];k=ac[1];s=ac[2];}if(!s){ad="";ae=0;af=new $Int64(0,0);ag=new $Int64(0,0);ah=false;ai=false;n=ad;o=ae;p=af;q=ag;r=ah;s=ai;return[n,o,p,q,r,s];}z=-z;if((k.length===0)||(k.charCodeAt(0)===44)){aj=v;ak=z;al=l;am=new $Int64(2147483647,4294967295);an=false;ao=true;n=aj;o=ak;p=al;q=am;r=an;s=ao;return[n,o,p,q,r,s];}ap=AD(k);w=ap[0];k=ap[1];s=ap[2];if(s){if((k.length===0)||(k.charCodeAt(0)===44)){aa=z+3600>>0;}else{aq=AE(k);aa=aq[0];k=aq[1];s=aq[2];aa=-aa;}}if(!s){ar="";as=0;at=new $Int64(0,0);au=new $Int64(0,0);av=false;aw=false;n=ar;o=as;p=at;q=au;r=av;s=aw;return[n,o,p,q,r,s];}if(k.length===0){k=",M3.2.0,M11.1.0";}if(!((k.charCodeAt(0)===44))&&!((k.charCodeAt(0)===59))){ax="";ay=0;az=new $Int64(0,0);ba=new $Int64(0,0);bb=false;bc=false;n=ax;o=ay;p=az;q=ba;r=bb;s=bc;return[n,o,p,q,r,s];}k=$substring(k,1);bd=new AG.ptr(0,0,0,0,0);be=new AG.ptr(0,0,0,0,0);bf=$clone(bd,AG);bg=$clone(be,AG);bh=AH(k);AG.copy(bf,bh[0]);k=bh[1];s=bh[2];if(!s||(k.length===0)||!((k.charCodeAt(0)===44))){bi="";bj=0;bk=new $Int64(0,0);bl=new $Int64(0,0);bm=false;bn=false;n=bi;o=bj;p=bk;q=bl;r=bm;s=bn;return[n,o,p,q,r,s];}k=$substring(k,1);bo=AH(k);AG.copy(bg,bo[0]);k=bo[1];s=bo[2];if(!s||k.length>0){bp="";bq=0;br=new $Int64(0,0);bs=new $Int64(0,0);bt=false;bu=false;n=bp;o=bq;p=br;q=bs;r=bt;s=bu;return[n,o,p,q,r,s];}bv=BA(((bw=(bx=new $Int64(m.$high+14,m.$low+2006054656),new $Int64(bx.$high+2147483631,bx.$low+2739393024)),new $Uint64(bw.$high,bw.$low))),false);by=bv[0];bz=bv[3];cc=(ca=(new $Int64(0,($imul(bz,86400)))),cb=$div64(m,new $Int64(0,86400),true),new $Int64(ca.$high+cb.$high,ca.$low+cb.$low));cd=BD(by);cf=((ce=$mul64(cd,new $Uint64(0,86400)),new $Int64(ce.$high,ce.$low)));cf=(cg=new $Int64(-2147483647,3844486912),new $Int64(cf.$high+cg.$high,cf.$low+cg.$low));ch=(new $Int64(0,AJ(by,$clone(bf,AG),z)));ci=(new $Int64(0,AJ(by,$clone(bg,AG),aa)));cj=true;ck=false;cl=cj;cm=ck;if((ci.$high<ch.$high||(ci.$high===ch.$high&&ci.$low<ch.$low))){cn=ci;co=ch;ch=cn;ci=co;cp=w;cq=v;v=cp;w=cq;cr=aa;cs=z;z=cr;aa=cs;ct=cl;cu=cm;cm=ct;cl=cu;}if((cc.$high<ch.$high||(cc.$high===ch.$high&&cc.$low<ch.$low))){cv=v;cw=z;cx=cf;cy=new $Int64(ch.$high+cf.$high,ch.$low+cf.$low);cz=cm;da=true;n=cv;o=cw;p=cx;q=cy;r=cz;s=da;return[n,o,p,q,r,s];}else if((cc.$high>ci.$high||(cc.$high===ci.$high&&cc.$low>=ci.$low))){db=v;dc=z;dd=new $Int64(ci.$high+cf.$high,ci.$low+cf.$low);de=new $Int64(cf.$high+0,cf.$low+31536000);df=cm;dg=true;n=db;o=dc;p=dd;q=de;r=df;s=dg;return[n,o,p,q,r,s];}else{dh=w;di=aa;dj=new $Int64(ch.$high+cf.$high,ch.$low+cf.$low);dk=new $Int64(ci.$high+cf.$high,ci.$low+cf.$low);dl=cl;dm=true;n=dh;o=di;p=dj;q=dk;r=dl;s=dm;return[n,o,p,q,r,s];}};AD=function(k){var k,l,m,n,o,p,q,r,s,t,u,v;if(k.length===0){return["","",false];}if(!((k.charCodeAt(0)===60))){l=k;m=0;while(true){if(!(m<l.length)){break;}n=$decodeRune(l,m);o=m;p=n[0];q=p;if((q===(48))||(q===(49))||(q===(50))||(q===(51))||(q===(52))||(q===(53))||(q===(54))||(q===(55))||(q===(56))||(q===(57))||(q===(44))||(q===(45))||(q===(43))){if(o<3){return["","",false];}return[$substring(k,0,o),$substring(k,o),true];}m+=n[1];}if(k.length<3){return["","",false];}return[k,"",true];}else{r=k;s=0;while(true){if(!(s<r.length)){break;}t=$decodeRune(r,s);u=s;v=t[0];if(v===62){return[$substring(k,1,u),$substring(k,(u+1>>0)),true];}s+=t[1];}return["","",false];}};AE=function(k){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=0;m="";n=false;if(k.length===0){o=0;p="";q=false;l=o;m=p;n=q;return[l,m,n];}r=false;if(k.charCodeAt(0)===43){k=$substring(k,1);}else if(k.charCodeAt(0)===45){k=$substring(k,1);r=true;}s=0;t=AI(k,0,168);s=t[0];k=t[1];n=t[2];if(!n){u=0;v="";w=false;l=u;m=v;n=w;return[l,m,n];}x=$imul(s,3600);if((k.length===0)||!((k.charCodeAt(0)===58))){if(r){x=-x;}y=x;z=k;aa=true;l=y;m=z;n=aa;return[l,m,n];}ab=0;ac=AI($substring(k,1),0,59);ab=ac[0];k=ac[1];n=ac[2];if(!n){ad=0;ae="";af=false;l=ad;m=ae;n=af;return[l,m,n];}x=x+(($imul(ab,60)))>>0;if((k.length===0)||!((k.charCodeAt(0)===58))){if(r){x=-x;}ag=x;ah=k;ai=true;l=ag;m=ah;n=ai;return[l,m,n];}aj=0;ak=AI($substring(k,1),0,59);aj=ak[0];k=ak[1];n=ak[2];if(!n){al=0;am="";an=false;l=al;m=am;n=an;return[l,m,n];}x=x+(aj)>>0;if(r){x=-x;}ao=x;ap=k;aq=true;l=ao;m=ap;n=aq;return[l,m,n];};AH=function(k){var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;l=new AG.ptr(0,0,0,0,0);if(k.length===0){return[new AG.ptr(0,0,0,0,0),"",false];}m=false;if(k.charCodeAt(0)===74){n=0;o=AI($substring(k,1),1,365);n=o[0];k=o[1];m=o[2];if(!m){return[new AG.ptr(0,0,0,0,0),"",false];}l.kind=0;l.day=n;}else if(k.charCodeAt(0)===77){p=0;q=AI($substring(k,1),1,12);p=q[0];k=q[1];m=q[2];if(!m||(k.length===0)||!((k.charCodeAt(0)===46))){return[new AG.ptr(0,0,0,0,0),"",false];}r=0;s=AI($substring(k,1),1,5);r=s[0];k=s[1];m=s[2];if(!m||(k.length===0)||!((k.charCodeAt(0)===46))){return[new AG.ptr(0,0,0,0,0),"",false];}t=0;u=AI($substring(k,1),0,6);t=u[0];k=u[1];m=u[2];if(!m){return[new AG.ptr(0,0,0,0,0),"",false];}l.kind=2;l.day=t;l.week=r;l.mon=p;}else{v=0;w=AI(k,0,365);v=w[0];k=w[1];m=w[2];if(!m){return[new AG.ptr(0,0,0,0,0),"",false];}l.kind=1;l.day=v;}if((k.length===0)||!((k.charCodeAt(0)===47))){l.time=7200;return[l,k,true];}x=AE($substring(k,1));y=x[0];k=x[1];m=x[2];if(!m){return[new AG.ptr(0,0,0,0,0),"",false];}l.time=y;return[l,k,true];};AI=function(k,l,m){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;n=0;o="";p=false;if(k.length===0){q=0;r="";s=false;n=q;o=r;p=s;return[n,o,p];}n=0;t=k;u=0;while(true){if(!(u<t.length)){break;}v=$decodeRune(t,u);w=u;x=v[0];if(x<48||x>57){if((w===0)||n<l){y=0;z="";aa=false;n=y;o=z;p=aa;return[n,o,p];}ab=n;ac=$substring(k,w);ad=true;n=ab;o=ac;p=ad;return[n,o,p];}n=$imul(n,(10));n=n+((((x>>0))-48>>0))>>0;if(n>m){ae=0;af="";ag=false;n=ae;o=af;p=ag;return[n,o,p];}u+=v[1];}if(n<l){ah=0;ai="";aj=false;n=ah;o=ai;p=aj;return[n,o,p];}ak=n;al="";am=true;n=ak;o=al;p=am;return[n,o,p];};AJ=function(k,l,m){var aa,ab,ac,ad,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;n=0;o=l.kind;if(o===(0)){n=$imul(((l.day-1>>0)),86400);if(BL(k)&&l.day>=60){n=n+(86400)>>0;}}else if(o===(1)){n=$imul(l.day,86400);}else if(o===(2)){q=(p=((l.mon+9>>0))%12,p===p?p:$throwRuntimeError("integer divide by zero"))+1>>0;r=k;if(l.mon<=2){r=r-(1)>>0;}t=(s=r/100,(s===s&&s!==1/0&&s!==-1/0)?s>>0:$throwRuntimeError("integer divide by zero"));v=(u=r%100,u===u?u:$throwRuntimeError("integer divide by zero"));aa=(w=(((((((x=((($imul(26,q))-2>>0))/10,(x===x&&x!==1/0&&x!==-1/0)?x>>0:$throwRuntimeError("integer divide by zero"))+1>>0)+v>>0)+(y=v/4,(y===y&&y!==1/0&&y!==-1/0)?y>>0:$throwRuntimeError("integer divide by zero"))>>0)+(z=t/4,(z===z&&z!==1/0&&z!==-1/0)?z>>0:$throwRuntimeError("integer divide by zero"))>>0)-($imul(2,t))>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(aa<0){aa=aa+(7)>>0;}ab=l.day-aa>>0;if(ab<0){ab=ab+(7)>>0;}ac=1;while(true){if(!(ac<l.week)){break;}if((ab+7>>0)>=BC(((l.mon>>0)),k)){break;}ab=ab+(7)>>0;ac=ac+(1)>>0;}ab=ab+((((ad=l.mon-1>>0,((ad<0||ad>=BB.length)?($throwRuntimeError("index out of range"),undefined):BB[ad]))>>0)))>>0;if(BL(k)&&l.mon>2){ab=ab+(1)>>0;}n=$imul(ab,86400);}return(n+l.time>>0)-m>>0;};V.ptr.prototype.lookupName=function(k,l){var aa,ab,ac,ad,ae,af,ag,ah,ai,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=0;n=false;o=this;p=o.get();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;q=o.zone;r=0;case 2:if(!(r<q.$length)){$s=3;continue;}s=r;u=(t=o.zone,((s<0||s>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+s]));if(u.name===k){$s=4;continue;}$s=5;continue;case 4:x=o.lookup((w=(new $Int64(0,u.offset)),new $Int64(l.$high-w.$high,l.$low-w.$low)));$s=6;case 6:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}v=x;y=v[0];z=v[1];if(y===u.name){aa=z;ab=true;m=aa;n=ab;$s=-1;return[m,n];}case 5:r++;$s=2;continue;case 3:ac=o.zone;ad=0;while(true){if(!(ad<ac.$length)){break;}ae=ad;ag=(af=o.zone,((ae<0||ae>=af.$length)?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+ae]));if(ag.name===k){ah=ag.offset;ai=true;m=ah;n=ai;$s=-1;return[m,n];}ad++;}$s=-1;return[m,n];}return;}if($f===undefined){$f={$blk:V.ptr.prototype.lookupName};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};V.prototype.lookupName=function(k,l){return this.$val.lookupName(k,l);};AP.ptr.prototype.nsec=function(){var k,l;k=this;return(((l=k.wall,new $Uint64(l.$high&0,(l.$low&1073741823)>>>0)).$low>>0));};AP.prototype.nsec=function(){return this.$val.nsec();};AP.ptr.prototype.sec=function(){var k,l,m,n,o;k=this;if(!((l=(m=k.wall,new $Uint64(m.$high&2147483648,(m.$low&0)>>>0)),(l.$high===0&&l.$low===0)))){return(n=((o=$shiftRightUint64($shiftLeft64(k.wall,1),31),new $Int64(o.$high,o.$low))),new $Int64(13+n.$high,3618733952+n.$low));}return k.ext;};AP.prototype.sec=function(){return this.$val.sec();};AP.ptr.prototype.unixSec=function(){var k,l;k=this;return(l=k.sec(),new $Int64(l.$high+-15,l.$low+2288912640));};AP.prototype.unixSec=function(){return this.$val.unixSec();};AP.ptr.prototype.addSec=function(k){var k,l,m,n,o,p,q,r,s,t,u,v,w,x;l=this;if(!((m=(n=l.wall,new $Uint64(n.$high&2147483648,(n.$low&0)>>>0)),(m.$high===0&&m.$low===0)))){p=((o=$shiftRightUint64($shiftLeft64(l.wall,1),31),new $Int64(o.$high,o.$low)));q=new $Int64(p.$high+k.$high,p.$low+k.$low);if((0<q.$high||(0===q.$high&&0<=q.$low))&&(q.$high<1||(q.$high===1&&q.$low<=4294967295))){l.wall=(r=(s=(t=l.wall,new $Uint64(t.$high&0,(t.$low&1073741823)>>>0)),u=$shiftLeft64((new $Uint64(q.$high,q.$low)),30),new $Uint64(s.$high|u.$high,(s.$low|u.$low)>>>0)),new $Uint64(r.$high|2147483648,(r.$low|0)>>>0));return;}l.stripMono();}w=(v=l.ext,new $Int64(v.$high+k.$high,v.$low+k.$low));if(((x=l.ext,(w.$high>x.$high||(w.$high===x.$high&&w.$low>x.$low))))===((k.$high>0||(k.$high===0&&k.$low>0)))){l.ext=w;}else if((k.$high>0||(k.$high===0&&k.$low>0))){l.ext=new $Int64(2147483647,4294967295);}else{l.ext=new $Int64(-2147483648,1);}};AP.prototype.addSec=function(k){return this.$val.addSec(k);};AP.ptr.prototype.setLoc=function(k){var k,l;l=this;if(k===Y){k=EK.nil;}l.stripMono();l.loc=k;};AP.prototype.setLoc=function(k){return this.$val.setLoc(k);};AP.ptr.prototype.stripMono=function(){var k,l,m,n,o;k=this;if(!((l=(m=k.wall,new $Uint64(m.$high&2147483648,(m.$low&0)>>>0)),(l.$high===0&&l.$low===0)))){k.ext=k.sec();k.wall=(n=k.wall,o=new $Uint64(0,1073741823),new $Uint64(n.$high&o.$high,(n.$low&o.$low)>>>0));}};AP.prototype.stripMono=function(){return this.$val.stripMono();};AP.ptr.prototype.After=function(k){var k,l,m,n,o,p,q,r,s,t;l=this;if(!((m=(n=(o=l.wall,p=k.wall,new $Uint64(o.$high&p.$high,(o.$low&p.$low)>>>0)),new $Uint64(n.$high&2147483648,(n.$low&0)>>>0)),(m.$high===0&&m.$low===0)))){return(q=l.ext,r=k.ext,(q.$high>r.$high||(q.$high===r.$high&&q.$low>r.$low)));}s=l.sec();t=k.sec();return(s.$high>t.$high||(s.$high===t.$high&&s.$low>t.$low))||(s.$high===t.$high&&s.$low===t.$low)&&l.nsec()>k.nsec();};AP.prototype.After=function(k){return this.$val.After(k);};AP.ptr.prototype.Before=function(k){var k,l,m,n,o,p,q,r,s,t;l=this;if(!((m=(n=(o=l.wall,p=k.wall,new $Uint64(o.$high&p.$high,(o.$low&p.$low)>>>0)),new $Uint64(n.$high&2147483648,(n.$low&0)>>>0)),(m.$high===0&&m.$low===0)))){return(q=l.ext,r=k.ext,(q.$high<r.$high||(q.$high===r.$high&&q.$low<r.$low)));}s=l.sec();t=k.sec();return(s.$high<t.$high||(s.$high===t.$high&&s.$low<t.$low))||(s.$high===t.$high&&s.$low===t.$low)&&l.nsec()<k.nsec();};AP.prototype.Before=function(k){return this.$val.Before(k);};AP.ptr.prototype.Equal=function(k){var k,l,m,n,o,p,q,r,s,t;l=this;if(!((m=(n=(o=l.wall,p=k.wall,new $Uint64(o.$high&p.$high,(o.$low&p.$low)>>>0)),new $Uint64(n.$high&2147483648,(n.$low&0)>>>0)),(m.$high===0&&m.$low===0)))){return(q=l.ext,r=k.ext,(q.$high===r.$high&&q.$low===r.$low));}return(s=l.sec(),t=k.sec(),(s.$high===t.$high&&s.$low===t.$low))&&(l.nsec()===k.nsec());};AP.prototype.Equal=function(k){return this.$val.Equal(k);};AQ.prototype.String=function(){var k,l,m,n;k=this.$val;if(1<=k&&k<=12){return(l=k-1>>0,((l<0||l>=CX.$length)?($throwRuntimeError("index out of range"),undefined):CX.$array[CX.$offset+l]));}m=$makeSlice(EJ,20);n=AW(m,(new $Uint64(0,k)));return"%!Month("+($bytesToString($subslice(m,n)))+")";};$ptrType(AQ).prototype.String=function(){return new AQ(this.$get()).String();};AR.prototype.String=function(){var k,l,m;k=this.$val;if(0<=k&&k<=6){return((k<0||k>=CU.$length)?($throwRuntimeError("index out of range"),undefined):CU.$array[CU.$offset+k]);}l=$makeSlice(EJ,20);m=AW(l,(new $Uint64(0,k)));return"%!Weekday("+($bytesToString($subslice(l,m)))+")";};$ptrType(AR).prototype.String=function(){return new AR(this.$get()).String();};AP.ptr.prototype.IsZero=function(){var k,l;k=this;return(l=k.sec(),(l.$high===0&&l.$low===0))&&(k.nsec()===0);};AP.prototype.IsZero=function(){return this.$val.IsZero();};AP.ptr.prototype.abs=function(){var k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=k.loc;if(l===EK.nil||l===Z){$s=1;continue;}$s=2;continue;case 1:m=l.get();$s=3;case 3:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;case 2:n=k.unixSec();if(!(l===Y)){$s=4;continue;}$s=5;continue;case 4:if(!(l.cacheZone===EG.nil)&&(o=l.cacheStart,(o.$high<n.$high||(o.$high===n.$high&&o.$low<=n.$low)))&&(p=l.cacheEnd,(n.$high<p.$high||(n.$high===p.$high&&n.$low<p.$low)))){$s=6;continue;}$s=7;continue;case 6:n=(q=(new $Int64(0,l.cacheZone.offset)),new $Int64(n.$high+q.$high,n.$low+q.$low));$s=8;continue;case 7:s=l.lookup(n);$s=9;case 9:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[1];n=(u=(new $Int64(0,t)),new $Int64(n.$high+u.$high,n.$low+u.$low));case 8:case 5:$s=-1;return((v=new $Int64(n.$high+2147483646,n.$low+450480384),new $Uint64(v.$high,v.$low)));}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.abs};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.abs=function(){return this.$val.abs();};AP.ptr.prototype.locabs=function(){var k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k="";l=0;m=new $Uint64(0,0);n=this;o=n.loc;if(o===EK.nil||o===Z){$s=1;continue;}$s=2;continue;case 1:p=o.get();$s=3;case 3:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;case 2:q=n.unixSec();if(!(o===Y)){$s=4;continue;}$s=5;continue;case 4:if(!(o.cacheZone===EG.nil)&&(r=o.cacheStart,(r.$high<q.$high||(r.$high===q.$high&&r.$low<=q.$low)))&&(s=o.cacheEnd,(q.$high<s.$high||(q.$high===s.$high&&q.$low<s.$low)))){$s=7;continue;}$s=8;continue;case 7:k=o.cacheZone.name;l=o.cacheZone.offset;$s=9;continue;case 8:u=o.lookup(q);$s=10;case 10:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;k=t[0];l=t[1];case 9:q=(v=(new $Int64(0,l)),new $Int64(q.$high+v.$high,q.$low+v.$low));$s=6;continue;case 5:k="UTC";case 6:m=((w=new $Int64(q.$high+2147483646,q.$low+450480384),new $Uint64(w.$high,w.$low)));$s=-1;return[k,l,m];}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.locabs};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.locabs=function(){return this.$val.locabs();};AP.ptr.prototype.Date=function(){var k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=0;l=0;m=0;n=this;p=$clone(n,AP).date(true);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;k=o[0];l=o[1];m=o[2];$s=-1;return[k,l,m];}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.Date};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.Date=function(){return this.$val.Date();};AP.ptr.prototype.Year=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,AP).date(false);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];$s=-1;return n;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.Year};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.Year=function(){return this.$val.Year();};AP.ptr.prototype.Month=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,AP).date(true);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[1];$s=-1;return n;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.Month};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.Month=function(){return this.$val.Month();};AP.ptr.prototype.Day=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,AP).date(true);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[2];$s=-1;return n;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.Day};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.Day=function(){return this.$val.Day();};AP.ptr.prototype.Weekday=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,AP).abs();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=AS(l);$s=2;case 2:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=3;case 3:return n;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.Weekday};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.Weekday=function(){return this.$val.Weekday();};AS=function(k){var k,l,m;l=$div64((new $Uint64(k.$high+0,k.$low+86400)),new $Uint64(0,604800),true);return(((m=((l.$low>>0))/86400,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0));};AP.ptr.prototype.ISOWeek=function(){var k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=0;l=0;m=this;n=$clone(m,AP).abs();$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;p=4-AS(o)>>0;if(p===4){p=-3;}o=(q=$mul64((new $Uint64(0,p)),new $Uint64(0,86400)),new $Uint64(o.$high+q.$high,o.$low+q.$low));r=BA(o,false);k=r[0];s=r[3];t=k;u=(v=s/7,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero"))+1>>0;k=t;l=u;$s=-1;return[k,l];}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.ISOWeek};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.ISOWeek=function(){return this.$val.ISOWeek();};AP.ptr.prototype.Clock=function(){var k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=0;l=0;m=0;n=this;p=$clone(n,AP).abs();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=AT(p);$s=2;case 2:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}o=q;k=o[0];l=o[1];m=o[2];r=[k,l,m];$s=3;case 3:return r;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.Clock};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.Clock=function(){return this.$val.Clock();};AT=function(k){var k,l,m,n,o,p;l=0;m=0;n=0;n=(($div64(k,new $Uint64(0,86400),true).$low>>0));l=(o=n/3600,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"));n=n-(($imul(l,3600)))>>0;m=(p=n/60,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));n=n-(($imul(m,60)))>>0;return[l,m,n];};AP.ptr.prototype.Hour=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,AP).abs();$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=(l=(($div64(m,new $Uint64(0,86400),true).$low>>0))/3600,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));$s=2;case 2:return n;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.Hour};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.Hour=function(){return this.$val.Hour();};AP.ptr.prototype.Minute=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,AP).abs();$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=(l=(($div64(m,new $Uint64(0,3600),true).$low>>0))/60,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"));$s=2;case 2:return n;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.Minute};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.Minute=function(){return this.$val.Minute();};AP.ptr.prototype.Second=function(){var k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,AP).abs();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=(($div64(l,new $Uint64(0,60),true).$low>>0));$s=2;case 2:return m;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.Second};}$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.Second=function(){return this.$val.Second();};AP.ptr.prototype.Nanosecond=function(){var k;k=this;return((k.nsec()>>0));};AP.prototype.Nanosecond=function(){return this.$val.Nanosecond();};AP.ptr.prototype.YearDay=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,AP).date(false);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[3];$s=-1;return n+1>>0;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.YearDay};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.YearDay=function(){return this.$val.YearDay();};AU.prototype.String=function(){var k,l,m,n,o,p,q,r;k=this;l=EN.zero();m=32;n=(new $Uint64(k.$high,k.$low));o=(k.$high<0||(k.$high===0&&k.$low<0));if(o){n=new $Uint64(-n.$high,-n.$low);}if((n.$high<0||(n.$high===0&&n.$low<1000000000))){p=0;m=m-(1)>>0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=115);m=m-(1)>>0;if((n.$high===0&&n.$low===0)){return"0s";}else if((n.$high<0||(n.$high===0&&n.$low<1000))){p=0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=110);}else if((n.$high<0||(n.$high===0&&n.$low<1000000))){p=3;m=m-(1)>>0;$copyString($subslice(new EJ(l),m),"\xC2\xB5");}else{p=6;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=109);}q=AV($subslice(new EJ(l),0,m),n,p);m=q[0];n=q[1];m=AW($subslice(new EJ(l),0,m),n);}else{m=m-(1)>>0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=115);r=AV($subslice(new EJ(l),0,m),n,9);m=r[0];n=r[1];m=AW($subslice(new EJ(l),0,m),$div64(n,new $Uint64(0,60),true));n=$div64(n,(new $Uint64(0,60)),false);if((n.$high>0||(n.$high===0&&n.$low>0))){m=m-(1)>>0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=109);m=AW($subslice(new EJ(l),0,m),$div64(n,new $Uint64(0,60),true));n=$div64(n,(new $Uint64(0,60)),false);if((n.$high>0||(n.$high===0&&n.$low>0))){m=m-(1)>>0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=104);m=AW($subslice(new EJ(l),0,m),n);}}}if(o){m=m-(1)>>0;((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]=45);}return($bytesToString($subslice(new EJ(l),m)));};$ptrType(AU).prototype.String=function(){return this.$get().String();};AV=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,u;n=0;o=new $Uint64(0,0);p=k.$length;q=false;r=0;while(true){if(!(r<m)){break;}s=$div64(l,new $Uint64(0,10),true);q=q||!((s.$high===0&&s.$low===0));if(q){p=p-(1)>>0;((p<0||p>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+p]=(((s.$low<<24>>>24))+48<<24>>>24));}l=$div64(l,(new $Uint64(0,10)),false);r=r+(1)>>0;}if(q){p=p-(1)>>0;((p<0||p>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+p]=46);}t=p;u=l;n=t;o=u;return[n,o];};AW=function(k,l){var k,l,m;m=k.$length;if((l.$high===0&&l.$low===0)){m=m-(1)>>0;((m<0||m>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+m]=48);}else{while(true){if(!((l.$high>0||(l.$high===0&&l.$low>0)))){break;}m=m-(1)>>0;((m<0||m>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+m]=((($div64(l,new $Uint64(0,10),true).$low<<24>>>24))+48<<24>>>24));l=$div64(l,(new $Uint64(0,10)),false);}}return m;};AU.prototype.Nanoseconds=function(){var k;k=this;return(new $Int64(k.$high,k.$low));};$ptrType(AU).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};AU.prototype.Microseconds=function(){var k;k=this;return $div64((new $Int64(k.$high,k.$low)),new $Int64(0,1000),false);};$ptrType(AU).prototype.Microseconds=function(){return this.$get().Microseconds();};AU.prototype.Milliseconds=function(){var k;k=this;return $div64((new $Int64(k.$high,k.$low)),new $Int64(0,1000000),false);};$ptrType(AU).prototype.Milliseconds=function(){return this.$get().Milliseconds();};AU.prototype.Seconds=function(){var k,l,m;k=this;l=$div64(k,new AU(0,1000000000),false);m=$div64(k,new AU(0,1000000000),true);return($flatten64(l))+($flatten64(m))/1e+09;};$ptrType(AU).prototype.Seconds=function(){return this.$get().Seconds();};AU.prototype.Minutes=function(){var k,l,m;k=this;l=$div64(k,new AU(13,4165425152),false);m=$div64(k,new AU(13,4165425152),true);return($flatten64(l))+($flatten64(m))/6e+10;};$ptrType(AU).prototype.Minutes=function(){return this.$get().Minutes();};AU.prototype.Hours=function(){var k,l,m;k=this;l=$div64(k,new AU(838,817405952),false);m=$div64(k,new AU(838,817405952),true);return($flatten64(l))+($flatten64(m))/3.6e+12;};$ptrType(AU).prototype.Hours=function(){return this.$get().Hours();};AU.prototype.Truncate=function(k){var k,l,m;l=this;if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}return(m=$div64(l,k,true),new AU(l.$high-m.$high,l.$low-m.$low));};$ptrType(AU).prototype.Truncate=function(k){return this.$get().Truncate(k);};AX=function(k,l){var k,l,m,n,o,p;return(m=(n=(new $Uint64(k.$high,k.$low)),o=(new $Uint64(k.$high,k.$low)),new $Uint64(n.$high+o.$high,n.$low+o.$low)),p=(new $Uint64(l.$high,l.$low)),(m.$high<p.$high||(m.$high===p.$high&&m.$low<p.$low)));};AU.prototype.Round=function(k){var k,l,m,n,o,p,q;l=this;if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=$div64(l,k,true);if((l.$high<0||(l.$high===0&&l.$low<0))){m=new AU(-m.$high,-m.$low);if(AX(m,k)){return new AU(l.$high+m.$high,l.$low+m.$low);}o=(n=new AU(l.$high-k.$high,l.$low-k.$low),new AU(n.$high+m.$high,n.$low+m.$low));if((o.$high<l.$high||(o.$high===l.$high&&o.$low<l.$low))){return o;}return new AU(-2147483648,0);}if(AX(m,k)){return new AU(l.$high-m.$high,l.$low-m.$low);}q=(p=new AU(l.$high+k.$high,l.$low+k.$low),new AU(p.$high-m.$high,p.$low-m.$low));if((q.$high>l.$high||(q.$high===l.$high&&q.$low>l.$low))){return q;}return new AU(2147483647,4294967295);};$ptrType(AU).prototype.Round=function(k){return this.$get().Round(k);};AP.ptr.prototype.Add=function(k){var aa,ab,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=this;n=((m=$div64(k,new AU(0,1000000000),false),new $Int64(m.$high,m.$low)));p=l.nsec()+(((o=$div64(k,new AU(0,1000000000),true),o.$low+((o.$high>>31)*4294967296))>>0))>>0;if(p>=1000000000){n=(q=new $Int64(0,1),new $Int64(n.$high+q.$high,n.$low+q.$low));p=p-(1000000000)>>0;}else if(p<0){n=(r=new $Int64(0,1),new $Int64(n.$high-r.$high,n.$low-r.$low));p=p+(1000000000)>>0;}l.wall=(s=(t=l.wall,new $Uint64(t.$high&~0,(t.$low&~1073741823)>>>0)),u=(new $Uint64(0,p)),new $Uint64(s.$high|u.$high,(s.$low|u.$low)>>>0));l.addSec(n);if(!((v=(w=l.wall,new $Uint64(w.$high&2147483648,(w.$low&0)>>>0)),(v.$high===0&&v.$low===0)))){z=(x=l.ext,y=(new $Int64(k.$high,k.$low)),new $Int64(x.$high+y.$high,x.$low+y.$low));if((k.$high<0||(k.$high===0&&k.$low<0))&&(aa=l.ext,(z.$high>aa.$high||(z.$high===aa.$high&&z.$low>aa.$low)))||(k.$high>0||(k.$high===0&&k.$low>0))&&(ab=l.ext,(z.$high<ab.$high||(z.$high===ab.$high&&z.$low<ab.$low)))){l.stripMono();}else{l.ext=z;}}return l;};AP.prototype.Add=function(k){return this.$val.Add(k);};AP.ptr.prototype.Sub=function(k){var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=this;if(!((m=(n=(o=l.wall,p=k.wall,new $Uint64(o.$high&p.$high,(o.$low&p.$low)>>>0)),new $Uint64(n.$high&2147483648,(n.$low&0)>>>0)),(m.$high===0&&m.$low===0)))){q=l.ext;r=k.ext;t=((s=new $Int64(q.$high-r.$high,q.$low-r.$low),new AU(s.$high,s.$low)));if((t.$high<0||(t.$high===0&&t.$low<0))&&(q.$high>r.$high||(q.$high===r.$high&&q.$low>r.$low))){return new AU(2147483647,4294967295);}if((t.$high>0||(t.$high===0&&t.$low>0))&&(q.$high<r.$high||(q.$high===r.$high&&q.$low<r.$low))){return new AU(-2147483648,0);}return t;}z=(u=$mul64(((v=(w=l.sec(),x=k.sec(),new $Int64(w.$high-x.$high,w.$low-x.$low)),new AU(v.$high,v.$low))),new AU(0,1000000000)),y=(new AU(0,(l.nsec()-k.nsec()>>0))),new AU(u.$high+y.$high,u.$low+y.$low));if($clone($clone(k,AP).Add(z),AP).Equal($clone(l,AP))){return z;}else if($clone(l,AP).Before($clone(k,AP))){return new AU(-2147483648,0);}else{return new AU(2147483647,4294967295);}};AP.prototype.Sub=function(k){return this.$val.Sub(k);};AP.ptr.prototype.AddDate=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=this;p=$clone(n,AP).Date();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;q=o[0];r=o[1];s=o[2];u=$clone(n,AP).Clock();$s=2;case 2:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=t[0];w=t[1];x=t[2];y=BN(q+k>>0,r+((l>>0))>>0,s+m>>0,v,w,x,((n.nsec()>>0)),$clone(n,AP).Location());$s=3;case 3:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;$s=4;case 4:return z;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.AddDate};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.AddDate=function(k,l,m){return this.$val.AddDate(k,l,m);};AP.ptr.prototype.date=function(k){var k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=0;m=0;n=0;o=0;p=this;r=$clone(p,AP).abs();$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=BA(r,k);$s=2;case 2:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}q=s;l=q[0];m=q[1];n=q[2];o=q[3];t=[l,m,n,o];$s=3;case 3:return t;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.date};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.date=function(k){return this.$val.date(k);};BA=function(k,l){var aa,ab,ac,ad,ae,af,ag,ah,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;m=0;n=0;o=0;p=0;q=$div64(k,new $Uint64(0,86400),false);r=$div64(q,new $Uint64(0,146097),false);s=$mul64(new $Uint64(0,400),r);q=(t=$mul64(new $Uint64(0,146097),r),new $Uint64(q.$high-t.$high,q.$low-t.$low));r=$div64(q,new $Uint64(0,36524),false);r=(u=$shiftRightUint64(r,2),new $Uint64(r.$high-u.$high,r.$low-u.$low));s=(v=$mul64(new $Uint64(0,100),r),new $Uint64(s.$high+v.$high,s.$low+v.$low));q=(w=$mul64(new $Uint64(0,36524),r),new $Uint64(q.$high-w.$high,q.$low-w.$low));r=$div64(q,new $Uint64(0,1461),false);s=(x=$mul64(new $Uint64(0,4),r),new $Uint64(s.$high+x.$high,s.$low+x.$low));q=(y=$mul64(new $Uint64(0,1461),r),new $Uint64(q.$high-y.$high,q.$low-y.$low));r=$div64(q,new $Uint64(0,365),false);r=(z=$shiftRightUint64(r,2),new $Uint64(r.$high-z.$high,r.$low-z.$low));s=(aa=r,new $Uint64(s.$high+aa.$high,s.$low+aa.$low));q=(ab=$mul64(new $Uint64(0,365),r),new $Uint64(q.$high-ab.$high,q.$low-ab.$low));m=(((ac=(ad=(new $Int64(s.$high,s.$low)),new $Int64(ad.$high+-69,ad.$low+4075721025)),ac.$low+((ac.$high>>31)*4294967296))>>0));p=((q.$low>>0));if(!l){return[m,n,o,p];}o=p;if(BL(m)){if(o>59){o=o-(1)>>0;}else if((o===59)){n=2;o=29;return[m,n,o,p];}}n=(((ae=o/31,(ae===ae&&ae!==1/0&&ae!==-1/0)?ae>>0:$throwRuntimeError("integer divide by zero"))>>0));ag=(((af=n+1>>0,((af<0||af>=BB.length)?($throwRuntimeError("index out of range"),undefined):BB[af]))>>0));ah=0;if(o>=ag){n=n+(1)>>0;ah=ag;}else{ah=((((n<0||n>=BB.length)?($throwRuntimeError("index out of range"),undefined):BB[n])>>0));}n=n+(1)>>0;o=(o-ah>>0)+1>>0;return[m,n,o,p];};BC=function(k,l){var k,l,m;if((k===2)&&BL(l)){return 29;}return(((((k<0||k>=BB.length)?($throwRuntimeError("index out of range"),undefined):BB[k])-(m=k-1>>0,((m<0||m>=BB.length)?($throwRuntimeError("index out of range"),undefined):BB[m]))>>0)>>0));};BD=function(k){var k,l,m,n,o,p,q,r,s,t,u,v;n=((l=(m=(new $Int64(0,k)),new $Int64(m.$high- -69,m.$low-4075721025)),new $Uint64(l.$high,l.$low)));o=$div64(n,new $Uint64(0,400),false);n=(p=$mul64(new $Uint64(0,400),o),new $Uint64(n.$high-p.$high,n.$low-p.$low));q=$mul64(new $Uint64(0,146097),o);o=$div64(n,new $Uint64(0,100),false);n=(r=$mul64(new $Uint64(0,100),o),new $Uint64(n.$high-r.$high,n.$low-r.$low));q=(s=$mul64(new $Uint64(0,36524),o),new $Uint64(q.$high+s.$high,q.$low+s.$low));o=$div64(n,new $Uint64(0,4),false);n=(t=$mul64(new $Uint64(0,4),o),new $Uint64(n.$high-t.$high,n.$low-t.$low));q=(u=$mul64(new $Uint64(0,1461),o),new $Uint64(q.$high+u.$high,q.$low+u.$low));o=n;q=(v=$mul64(new $Uint64(0,365),o),new $Uint64(q.$high+v.$high,q.$low+v.$low));return q;};BE=function(){$throwRuntimeError("native function not implemented: time.runtimeNano");};BH=function(k,l){var k,l;return new AP.ptr((new $Uint64(0,l)),new $Int64(k.$high+14,k.$low+2006054656),$pkg.Local);};AP.ptr.prototype.UTC=function(){var k;k=this;k.setLoc(Y);return k;};AP.prototype.UTC=function(){return this.$val.UTC();};AP.ptr.prototype.Local=function(){var k;k=this;k.setLoc($pkg.Local);return k;};AP.prototype.Local=function(){return this.$val.Local();};AP.ptr.prototype.In=function(k){var k,l;l=this;if(k===EK.nil){$panic(new $String("time: missing Location in call to Time.In"));}l.setLoc(k);return l;};AP.prototype.In=function(k){return this.$val.In(k);};AP.ptr.prototype.Location=function(){var k,l;k=this;l=k.loc;if(l===EK.nil){l=$pkg.UTC;}return l;};AP.prototype.Location=function(){return this.$val.Location();};AP.ptr.prototype.Zone=function(){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k="";l=0;m=this;o=m.loc.lookup(m.unixSec());$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;k=n[0];l=n[1];$s=-1;return[k,l];}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.Zone};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.Zone=function(){return this.$val.Zone();};AP.ptr.prototype.Unix=function(){var k;k=this;return k.unixSec();};AP.prototype.Unix=function(){return this.$val.Unix();};AP.ptr.prototype.UnixMilli=function(){var k,l,m;k=this;return(l=$mul64(k.unixSec(),new $Int64(0,1000)),m=$div64((new $Int64(0,k.nsec())),new $Int64(0,1000000),false),new $Int64(l.$high+m.$high,l.$low+m.$low));};AP.prototype.UnixMilli=function(){return this.$val.UnixMilli();};AP.ptr.prototype.UnixMicro=function(){var k,l,m;k=this;return(l=$mul64(k.unixSec(),new $Int64(0,1000000)),m=$div64((new $Int64(0,k.nsec())),new $Int64(0,1000),false),new $Int64(l.$high+m.$high,l.$low+m.$low));};AP.prototype.UnixMicro=function(){return this.$val.UnixMicro();};AP.ptr.prototype.UnixNano=function(){var k,l,m;k=this;return(l=$mul64((k.unixSec()),new $Int64(0,1000000000)),m=(new $Int64(0,k.nsec())),new $Int64(l.$high+m.$high,l.$low+m.$low));};AP.prototype.UnixNano=function(){return this.$val.UnixNano();};AP.ptr.prototype.MarshalBinary=function(){var k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=0;if($clone(k,AP).Location()===$pkg.UTC){$s=1;continue;}$s=2;continue;case 1:l=-1;$s=3;continue;case 2:n=$clone(k,AP).Zone();$s=4;case 4:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[1];if(!(((p=o%60,p===p?p:$throwRuntimeError("integer divide by zero"))===0))){$s=-1;return[EJ.nil,C.New("Time.MarshalBinary: zone offset has fractional minute")];}o=(q=o/(60),(q===q&&q!==1/0&&q!==-1/0)?q>>0:$throwRuntimeError("integer divide by zero"));if(o<-32768||(o===-1)||o>32767){$s=-1;return[EJ.nil,C.New("Time.MarshalBinary: unexpected zone offset")];}l=((o<<16>>16));case 3:r=k.sec();s=k.nsec();t=new EJ([1,(($shiftRightInt64(r,56).$low<<24>>>24)),(($shiftRightInt64(r,48).$low<<24>>>24)),(($shiftRightInt64(r,40).$low<<24>>>24)),(($shiftRightInt64(r,32).$low<<24>>>24)),(($shiftRightInt64(r,24).$low<<24>>>24)),(($shiftRightInt64(r,16).$low<<24>>>24)),(($shiftRightInt64(r,8).$low<<24>>>24)),((r.$low<<24>>>24)),(((s>>24>>0)<<24>>>24)),(((s>>16>>0)<<24>>>24)),(((s>>8>>0)<<24>>>24)),((s<<24>>>24)),(((l>>8<<16>>16)<<24>>>24)),((l<<24>>>24))]);$s=-1;return[t,$ifaceNil];}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.MarshalBinary};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};AP.ptr.prototype.UnmarshalBinary=function(k){var aa,ab,ac,ad,ae,af,ag,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;m=k;if(m.$length===0){$s=-1;return C.New("Time.UnmarshalBinary: no data");}if(!(((0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])===1))){$s=-1;return C.New("Time.UnmarshalBinary: unsupported version");}if(!((m.$length===15))){$s=-1;return C.New("Time.UnmarshalBinary: invalid length");}m=$subslice(m,1);ab=(n=(o=(p=(q=(r=(s=(t=(new $Int64(0,(7>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+7]))),u=$shiftLeft64((new $Int64(0,(6>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+6]))),8),new $Int64(t.$high|u.$high,(t.$low|u.$low)>>>0)),v=$shiftLeft64((new $Int64(0,(5>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+5]))),16),new $Int64(s.$high|v.$high,(s.$low|v.$low)>>>0)),w=$shiftLeft64((new $Int64(0,(4>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+4]))),24),new $Int64(r.$high|w.$high,(r.$low|w.$low)>>>0)),x=$shiftLeft64((new $Int64(0,(3>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+3]))),32),new $Int64(q.$high|x.$high,(q.$low|x.$low)>>>0)),y=$shiftLeft64((new $Int64(0,(2>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+2]))),40),new $Int64(p.$high|y.$high,(p.$low|y.$low)>>>0)),z=$shiftLeft64((new $Int64(0,(1>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+1]))),48),new $Int64(o.$high|z.$high,(o.$low|z.$low)>>>0)),aa=$shiftLeft64((new $Int64(0,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]))),56),new $Int64(n.$high|aa.$high,(n.$low|aa.$low)>>>0));m=$subslice(m,8);ac=(((((3>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+3])>>0))|((((2>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+2])>>0))<<8>>0))|((((1>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+1])>>0))<<16>>0))|((((0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])>>0))<<24>>0);m=$subslice(m,4);ad=$imul(((((((1>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+1])<<16>>16))|((((0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])<<16>>16))<<8<<16>>16))>>0)),60);AP.copy(l,new AP.ptr(new $Uint64(0,0),new $Int64(0,0),EK.nil));l.wall=(new $Uint64(0,ac));l.ext=ab;if(ad===-60){$s=1;continue;}$s=2;continue;case 1:l.setLoc(Y);$s=3;continue;case 2:af=$pkg.Local.lookup(l.unixSec());$s=4;case 4:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;ag=ae[1];if(ad===ag){l.setLoc($pkg.Local);}else{l.setLoc(AB("",ad));}case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.UnmarshalBinary};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.UnmarshalBinary=function(k){return this.$val.UnmarshalBinary(k);};AP.ptr.prototype.GobEncode=function(){var k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,AP).MarshalBinary();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=2;case 2:return m;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.GobEncode};}$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.GobEncode=function(){return this.$val.GobEncode();};AP.ptr.prototype.GobDecode=function(k){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;m=l.UnmarshalBinary(k);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=2;case 2:return n;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.GobDecode};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.GobDecode=function(k){return this.$val.GobDecode(k);};AP.ptr.prototype.MarshalJSON=function(){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,AP).Year();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(m<0||m>=10000){$s=-1;return[EJ.nil,C.New("Time.MarshalJSON: year outside of range [0,9999]")];}n=$makeSlice(EJ,0,37);n=$append(n,34);o=$clone(k,AP).AppendFormat(n,"2006-01-02T15:04:05.999999999Z07:00");$s=2;case 2:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;n=$append(n,34);$s=-1;return[n,$ifaceNil];}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.MarshalJSON};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};AP.ptr.prototype.UnmarshalJSON=function(k){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;if(($bytesToString(k))==="null"){$s=-1;return $ifaceNil;}m=$ifaceNil;o=DP("\"2006-01-02T15:04:05Z07:00\"",($bytesToString(k)));$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;AP.copy(l,n[0]);m=n[1];$s=-1;return m;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.UnmarshalJSON};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.UnmarshalJSON=function(k){return this.$val.UnmarshalJSON(k);};AP.ptr.prototype.MarshalText=function(){var k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,AP).Year();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(m<0||m>=10000){$s=-1;return[EJ.nil,C.New("Time.MarshalText: year outside of range [0,9999]")];}n=$makeSlice(EJ,0,35);o=$clone(k,AP).AppendFormat(n,"2006-01-02T15:04:05.999999999Z07:00");$s=2;case 2:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=[o,$ifaceNil];$s=3;case 3:return p;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.MarshalText};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.MarshalText=function(){return this.$val.MarshalText();};AP.ptr.prototype.UnmarshalText=function(k){var k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;m=$ifaceNil;o=DP("2006-01-02T15:04:05Z07:00",($bytesToString(k)));$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;AP.copy(l,n[0]);m=n[1];$s=-1;return m;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.UnmarshalText};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.UnmarshalText=function(k){return this.$val.UnmarshalText(k);};BI=function(k,l){var k,l,m,n,o,p,q;if((l.$high<0||(l.$high===0&&l.$low<0))||(l.$high>0||(l.$high===0&&l.$low>=1000000000))){m=$div64(l,new $Int64(0,1000000000),false);k=(n=m,new $Int64(k.$high+n.$high,k.$low+n.$low));l=(o=$mul64(m,new $Int64(0,1000000000)),new $Int64(l.$high-o.$high,l.$low-o.$low));if((l.$high<0||(l.$high===0&&l.$low<0))){l=(p=new $Int64(0,1000000000),new $Int64(l.$high+p.$high,l.$low+p.$low));k=(q=new $Int64(0,1),new $Int64(k.$high-q.$high,k.$low-q.$low));}}return BH(k,(((l.$low+((l.$high>>31)*4294967296))>>0)));};$pkg.Unix=BI;AP.ptr.prototype.IsDST=function(){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=k.loc.lookup($clone(k,AP).Unix());$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[4];$s=-1;return n;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.IsDST};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.IsDST=function(){return this.$val.IsDST();};BL=function(k){var k,l,m,n;return((l=k%4,l===l?l:$throwRuntimeError("integer divide by zero"))===0)&&(!(((m=k%100,m===m?m:$throwRuntimeError("integer divide by zero"))===0))||((n=k%400,n===n?n:$throwRuntimeError("integer divide by zero"))===0));};BM=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,u;n=0;o=0;if(l<0){q=(p=((-l-1>>0))/m,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))+1>>0;k=k-(q)>>0;l=l+(($imul(q,m)))>>0;}if(l>=m){s=(r=l/m,(r===r&&r!==1/0&&r!==-1/0)?r>>0:$throwRuntimeError("integer divide by zero"));k=k+(s)>>0;l=l-(($imul(s,m)))>>0;}t=k;u=l;n=t;o=u;return[n,o];};BN=function(k,l,m,n,o,p,q,r){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(r===EK.nil){$panic(new $String("time: missing Location in call to Date"));}s=((l>>0))-1>>0;t=BM(k,s,12);k=t[0];s=t[1];l=((s>>0))+1>>0;u=BM(p,q,1000000000);p=u[0];q=u[1];v=BM(o,p,60);o=v[0];p=v[1];w=BM(n,o,60);n=w[0];o=w[1];x=BM(m,n,24);m=x[0];n=x[1];y=BD(k);y=(z=(new $Uint64(0,(aa=l-1>>0,((aa<0||aa>=BB.length)?($throwRuntimeError("index out of range"),undefined):BB[aa])))),new $Uint64(y.$high+z.$high,y.$low+z.$low));if(BL(k)&&l>=3){y=(ab=new $Uint64(0,1),new $Uint64(y.$high+ab.$high,y.$low+ab.$low));}y=(ac=(new $Uint64(0,(m-1>>0))),new $Uint64(y.$high+ac.$high,y.$low+ac.$low));ad=$mul64(y,new $Uint64(0,86400));ad=(ae=(new $Uint64(0,((($imul(n,3600))+($imul(o,60))>>0)+p>>0))),new $Uint64(ad.$high+ae.$high,ad.$low+ae.$low));ag=(af=(new $Int64(ad.$high,ad.$low)),new $Int64(af.$high+-2147483647,af.$low+3844486912));ai=r.lookup(ag);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;aj=ah[1];ak=ah[2];al=ah[3];if(!((aj===0))){$s=2;continue;}$s=3;continue;case 2:an=(am=(new $Int64(0,aj)),new $Int64(ag.$high-am.$high,ag.$low-am.$low));if((an.$high<ak.$high||(an.$high===ak.$high&&an.$low<ak.$low))){$s=5;continue;}if((an.$high>al.$high||(an.$high===al.$high&&an.$low>=al.$low))){$s=6;continue;}$s=7;continue;case 5:ap=r.lookup(new $Int64(ak.$high-0,ak.$low-1));$s=8;case 8:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;aj=ao[1];$s=7;continue;case 6:ar=r.lookup(al);$s=9;case 9:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}aq=ar;aj=aq[1];case 7:case 4:ag=(as=(new $Int64(0,aj)),new $Int64(ag.$high-as.$high,ag.$low-as.$low));case 3:at=$clone(BH(ag,((q>>0))),AP);at.setLoc(r);$s=-1;return at;}return;}if($f===undefined){$f={$blk:BN};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Date=BN;AP.ptr.prototype.Truncate=function(k){var k,l,m,n;l=this;l.stripMono();if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BO($clone(l,AP),k);n=m[1];return $clone(l,AP).Add(new AU(-n.$high,-n.$low));};AP.prototype.Truncate=function(k){return this.$val.Truncate(k);};AP.ptr.prototype.Round=function(k){var k,l,m,n;l=this;l.stripMono();if((k.$high<0||(k.$high===0&&k.$low<=0))){return l;}m=BO($clone(l,AP),k);n=m[1];if(AX(n,k)){return $clone(l,AP).Add(new AU(-n.$high,-n.$low));}return $clone(l,AP).Add(new AU(k.$high-n.$high,k.$low-n.$low));};AP.prototype.Round=function(k){return this.$val.Round(k);};BO=function(k,l){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;m=0;n=new AU(0,0);o=false;p=k.nsec();q=k.sec();if((q.$high<0||(q.$high===0&&q.$low<0))){o=true;q=new $Int64(-q.$high,-q.$low);p=-p;if(p<0){p=p+(1000000000)>>0;q=(r=new $Int64(0,1),new $Int64(q.$high-r.$high,q.$low-r.$low));}}if((l.$high<0||(l.$high===0&&l.$low<1000000000))&&(s=$div64(new AU(0,1000000000),(new AU(l.$high+l.$high,l.$low+l.$low)),true),(s.$high===0&&s.$low===0))){m=(((u=p/(((l.$low+((l.$high>>31)*4294967296))>>0)),(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero"))>>0))&1;n=(new AU(0,(v=p%(((l.$low+((l.$high>>31)*4294967296))>>0)),v===v?v:$throwRuntimeError("integer divide by zero"))));}else if((t=$div64(l,new AU(0,1000000000),true),(t.$high===0&&t.$low===0))){x=((w=$div64(l,new AU(0,1000000000),false),new $Int64(w.$high,w.$low)));m=(((y=$div64(q,x,false),y.$low+((y.$high>>31)*4294967296))>>0))&1;n=(z=$mul64(((aa=$div64(q,x,true),new AU(aa.$high,aa.$low))),new AU(0,1000000000)),ab=(new AU(0,p)),new AU(z.$high+ab.$high,z.$low+ab.$low));}else{ac=(new $Uint64(q.$high,q.$low));ad=$mul64(($shiftRightUint64(ac,32)),new $Uint64(0,1000000000));ae=$shiftRightUint64(ad,32);af=$shiftLeft64(ad,32);ad=$mul64((new $Uint64(ac.$high&0,(ac.$low&4294967295)>>>0)),new $Uint64(0,1000000000));ag=af;ah=new $Uint64(af.$high+ad.$high,af.$low+ad.$low);ai=ag;af=ah;if((af.$high<ai.$high||(af.$high===ai.$high&&af.$low<ai.$low))){ae=(aj=new $Uint64(0,1),new $Uint64(ae.$high+aj.$high,ae.$low+aj.$low));}ak=af;al=(am=(new $Uint64(0,p)),new $Uint64(af.$high+am.$high,af.$low+am.$low));ai=ak;af=al;if((af.$high<ai.$high||(af.$high===ai.$high&&af.$low<ai.$low))){ae=(an=new $Uint64(0,1),new $Uint64(ae.$high+an.$high,ae.$low+an.$low));}ao=(new $Uint64(l.$high,l.$low));while(true){if(!(!((ap=$shiftRightUint64(ao,63),(ap.$high===0&&ap.$low===1))))){break;}ao=$shiftLeft64(ao,(1));}aq=new $Uint64(0,0);while(true){m=0;if((ae.$high>ao.$high||(ae.$high===ao.$high&&ae.$low>ao.$low))||(ae.$high===ao.$high&&ae.$low===ao.$low)&&(af.$high>aq.$high||(af.$high===aq.$high&&af.$low>=aq.$low))){m=1;ar=af;as=new $Uint64(af.$high-aq.$high,af.$low-aq.$low);ai=ar;af=as;if((af.$high>ai.$high||(af.$high===ai.$high&&af.$low>ai.$low))){ae=(at=new $Uint64(0,1),new $Uint64(ae.$high-at.$high,ae.$low-at.$low));}ae=(au=ao,new $Uint64(ae.$high-au.$high,ae.$low-au.$low));}if((ao.$high===0&&ao.$low===0)&&(av=(new $Uint64(l.$high,l.$low)),(aq.$high===av.$high&&aq.$low===av.$low))){break;}aq=$shiftRightUint64(aq,(1));aq=(aw=$shiftLeft64((new $Uint64(ao.$high&0,(ao.$low&1)>>>0)),63),new $Uint64(aq.$high|aw.$high,(aq.$low|aw.$low)>>>0));ao=$shiftRightUint64(ao,(1));}n=(new AU(af.$high,af.$low));}if(o&&!((n.$high===0&&n.$low===0))){m=(m^(1))>>0;n=new AU(l.$high-n.$high,l.$low-n.$low);}return[m,n];};CE=function(){var k,l,m,n,o,p;Z.name="Local";k=new W.ptr("",0,false);l=new($global.Date)();m=$imul(($parseInt(l.getTimezoneOffset())>>0),-1);k.offset=$imul(m,60);k.name="UTC";if(m<0){k.name=k.name+("-");m=$imul(m,(-1));}else{k.name=k.name+("+");}k.name=k.name+(CF((n=m/60,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"))));p=(o=m%60,o===o?o:$throwRuntimeError("integer divide by zero"));if(!((p===0))){k.name=k.name+(":"+CF(p));}Z.zone=new EE([$clone(k,W)]);};CF=function(k){var k;if(k<10){return $substring("0123456789",k,(k+1>>0));}return $substring("00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899",($imul(k,2)),(($imul(k,2))+2>>0));};CG=function(){$unused(BI(new $Int64(0,0),new $Int64(0,0)));};CS=function(k){var k,l;if(k.length===0){return false;}l=k.charCodeAt(0);return 97<=l&&l<=122;};CT=function(k){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,de,df,dg,dh,di,dj,dk,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l="";m=0;n="";o=0;while(true){if(!(o<k.length)){break;}p=((k.charCodeAt(o)>>0));q=p;if(q===(74)){if(k.length>=(o+3>>0)&&$substring(k,o,(o+3>>0))==="Jan"){if(k.length>=(o+7>>0)&&$substring(k,o,(o+7>>0))==="January"){r=$substring(k,0,o);s=257;t=$substring(k,(o+7>>0));l=r;m=s;n=t;return[l,m,n];}if(!CS($substring(k,(o+3>>0)))){u=$substring(k,0,o);v=258;w=$substring(k,(o+3>>0));l=u;m=v;n=w;return[l,m,n];}}}else if(q===(77)){if(k.length>=(o+3>>0)){if($substring(k,o,(o+3>>0))==="Mon"){if(k.length>=(o+6>>0)&&$substring(k,o,(o+6>>0))==="Monday"){x=$substring(k,0,o);y=261;z=$substring(k,(o+6>>0));l=x;m=y;n=z;return[l,m,n];}if(!CS($substring(k,(o+3>>0)))){aa=$substring(k,0,o);ab=262;ac=$substring(k,(o+3>>0));l=aa;m=ab;n=ac;return[l,m,n];}}if($substring(k,o,(o+3>>0))==="MST"){ad=$substring(k,0,o);ae=23;af=$substring(k,(o+3>>0));l=ad;m=ae;n=af;return[l,m,n];}}}else if(q===(48)){if(k.length>=(o+2>>0)&&49<=k.charCodeAt((o+1>>0))&&k.charCodeAt((o+1>>0))<=54){ag=$substring(k,0,o);ah=(ai=k.charCodeAt((o+1>>0))-49<<24>>>24,((ai<0||ai>=CR.length)?($throwRuntimeError("index out of range"),undefined):CR[ai]));aj=$substring(k,(o+2>>0));l=ag;m=ah;n=aj;return[l,m,n];}if(k.length>=(o+3>>0)&&(k.charCodeAt((o+1>>0))===48)&&(k.charCodeAt((o+2>>0))===50)){ak=$substring(k,0,o);al=267;am=$substring(k,(o+3>>0));l=ak;m=al;n=am;return[l,m,n];}}else if(q===(49)){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===53)){an=$substring(k,0,o);ao=524;ap=$substring(k,(o+2>>0));l=an;m=ao;n=ap;return[l,m,n];}aq=$substring(k,0,o);ar=259;as=$substring(k,(o+1>>0));l=aq;m=ar;n=as;return[l,m,n];}else if(q===(50)){if(k.length>=(o+4>>0)&&$substring(k,o,(o+4>>0))==="2006"){at=$substring(k,0,o);au=275;av=$substring(k,(o+4>>0));l=at;m=au;n=av;return[l,m,n];}aw=$substring(k,0,o);ax=263;ay=$substring(k,(o+1>>0));l=aw;m=ax;n=ay;return[l,m,n];}else if(q===(95)){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===50)){if(k.length>=(o+5>>0)&&$substring(k,(o+1>>0),(o+5>>0))==="2006"){az=$substring(k,0,(o+1>>0));ba=275;bb=$substring(k,(o+5>>0));l=az;m=ba;n=bb;return[l,m,n];}bc=$substring(k,0,o);bd=264;be=$substring(k,(o+2>>0));l=bc;m=bd;n=be;return[l,m,n];}if(k.length>=(o+3>>0)&&(k.charCodeAt((o+1>>0))===95)&&(k.charCodeAt((o+2>>0))===50)){bf=$substring(k,0,o);bg=266;bh=$substring(k,(o+3>>0));l=bf;m=bg;n=bh;return[l,m,n];}}else if(q===(51)){bi=$substring(k,0,o);bj=525;bk=$substring(k,(o+1>>0));l=bi;m=bj;n=bk;return[l,m,n];}else if(q===(52)){bl=$substring(k,0,o);bm=527;bn=$substring(k,(o+1>>0));l=bl;m=bm;n=bn;return[l,m,n];}else if(q===(53)){bo=$substring(k,0,o);bp=529;bq=$substring(k,(o+1>>0));l=bo;m=bp;n=bq;return[l,m,n];}else if(q===(80)){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===77)){br=$substring(k,0,o);bs=533;bt=$substring(k,(o+2>>0));l=br;m=bs;n=bt;return[l,m,n];}}else if(q===(112)){if(k.length>=(o+2>>0)&&(k.charCodeAt((o+1>>0))===109)){bu=$substring(k,0,o);bv=534;bw=$substring(k,(o+2>>0));l=bu;m=bv;n=bw;return[l,m,n];}}else if(q===(45)){if(k.length>=(o+7>>0)&&$substring(k,o,(o+7>>0))==="-070000"){bx=$substring(k,0,o);by=30;bz=$substring(k,(o+7>>0));l=bx;m=by;n=bz;return[l,m,n];}if(k.length>=(o+9>>0)&&$substring(k,o,(o+9>>0))==="-07:00:00"){ca=$substring(k,0,o);cb=33;cc=$substring(k,(o+9>>0));l=ca;m=cb;n=cc;return[l,m,n];}if(k.length>=(o+5>>0)&&$substring(k,o,(o+5>>0))==="-0700"){cd=$substring(k,0,o);ce=29;cf=$substring(k,(o+5>>0));l=cd;m=ce;n=cf;return[l,m,n];}if(k.length>=(o+6>>0)&&$substring(k,o,(o+6>>0))==="-07:00"){cg=$substring(k,0,o);ch=32;ci=$substring(k,(o+6>>0));l=cg;m=ch;n=ci;return[l,m,n];}if(k.length>=(o+3>>0)&&$substring(k,o,(o+3>>0))==="-07"){cj=$substring(k,0,o);ck=31;cl=$substring(k,(o+3>>0));l=cj;m=ck;n=cl;return[l,m,n];}}else if(q===(90)){if(k.length>=(o+7>>0)&&$substring(k,o,(o+7>>0))==="Z070000"){cm=$substring(k,0,o);cn=25;co=$substring(k,(o+7>>0));l=cm;m=cn;n=co;return[l,m,n];}if(k.length>=(o+9>>0)&&$substring(k,o,(o+9>>0))==="Z07:00:00"){cp=$substring(k,0,o);cq=28;cr=$substring(k,(o+9>>0));l=cp;m=cq;n=cr;return[l,m,n];}if(k.length>=(o+5>>0)&&$substring(k,o,(o+5>>0))==="Z0700"){cs=$substring(k,0,o);ct=24;cu=$substring(k,(o+5>>0));l=cs;m=ct;n=cu;return[l,m,n];}if(k.length>=(o+6>>0)&&$substring(k,o,(o+6>>0))==="Z07:00"){cv=$substring(k,0,o);cw=27;cx=$substring(k,(o+6>>0));l=cv;m=cw;n=cx;return[l,m,n];}if(k.length>=(o+3>>0)&&$substring(k,o,(o+3>>0))==="Z07"){cy=$substring(k,0,o);cz=26;da=$substring(k,(o+3>>0));l=cy;m=cz;n=da;return[l,m,n];}}else if((q===(46))||(q===(44))){if((o+1>>0)<k.length&&((k.charCodeAt((o+1>>0))===48)||(k.charCodeAt((o+1>>0))===57))){db=k.charCodeAt((o+1>>0));dc=o+1>>0;while(true){if(!(dc<k.length&&(k.charCodeAt(dc)===db))){break;}dc=dc+(1)>>0;}if(!DK(k,dc)){dd=34;if(k.charCodeAt((o+1>>0))===57){dd=35;}de=DD(dd,dc-((o+1>>0))>>0,p);df=$substring(k,0,o);dg=de;dh=$substring(k,dc);l=df;m=dg;n=dh;return[l,m,n];}}}o=o+(1)>>0;}di=k;dj=0;dk="";l=di;m=dj;n=dk;return[l,m,n];};CY=function(k,l){var k,l,m,n,o;m=0;while(true){if(!(m<k.length)){break;}n=k.charCodeAt(m);o=l.charCodeAt(m);if(!((n===o))){n=(n|(32))>>>0;o=(o|(32))>>>0;if(!((n===o))||n<97||n>122){return false;}}m=m+(1)>>0;}return true;};CZ=function(k,l){var k,l,m,n,o,p;m=k;n=0;while(true){if(!(n<m.$length)){break;}o=n;p=((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);if(l.length>=p.length&&CY($substring(l,0,p.length),p)){return[o,$substring(l,p.length),$ifaceNil];}n++;}return[-1,l,DH];};DA=function(k,l,m){var k,l,m,n,o,p,q,r,s;n=((l>>>0));if(l<0){k=$append(k,45);n=((-l>>>0));}o=ER.zero();p=20;while(true){if(!(n>=10)){break;}p=p-(1)>>0;r=(q=n/10,(q===q&&q!==1/0&&q!==-1/0)?q>>>0:$throwRuntimeError("integer divide by zero"));((p<0||p>=o.length)?($throwRuntimeError("index out of range"),undefined):o[p]=((((48+n>>>0)-(r*10>>>0)>>>0)<<24>>>24)));n=r;}p=p-(1)>>0;((p<0||p>=o.length)?($throwRuntimeError("index out of range"),undefined):o[p]=(((48+n>>>0)<<24>>>24)));s=20-p>>0;while(true){if(!(s<m)){break;}k=$append(k,48);s=s+(1)>>0;}return $appendSlice(k,$subslice(new EJ(o),p));};DC=function(k){var k,l,m,n,o,p,q,r,s,t,u;l=0;m=$ifaceNil;n=false;if(!(k==="")&&((k.charCodeAt(0)===45)||(k.charCodeAt(0)===43))){n=k.charCodeAt(0)===45;k=$substring(k,1);}o=DY(k);p=o[0];q=o[1];m=o[2];l=(((p.$low+((p.$high>>31)*4294967296))>>0));if(!($interfaceIsEqual(m,$ifaceNil))||!(q==="")){r=0;s=DB;l=r;m=s;return[l,m];}if(n){l=-l;}t=l;u=$ifaceNil;l=t;m=u;return[l,m];};DD=function(k,l,m){var k,l,m;if(m===46){return k|((((l&4095))<<16>>0));}return(k|((((l&4095))<<16>>0)))|268435456;};DE=function(k){var k;return((k>>16>>0))&4095;};DF=function(k){var k;if(((k>>28>>0))===0){return 46;}return 44;};DG=function(k,l,m){var k,l,m,n,o,p,q,r,s,t,u,v;n=DE(m);o=DF(m);p=(m&65535)===35;q=l;r=ES.zero();s=9;while(true){if(!(s>0)){break;}s=s-(1)>>0;((s<0||s>=r.length)?($throwRuntimeError("index out of range"),undefined):r[s]=((((t=q%10,t===t?t:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24)));q=(u=q/(10),(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero"));}if(n>9){n=9;}if(p){while(true){if(!(n>0&&((v=n-1>>0,((v<0||v>=r.length)?($throwRuntimeError("index out of range"),undefined):r[v]))===48))){break;}n=n-(1)>>0;}if(n===0){return k;}}k=$append(k,o);return $appendSlice(k,$subslice(new EJ(r),0,n));};AP.ptr.prototype.String=function(){var aa,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=$clone(k,AP).Format("2006-01-02 15:04:05.999999999 -0700 MST");$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(!((n=(o=k.wall,new $Uint64(o.$high&2147483648,(o.$low&0)>>>0)),(n.$high===0&&n.$low===0)))){q=((p=k.ext,new $Uint64(p.$high,p.$low)));r=43;if((s=k.ext,(s.$high<0||(s.$high===0&&s.$low<0)))){r=45;q=new $Uint64(-q.$high,-q.$low);}t=$div64(q,new $Uint64(0,1000000000),false);u=$div64(q,new $Uint64(0,1000000000),true);v=t;q=u;w=$div64(v,new $Uint64(0,1000000000),false);x=$div64(v,new $Uint64(0,1000000000),true);y=w;v=x;z=EJ.nil;z=$appendSlice(z," m=");z=$append(z,r);aa=0;if(!((y.$high===0&&y.$low===0))){z=DA(z,((y.$low>>0)),0);aa=9;}z=DA(z,((v.$low>>0)),aa);z=$append(z,46);z=DA(z,((q.$low>>0)),9);m=m+(($bytesToString(z)));}$s=-1;return m;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.String};}$f.aa=aa;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.String=function(){return this.$val.String();};AP.ptr.prototype.GoString=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;l=(new EJ($stringToBytes("time.Date(")));m=l;n=$clone(k,AP).Year();$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;p=DA(m,o,0);$s=2;case 2:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}l=p;q=$clone(k,AP).Month();$s=3;case 3:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;if(1<=r&&r<=12){$s=4;continue;}$s=5;continue;case 4:l=$appendSlice(l,", time.");s=l;t=$clone(k,AP).Month();$s=7;case 7:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=new AQ(t).String();$s=8;case 8:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;l=$appendSlice(s,v);$s=6;continue;case 5:l=DA(l,((r>>0)),0);case 6:l=$appendSlice(l,", ");w=l;x=$clone(k,AP).Day();$s=9;case 9:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;z=DA(w,y,0);$s=10;case 10:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}l=z;l=$appendSlice(l,", ");aa=l;ab=$clone(k,AP).Hour();$s=11;case 11:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;ad=DA(aa,ac,0);$s=12;case 12:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}l=ad;l=$appendSlice(l,", ");ae=l;af=$clone(k,AP).Minute();$s=13;case 13:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;ah=DA(ae,ag,0);$s=14;case 14:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}l=ah;l=$appendSlice(l,", ");ai=l;aj=$clone(k,AP).Second();$s=15;case 15:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj;al=DA(ai,ak,0);$s=16;case 16:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}l=al;l=$appendSlice(l,", ");l=DA(l,$clone(k,AP).Nanosecond(),0);l=$appendSlice(l,", ");am=$clone(k,AP).Location();an=am;if(an===($pkg.UTC)||an===EK.nil){l=$appendSlice(l,"time.UTC");}else if(an===($pkg.Local)){l=$appendSlice(l,"time.Local");}else{l=$appendSlice(l,"time.Location(");l=$appendSlice(l,(new EJ($stringToBytes(DJ(am.name)))));l=$appendSlice(l,")");}l=$append(l,41);$s=-1;return($bytesToString(l));}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.GoString};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.GoString=function(){return this.$val.GoString();};AP.ptr.prototype.Format=function(k){var k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;m=EJ.nil;n=k.length+10>>0;if(n<64){o=ET.zero();m=$subslice(new EJ(o),0,0);}else{m=$makeSlice(EJ,0,n);}p=$clone(l,AP).AppendFormat(m,k);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}m=p;$s=-1;return($bytesToString(m));}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.Format};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.Format=function(k){return this.$val.Format(k);};AP.ptr.prototype.AppendFormat=function(k,l){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=this;o=$clone(m,AP).locabs();$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[1];r=n[2];s=-1;t=0;u=0;v=0;w=-1;x=0;y=0;while(true){if(!(!(l===""))){break;}z=CT(l);aa=z[0];ab=z[1];ac=z[2];if(!(aa==="")){k=$appendSlice(k,aa);}if(ab===0){break;}l=ac;if(s<0&&!(((ab&256)===0))){ad=BA(r,true);s=ad[0];t=ad[1];u=ad[2];v=ad[3];v=v+(1)>>0;}if(w<0&&!(((ab&512)===0))){ae=AT(r);w=ae[0];x=ae[1];y=ae[2];}switch(0){default:af=ab&65535;if(af===(276)){ag=s;if(ag<0){ag=-ag;}k=DA(k,(ah=ag%100,ah===ah?ah:$throwRuntimeError("integer divide by zero")),2);}else if(af===(275)){k=DA(k,s,4);}else if(af===(258)){k=$appendSlice(k,$substring(new AQ(t).String(),0,3));}else if(af===(257)){ai=new AQ(t).String();k=$appendSlice(k,ai);}else if(af===(259)){k=DA(k,((t>>0)),0);}else if(af===(260)){k=DA(k,((t>>0)),2);}else if(af===(262)){k=$appendSlice(k,$substring(new AR(AS(r)).String(),0,3));}else if(af===(261)){aj=new AR(AS(r)).String();k=$appendSlice(k,aj);}else if(af===(263)){k=DA(k,u,0);}else if(af===(264)){if(u<10){k=$append(k,32);}k=DA(k,u,0);}else if(af===(265)){k=DA(k,u,2);}else if(af===(266)){if(v<100){k=$append(k,32);if(v<10){k=$append(k,32);}}k=DA(k,v,0);}else if(af===(267)){k=DA(k,v,3);}else if(af===(524)){k=DA(k,w,2);}else if(af===(525)){al=(ak=w%12,ak===ak?ak:$throwRuntimeError("integer divide by zero"));if(al===0){al=12;}k=DA(k,al,0);}else if(af===(526)){an=(am=w%12,am===am?am:$throwRuntimeError("integer divide by zero"));if(an===0){an=12;}k=DA(k,an,2);}else if(af===(527)){k=DA(k,x,0);}else if(af===(528)){k=DA(k,x,2);}else if(af===(529)){k=DA(k,y,0);}else if(af===(530)){k=DA(k,y,2);}else if(af===(533)){if(w>=12){k=$appendSlice(k,"PM");}else{k=$appendSlice(k,"AM");}}else if(af===(534)){if(w>=12){k=$appendSlice(k,"pm");}else{k=$appendSlice(k,"am");}}else if((af===(24))||(af===(27))||(af===(25))||(af===(26))||(af===(28))||(af===(29))||(af===(32))||(af===(30))||(af===(31))||(af===(33))){if((q===0)&&((ab===24)||(ab===27)||(ab===25)||(ab===26)||(ab===28))){k=$append(k,90);break;}ap=(ao=q/60,(ao===ao&&ao!==1/0&&ao!==-1/0)?ao>>0:$throwRuntimeError("integer divide by zero"));aq=q;if(ap<0){k=$append(k,45);ap=-ap;aq=-aq;}else{k=$append(k,43);}k=DA(k,(ar=ap/60,(ar===ar&&ar!==1/0&&ar!==-1/0)?ar>>0:$throwRuntimeError("integer divide by zero")),2);if((ab===27)||(ab===32)||(ab===28)||(ab===33)){k=$append(k,58);}if(!((ab===31))&&!((ab===26))){k=DA(k,(as=ap%60,as===as?as:$throwRuntimeError("integer divide by zero")),2);}if((ab===25)||(ab===30)||(ab===33)||(ab===28)){if((ab===33)||(ab===28)){k=$append(k,58);}k=DA(k,(at=aq%60,at===at?at:$throwRuntimeError("integer divide by zero")),2);}}else if(af===(23)){if(!(p==="")){k=$appendSlice(k,p);break;}av=(au=q/60,(au===au&&au!==1/0&&au!==-1/0)?au>>0:$throwRuntimeError("integer divide by zero"));if(av<0){k=$append(k,45);av=-av;}else{k=$append(k,43);}k=DA(k,(aw=av/60,(aw===aw&&aw!==1/0&&aw!==-1/0)?aw>>0:$throwRuntimeError("integer divide by zero")),2);k=DA(k,(ax=av%60,ax===ax?ax:$throwRuntimeError("integer divide by zero")),2);}else if((af===(34))||(af===(35))){k=DG(k,(($clone(m,AP).Nanosecond()>>>0)),ab);}}}$s=-1;return k;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.AppendFormat};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.AppendFormat=function(k,l){return this.$val.AppendFormat(k,l);};DJ=function(k){var k,l,m,n,o,p,q,r,s;l=$makeSlice(EJ,1,(k.length+2>>0));(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0]=34);m=k;n=0;while(true){if(!(n<m.length)){break;}o=$decodeRune(m,n);p=n;q=o[0];if(q>=128||q<32){r=0;if(q===65533){r=1;if((p+2>>0)<k.length&&$substring(k,p,(p+3>>0))==="\xEF\xBF\xBD"){r=3;}}else{r=($encodeRune(q)).length;}s=0;while(true){if(!(s<r)){break;}l=$appendSlice(l,"\\x");l=$append(l,"0123456789abcdef".charCodeAt((k.charCodeAt((p+s>>0))>>>4<<24>>>24)));l=$append(l,"0123456789abcdef".charCodeAt(((k.charCodeAt((p+s>>0))&15)>>>0)));s=s+(1)>>0;}}else{if((q===34)||(q===92)){l=$append(l,92);}l=$appendSlice(l,($encodeRune(q)));}n+=o[1];}l=$append(l,34);return($bytesToString(l));};DI.ptr.prototype.Error=function(){var k;k=this;if(k.Message===""){return"parsing time "+DJ(k.Value)+" as "+DJ(k.Layout)+": cannot parse "+DJ(k.ValueElem)+" as "+DJ(k.LayoutElem);}return"parsing time "+DJ(k.Value)+k.Message;};DI.prototype.Error=function(){return this.$val.Error();};DK=function(k,l){var k,l,m;if(k.length<=l){return false;}m=k.charCodeAt(l);return 48<=m&&m<=57;};DL=function(k,l){var k,l;if(!DK(k,0)){return[0,k,DH];}if(!DK(k,1)){if(l){return[0,k,DH];}return[(((k.charCodeAt(0)-48<<24>>>24)>>0)),$substring(k,1),$ifaceNil];}return[($imul((((k.charCodeAt(0)-48<<24>>>24)>>0)),10))+(((k.charCodeAt(1)-48<<24>>>24)>>0))>>0,$substring(k,2),$ifaceNil];};DM=function(k,l){var k,l,m,n,o,p;m=0;n=0;o=m;p=n;p=0;while(true){if(!(p<3&&DK(k,p))){break;}o=($imul(o,10))+(((k.charCodeAt(p)-48<<24>>>24)>>0))>>0;p=p+(1)>>0;}if((p===0)||l&&!((p===3))){return[0,k,DH];}return[o,$substring(k,p),$ifaceNil];};DN=function(k){var k;while(true){if(!(k.length>0&&(k.charCodeAt(0)===32))){break;}k=$substring(k,1);}return k;};DO=function(k,l){var k,l;while(true){if(!(l.length>0)){break;}if(l.charCodeAt(0)===32){if(k.length>0&&!((k.charCodeAt(0)===32))){return[k,DH];}l=DN(l);k=DN(k);continue;}if((k.length===0)||!((k.charCodeAt(0)===l.charCodeAt(0)))){return[k,DH];}l=$substring(l,1);k=$substring(k,1);}return[k,$ifaceNil];};DP=function(k,l){var k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=DR(k,l,$pkg.UTC,$pkg.Local);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=2;case 2:return n;}return;}if($f===undefined){$f={$blk:DP};}$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Parse=DP;DR=function(k,l,m,n){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,dp,dq,dr,ds,dt,du,dv,dw,dx,dy,dz,ea,eb,ec,ed,ee,ef,eg,eh,ei,ej,ek,el,em,en,eo,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;cr=$f.cr;cs=$f.cs;ct=$f.ct;cu=$f.cu;cv=$f.cv;cw=$f.cw;cx=$f.cx;cy=$f.cy;cz=$f.cz;da=$f.da;db=$f.db;dc=$f.dc;dd=$f.dd;de=$f.de;df=$f.df;dg=$f.dg;dh=$f.dh;di=$f.di;dj=$f.dj;dk=$f.dk;dl=$f.dl;dm=$f.dm;dn=$f.dn;dp=$f.dp;dq=$f.dq;dr=$f.dr;ds=$f.ds;dt=$f.dt;du=$f.du;dv=$f.dv;dw=$f.dw;dx=$f.dx;dy=$f.dy;dz=$f.dz;ea=$f.ea;eb=$f.eb;ec=$f.ec;ed=$f.ed;ee=$f.ee;ef=$f.ef;eg=$f.eg;eh=$f.eh;ei=$f.ei;ej=$f.ej;ek=$f.ek;el=$f.el;em=$f.em;en=$f.en;eo=$f.eo;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=k;p=l;q=o;r=p;s="";t=false;u=false;v=0;w=-1;x=-1;y=-1;z=0;aa=0;ab=0;ac=0;ad=EK.nil;ae=-1;af="";while(true){ag=$ifaceNil;ah=CT(k);ai=ah[0];aj=ah[1];ak=ah[2];al=$substring(k,ai.length,(k.length-ak.length>>0));am=DO(l,ai);l=am[0];ag=am[1];if(!($interfaceIsEqual(ag,$ifaceNil))){$s=-1;return[new AP.ptr(new $Uint64(0,0),new $Int64(0,0),EK.nil),new DI.ptr(q,r,ai,l,"")];}if(aj===0){if(!((l.length===0))){$s=-1;return[new AP.ptr(new $Uint64(0,0),new $Int64(0,0),EK.nil),new DI.ptr(q,r,"",l,": extra text: "+DJ(l))];}break;}k=ak;an="";switch(0){default:ao=aj&65535;if(ao===(276)){if(l.length<2){ag=DH;break;}ap=l;aq=$substring(l,0,2);ar=$substring(l,2);an=aq;l=ar;as=DC(an);v=as[0];ag=as[1];if(!($interfaceIsEqual(ag,$ifaceNil))){l=ap;}else if(v>=69){v=v+(1900)>>0;}else{v=v+(2000)>>0;}}else if(ao===(275)){if(l.length<4||!DK(l,0)){ag=DH;break;}at=$substring(l,0,4);au=$substring(l,4);an=at;l=au;av=DC(an);v=av[0];ag=av[1];}else if(ao===(258)){aw=CZ(CW,l);w=aw[0];l=aw[1];ag=aw[2];w=w+(1)>>0;}else if(ao===(257)){ax=CZ(CX,l);w=ax[0];l=ax[1];ag=ax[2];w=w+(1)>>0;}else if((ao===(259))||(ao===(260))){ay=DL(l,aj===260);w=ay[0];l=ay[1];ag=ay[2];if($interfaceIsEqual(ag,$ifaceNil)&&(w<=0||12<w)){s="month";}}else if(ao===(262)){az=CZ(CV,l);l=az[1];ag=az[2];}else if(ao===(261)){ba=CZ(CU,l);l=ba[1];ag=ba[2];}else if((ao===(263))||(ao===(264))||(ao===(265))){if((aj===264)&&l.length>0&&(l.charCodeAt(0)===32)){l=$substring(l,1);}bb=DL(l,aj===265);x=bb[0];l=bb[1];ag=bb[2];}else if((ao===(266))||(ao===(267))){bc=0;while(true){if(!(bc<2)){break;}if((aj===266)&&l.length>0&&(l.charCodeAt(0)===32)){l=$substring(l,1);}bc=bc+(1)>>0;}bd=DM(l,aj===267);y=bd[0];l=bd[1];ag=bd[2];}else if(ao===(524)){be=DL(l,false);z=be[0];l=be[1];ag=be[2];if(z<0||24<=z){s="hour";}}else if((ao===(525))||(ao===(526))){bf=DL(l,aj===526);z=bf[0];l=bf[1];ag=bf[2];if(z<0||12<z){s="hour";}}else if((ao===(527))||(ao===(528))){bg=DL(l,aj===528);aa=bg[0];l=bg[1];ag=bg[2];if(aa<0||60<=aa){s="minute";}}else if((ao===(529))||(ao===(530))){bh=DL(l,aj===530);ab=bh[0];l=bh[1];ag=bh[2];if(ab<0||60<=ab){s="second";break;}if(l.length>=2&&DV(l.charCodeAt(0))&&DK(l,1)){bi=CT(k);aj=bi[1];aj=aj&(65535);if((aj===34)||(aj===35)){break;}bj=2;while(true){if(!(bj<l.length&&DK(l,bj))){break;}bj=bj+(1)>>0;}bk=DW(l,bj);ac=bk[0];s=bk[1];ag=bk[2];l=$substring(l,bj);}}else if(ao===(533)){if(l.length<2){ag=DH;break;}bl=$substring(l,0,2);bm=$substring(l,2);an=bl;l=bm;bn=an;if(bn===("PM")){u=true;}else if(bn===("AM")){t=true;}else{ag=DH;}}else if(ao===(534)){if(l.length<2){ag=DH;break;}bo=$substring(l,0,2);bp=$substring(l,2);an=bo;l=bp;bq=an;if(bq===("pm")){u=true;}else if(bq===("am")){t=true;}else{ag=DH;}}else if((ao===(24))||(ao===(27))||(ao===(25))||(ao===(26))||(ao===(28))||(ao===(29))||(ao===(31))||(ao===(32))||(ao===(30))||(ao===(33))){if(((aj===24)||(aj===26)||(aj===27))&&l.length>=1&&(l.charCodeAt(0)===90)){l=$substring(l,1);ad=$pkg.UTC;break;}br="";bs="";bt="";bu="";bv=br;bw=bs;bx=bt;by=bu;if((aj===27)||(aj===32)){if(l.length<6){ag=DH;break;}if(!((l.charCodeAt(3)===58))){ag=DH;break;}bz=$substring(l,0,1);ca=$substring(l,1,3);cb=$substring(l,4,6);cc="00";cd=$substring(l,6);bv=bz;bw=ca;bx=cb;by=cc;l=cd;}else if((aj===31)||(aj===26)){if(l.length<3){ag=DH;break;}ce=$substring(l,0,1);cf=$substring(l,1,3);cg="00";ch="00";ci=$substring(l,3);bv=ce;bw=cf;bx=cg;by=ch;l=ci;}else if((aj===28)||(aj===33)){if(l.length<9){ag=DH;break;}if(!((l.charCodeAt(3)===58))||!((l.charCodeAt(6)===58))){ag=DH;break;}cj=$substring(l,0,1);ck=$substring(l,1,3);cl=$substring(l,4,6);cm=$substring(l,7,9);cn=$substring(l,9);bv=cj;bw=ck;bx=cl;by=cm;l=cn;}else if((aj===25)||(aj===30)){if(l.length<7){ag=DH;break;}co=$substring(l,0,1);cp=$substring(l,1,3);cq=$substring(l,3,5);cr=$substring(l,5,7);cs=$substring(l,7);bv=co;bw=cp;bx=cq;by=cr;l=cs;}else{if(l.length<5){ag=DH;break;}ct=$substring(l,0,1);cu=$substring(l,1,3);cv=$substring(l,3,5);cw="00";cx=$substring(l,5);bv=ct;bw=cu;bx=cv;by=cw;l=cx;}cy=0;cz=0;da=0;db=cy;dc=cz;dd=da;de=DC(bw);db=de[0];ag=de[1];if($interfaceIsEqual(ag,$ifaceNil)){df=DC(bx);dc=df[0];ag=df[1];}if($interfaceIsEqual(ag,$ifaceNil)){dg=DC(by);dd=dg[0];ag=dg[1];}ae=($imul(((($imul(db,60))+dc>>0)),60))+dd>>0;dh=bv.charCodeAt(0);if(dh===(43)){}else if(dh===(45)){ae=-ae;}else{ag=DH;}}else if(ao===(23)){if(l.length>=3&&$substring(l,0,3)==="UTC"){ad=$pkg.UTC;l=$substring(l,3);break;}di=DS(l);dj=di[0];dk=di[1];if(!dk){ag=DH;break;}dl=$substring(l,0,dj);dm=$substring(l,dj);af=dl;l=dm;}else if(ao===(34)){dn=1+DE(aj)>>0;if(l.length<dn){ag=DH;break;}dp=DW(l,dn);ac=dp[0];s=dp[1];ag=dp[2];l=$substring(l,dn);}else if(ao===(35)){if(l.length<2||!DV(l.charCodeAt(0))||l.charCodeAt(1)<48||57<l.charCodeAt(1)){break;}dq=0;while(true){if(!(dq<9&&(dq+1>>0)<l.length&&48<=l.charCodeAt((dq+1>>0))&&l.charCodeAt((dq+1>>0))<=57)){break;}dq=dq+(1)>>0;}dr=DW(l,1+dq>>0);ac=dr[0];s=dr[1];ag=dr[2];l=$substring(l,(1+dq>>0));}}if(!(s==="")){$s=-1;return[new AP.ptr(new $Uint64(0,0),new $Int64(0,0),EK.nil),new DI.ptr(q,r,al,l,": "+s+" out of range")];}if(!($interfaceIsEqual(ag,$ifaceNil))){$s=-1;return[new AP.ptr(new $Uint64(0,0),new $Int64(0,0),EK.nil),new DI.ptr(q,r,al,l,"")];}}if(u&&z<12){z=z+(12)>>0;}else if(t&&(z===12)){z=0;}if(y>=0){ds=0;dt=0;if(BL(v)){if(y===60){dt=2;ds=29;}else if(y>60){y=y-(1)>>0;}}if(y<1||y>365){$s=-1;return[new AP.ptr(new $Uint64(0,0),new $Int64(0,0),EK.nil),new DI.ptr(q,r,"",l,": day-of-year out of range")];}if(dt===0){dt=(du=((y-1>>0))/31,(du===du&&du!==1/0&&du!==-1/0)?du>>0:$throwRuntimeError("integer divide by zero"))+1>>0;if(((((dt<0||dt>=BB.length)?($throwRuntimeError("index out of range"),undefined):BB[dt])>>0))<y){dt=dt+(1)>>0;}ds=y-(((dv=dt-1>>0,((dv<0||dv>=BB.length)?($throwRuntimeError("index out of range"),undefined):BB[dv]))>>0))>>0;}if(w>=0&&!((w===dt))){$s=-1;return[new AP.ptr(new $Uint64(0,0),new $Int64(0,0),EK.nil),new DI.ptr(q,r,"",l,": day-of-year does not match month")];}w=dt;if(x>=0&&!((x===ds))){$s=-1;return[new AP.ptr(new $Uint64(0,0),new $Int64(0,0),EK.nil),new DI.ptr(q,r,"",l,": day-of-year does not match day")];}x=ds;}else{if(w<0){w=1;}if(x<0){x=1;}}if(x<1||x>BC(((w>>0)),v)){$s=-1;return[new AP.ptr(new $Uint64(0,0),new $Int64(0,0),EK.nil),new DI.ptr(q,r,"",l,": day out of range")];}if(!(ad===EK.nil)){$s=1;continue;}$s=2;continue;case 1:dw=BN(v,((w>>0)),x,z,aa,ab,ac,ad);$s=3;case 3:if($c){$c=false;dw=dw.$blk();}if(dw&&dw.$blk!==undefined){break s;}dx=[dw,$ifaceNil];$s=4;case 4:return dx;case 2:if(!((ae===-1))){$s=5;continue;}$s=6;continue;case 5:dy=BN(v,((w>>0)),x,z,aa,ab,ac,$pkg.UTC);$s=7;case 7:if($c){$c=false;dy=dy.$blk();}if(dy&&dy.$blk!==undefined){break s;}dz=$clone(dy,AP);dz.addSec((ea=(new $Int64(0,ae)),new $Int64(-ea.$high,-ea.$low)));ec=n.lookup(dz.unixSec());$s=8;case 8:if($c){$c=false;ec=ec.$blk();}if(ec&&ec.$blk!==undefined){break s;}eb=ec;ed=eb[0];ee=eb[1];if((ee===ae)&&(af===""||ed===af)){dz.setLoc(n);$s=-1;return[dz,$ifaceNil];}dz.setLoc(AB(af,ae));$s=-1;return[dz,$ifaceNil];case 6:if(!(af==="")){$s=9;continue;}$s=10;continue;case 9:ef=BN(v,((w>>0)),x,z,aa,ab,ac,$pkg.UTC);$s=11;case 11:if($c){$c=false;ef=ef.$blk();}if(ef&&ef.$blk!==undefined){break s;}eg=$clone(ef,AP);ei=n.lookupName(af,eg.unixSec());$s=12;case 12:if($c){$c=false;ei=ei.$blk();}if(ei&&ei.$blk!==undefined){break s;}eh=ei;ej=eh[0];ek=eh[1];if(ek){eg.addSec((el=(new $Int64(0,ej)),new $Int64(-el.$high,-el.$low)));eg.setLoc(n);$s=-1;return[eg,$ifaceNil];}if(af.length>3&&$substring(af,0,3)==="GMT"){em=DC($substring(af,3));ej=em[0];ej=$imul(ej,(3600));}eg.setLoc(AB(af,ej));$s=-1;return[eg,$ifaceNil];case 10:en=BN(v,((w>>0)),x,z,aa,ab,ac,m);$s=13;case 13:if($c){$c=false;en=en.$blk();}if(en&&en.$blk!==undefined){break s;}eo=[en,$ifaceNil];$s=14;case 14:return eo;}return;}if($f===undefined){$f={$blk:DR};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.cr=cr;$f.cs=cs;$f.ct=ct;$f.cu=cu;$f.cv=cv;$f.cw=cw;$f.cx=cx;$f.cy=cy;$f.cz=cz;$f.da=da;$f.db=db;$f.dc=dc;$f.dd=dd;$f.de=de;$f.df=df;$f.dg=dg;$f.dh=dh;$f.di=di;$f.dj=dj;$f.dk=dk;$f.dl=dl;$f.dm=dm;$f.dn=dn;$f.dp=dp;$f.dq=dq;$f.dr=dr;$f.ds=ds;$f.dt=dt;$f.du=du;$f.dv=dv;$f.dw=dw;$f.dx=dx;$f.dy=dy;$f.dz=dz;$f.ea=ea;$f.eb=eb;$f.ec=ec;$f.ed=ed;$f.ee=ee;$f.ef=ef;$f.eg=eg;$f.eh=eh;$f.ei=ei;$f.ej=ej;$f.ek=ek;$f.el=el;$f.em=em;$f.en=en;$f.eo=eo;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DS=function(k){var aa,ab,ac,ad,ae,af,ag,ah,ai,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=0;m=false;if(k.length<3){n=0;o=false;l=n;m=o;return[l,m];}if(k.length>=4&&($substring(k,0,4)==="ChST"||$substring(k,0,4)==="MeST")){p=4;q=true;l=p;m=q;return[l,m];}if($substring(k,0,3)==="GMT"){l=DT(k);r=l;s=true;l=r;m=s;return[l,m];}if((k.charCodeAt(0)===43)||(k.charCodeAt(0)===45)){l=DU(k);t=l>0;u=l;v=t;l=u;m=v;return[l,m];}w=0;w=0;while(true){if(!(w<6)){break;}if(w>=k.length){break;}x=k.charCodeAt(w);if(x<65||90<x){break;}w=w+(1)>>0;}y=w;if((y===(0))||(y===(1))||(y===(2))||(y===(6))){z=0;aa=false;l=z;m=aa;return[l,m];}else if(y===(5)){if(k.charCodeAt(4)===84){ab=5;ac=true;l=ab;m=ac;return[l,m];}}else if(y===(4)){if((k.charCodeAt(3)===84)||$substring(k,0,4)==="WITA"){ad=4;ae=true;l=ad;m=ae;return[l,m];}}else if(y===(3)){af=3;ag=true;l=af;m=ag;return[l,m];}ah=0;ai=false;l=ah;m=ai;return[l,m];};DT=function(k){var k;k=$substring(k,3);if(k.length===0){return 3;}return 3+DU(k)>>0;};DU=function(k){var k,l,m,n,o,p;l=k.charCodeAt(0);if(!((l===45))&&!((l===43))){return 0;}m=DY($substring(k,1));n=m[0];o=m[1];p=m[2];if(!($interfaceIsEqual(p,$ifaceNil))||$substring(k,1)===o){return 0;}if(l===45){n=new $Int64(-n.$high,-n.$low);}if((n.$high<-1||(n.$high===-1&&n.$low<4294967273))||(0<n.$high||(0===n.$high&&23<n.$low))){return 0;}return k.length-o.length>>0;};DV=function(k){var k;return(k===46)||(k===44);};DW=function(k,l){var k,l,m,n,o,p,q,r;m=0;n="";o=$ifaceNil;if(!DV(k.charCodeAt(0))){o=DH;return[m,n,o];}p=DC($substring(k,1,l));m=p[0];o=p[1];if(!($interfaceIsEqual(o,$ifaceNil))){return[m,n,o];}if(m<0||1000000000<=m){n="fractional second";return[m,n,o];}q=10-l>>0;r=0;while(true){if(!(r<q)){break;}m=$imul(m,(10));r=r+(1)>>0;}return[m,n,o];};DY=function(k){var aa,ab,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=new $Int64(0,0);m="";n=$ifaceNil;o=0;while(true){if(!(o<k.length)){break;}p=k.charCodeAt(o);if(p<48||p>57){break;}if((l.$high>214748364||(l.$high===214748364&&l.$low>3435973836))){q=new $Int64(0,0);r="";s=DX;l=q;m=r;n=s;return[l,m,n];}l=(t=(u=$mul64(l,new $Int64(0,10)),v=(new $Int64(0,p)),new $Int64(u.$high+v.$high,u.$low+v.$low)),new $Int64(t.$high-0,t.$low-48));if((l.$high<0||(l.$high===0&&l.$low<0))){w=new $Int64(0,0);x="";y=DX;l=w;m=x;n=y;return[l,m,n];}o=o+(1)>>0;}z=l;aa=$substring(k,o);ab=$ifaceNil;l=z;m=aa;n=ab;return[l,m,n];};DZ=function(k){var k,l,m,n,o,p,q,r,s,t,u,v,w,x;l=new $Int64(0,0);m=0;n="";o=0;m=1;p=false;while(true){if(!(o<k.length)){break;}q=k.charCodeAt(o);if(q<48||q>57){break;}if(p){o=o+(1)>>0;continue;}if((l.$high>214748364||(l.$high===214748364&&l.$low>3435973836))){p=true;o=o+(1)>>0;continue;}u=(r=(s=$mul64(l,new $Int64(0,10)),t=(new $Int64(0,q)),new $Int64(s.$high+t.$high,s.$low+t.$low)),new $Int64(r.$high-0,r.$low-48));if((u.$high<0||(u.$high===0&&u.$low<0))){p=true;o=o+(1)>>0;continue;}l=u;m=m*(10);o=o+(1)>>0;}v=l;w=m;x=$substring(k,o);l=v;m=w;n=x;return[l,m,n];};EB=function(k){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=k;m=new $Int64(0,0);n=false;if(!(k==="")){o=k.charCodeAt(0);if((o===45)||(o===43)){n=o===45;k=$substring(k,1);}}if(k==="0"){return[new AU(0,0),$ifaceNil];}if(k===""){return[new AU(0,0),C.New("time: invalid duration "+DJ(l))];}while(true){if(!(!(k===""))){break;}p=new $Int64(0,0);q=new $Int64(0,0);r=p;s=q;t=1;u=$ifaceNil;if(!((k.charCodeAt(0)===46)||48<=k.charCodeAt(0)&&k.charCodeAt(0)<=57)){return[new AU(0,0),C.New("time: invalid duration "+DJ(l))];}v=k.length;w=DY(k);r=w[0];k=w[1];u=w[2];if(!($interfaceIsEqual(u,$ifaceNil))){return[new AU(0,0),C.New("time: invalid duration "+DJ(l))];}x=!((v===k.length));y=false;if(!(k==="")&&(k.charCodeAt(0)===46)){k=$substring(k,1);z=k.length;aa=DZ(k);s=aa[0];t=aa[1];k=aa[2];y=!((z===k.length));}if(!x&&!y){return[new AU(0,0),C.New("time: invalid duration "+DJ(l))];}ab=0;while(true){if(!(ab<k.length)){break;}ac=k.charCodeAt(ab);if((ac===46)||48<=ac&&ac<=57){break;}ab=ab+(1)>>0;}if(ab===0){return[new AU(0,0),C.New("time: missing unit in duration "+DJ(l))];}ad=$substring(k,0,ab);k=$substring(k,ab);ae=(af=EA[$String.keyFor(ad)],af!==undefined?[af.v,true]:[new $Int64(0,0),false]);ag=ae[0];ah=ae[1];if(!ah){return[new AU(0,0),C.New("time: unknown unit "+DJ(ad)+" in duration "+DJ(l))];}if((ai=$div64(new $Int64(2147483647,4294967295),ag,false),(r.$high>ai.$high||(r.$high===ai.$high&&r.$low>ai.$low)))){return[new AU(0,0),C.New("time: invalid duration "+DJ(l))];}r=$mul64(r,(ag));if((s.$high>0||(s.$high===0&&s.$low>0))){r=(aj=(new $Int64(0,($flatten64(s))*(($flatten64(ag))/t))),new $Int64(r.$high+aj.$high,r.$low+aj.$low));if((r.$high<0||(r.$high===0&&r.$low<0))){return[new AU(0,0),C.New("time: invalid duration "+DJ(l))];}}m=(ak=r,new $Int64(m.$high+ak.$high,m.$low+ak.$low));if((m.$high<0||(m.$high===0&&m.$low<0))){return[new AU(0,0),C.New("time: invalid duration "+DJ(l))];}}if(n){m=new $Int64(-m.$high,-m.$low);}return[(new AU(m.$high,m.$low)),$ifaceNil];};$pkg.ParseDuration=EB;EK.methods=[{prop:"get",name:"get",pkg:"time",typ:$funcType([],[EK],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"lookup",name:"lookup",pkg:"time",typ:$funcType([$Int64],[$String,$Int,$Int64,$Int64,$Bool],false)},{prop:"lookupFirstZone",name:"lookupFirstZone",pkg:"time",typ:$funcType([],[$Int],false)},{prop:"firstZoneUsed",name:"firstZoneUsed",pkg:"time",typ:$funcType([],[$Bool],false)},{prop:"lookupName",name:"lookupName",pkg:"time",typ:$funcType([$String,$Int64],[$Int,$Bool],false)}];AP.methods=[{prop:"After",name:"After",pkg:"",typ:$funcType([AP],[$Bool],false)},{prop:"Before",name:"Before",pkg:"",typ:$funcType([AP],[$Bool],false)},{prop:"Equal",name:"Equal",pkg:"",typ:$funcType([AP],[$Bool],false)},{prop:"IsZero",name:"IsZero",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"abs",name:"abs",pkg:"time",typ:$funcType([],[$Uint64],false)},{prop:"locabs",name:"locabs",pkg:"time",typ:$funcType([],[$String,$Int,$Uint64],false)},{prop:"Date",name:"Date",pkg:"",typ:$funcType([],[$Int,AQ,$Int],false)},{prop:"Year",name:"Year",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Month",name:"Month",pkg:"",typ:$funcType([],[AQ],false)},{prop:"Day",name:"Day",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Weekday",name:"Weekday",pkg:"",typ:$funcType([],[AR],false)},{prop:"ISOWeek",name:"ISOWeek",pkg:"",typ:$funcType([],[$Int,$Int],false)},{prop:"Clock",name:"Clock",pkg:"",typ:$funcType([],[$Int,$Int,$Int],false)},{prop:"Hour",name:"Hour",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Minute",name:"Minute",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Second",name:"Second",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Nanosecond",name:"Nanosecond",pkg:"",typ:$funcType([],[$Int],false)},{prop:"YearDay",name:"YearDay",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([AU],[AP],false)},{prop:"Sub",name:"Sub",pkg:"",typ:$funcType([AP],[AU],false)},{prop:"AddDate",name:"AddDate",pkg:"",typ:$funcType([$Int,$Int,$Int],[AP],false)},{prop:"date",name:"date",pkg:"time",typ:$funcType([$Bool],[$Int,AQ,$Int,$Int],false)},{prop:"UTC",name:"UTC",pkg:"",typ:$funcType([],[AP],false)},{prop:"Local",name:"Local",pkg:"",typ:$funcType([],[AP],false)},{prop:"In",name:"In",pkg:"",typ:$funcType([EK],[AP],false)},{prop:"Location",name:"Location",pkg:"",typ:$funcType([],[EK],false)},{prop:"Zone",name:"Zone",pkg:"",typ:$funcType([],[$String,$Int],false)},{prop:"Unix",name:"Unix",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"UnixMilli",name:"UnixMilli",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"UnixMicro",name:"UnixMicro",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"UnixNano",name:"UnixNano",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"MarshalBinary",name:"MarshalBinary",pkg:"",typ:$funcType([],[EJ,$error],false)},{prop:"GobEncode",name:"GobEncode",pkg:"",typ:$funcType([],[EJ,$error],false)},{prop:"MarshalJSON",name:"MarshalJSON",pkg:"",typ:$funcType([],[EJ,$error],false)},{prop:"MarshalText",name:"MarshalText",pkg:"",typ:$funcType([],[EJ,$error],false)},{prop:"IsDST",name:"IsDST",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Truncate",name:"Truncate",pkg:"",typ:$funcType([AU],[AP],false)},{prop:"Round",name:"Round",pkg:"",typ:$funcType([AU],[AP],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)},{prop:"Format",name:"Format",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"AppendFormat",name:"AppendFormat",pkg:"",typ:$funcType([EJ,$String],[EJ],false)}];EV.methods=[{prop:"nsec",name:"nsec",pkg:"time",typ:$funcType([],[$Int32],false)},{prop:"sec",name:"sec",pkg:"time",typ:$funcType([],[$Int64],false)},{prop:"unixSec",name:"unixSec",pkg:"time",typ:$funcType([],[$Int64],false)},{prop:"addSec",name:"addSec",pkg:"time",typ:$funcType([$Int64],[],false)},{prop:"setLoc",name:"setLoc",pkg:"time",typ:$funcType([EK],[],false)},{prop:"stripMono",name:"stripMono",pkg:"time",typ:$funcType([],[],false)},{prop:"setMono",name:"setMono",pkg:"time",typ:$funcType([$Int64],[],false)},{prop:"mono",name:"mono",pkg:"time",typ:$funcType([],[$Int64],false)},{prop:"UnmarshalBinary",name:"UnmarshalBinary",pkg:"",typ:$funcType([EJ],[$error],false)},{prop:"GobDecode",name:"GobDecode",pkg:"",typ:$funcType([EJ],[$error],false)},{prop:"UnmarshalJSON",name:"UnmarshalJSON",pkg:"",typ:$funcType([EJ],[$error],false)},{prop:"UnmarshalText",name:"UnmarshalText",pkg:"",typ:$funcType([EJ],[$error],false)}];AQ.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];AR.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];AU.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Nanoseconds",name:"Nanoseconds",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Microseconds",name:"Microseconds",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Milliseconds",name:"Milliseconds",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Seconds",name:"Seconds",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Minutes",name:"Minutes",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Hours",name:"Hours",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Truncate",name:"Truncate",pkg:"",typ:$funcType([AU],[AU],false)},{prop:"Round",name:"Round",pkg:"",typ:$funcType([AU],[AU],false)}];FB.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];V.init("time",[{prop:"name",name:"name",embedded:false,exported:false,typ:$String,tag:""},{prop:"zone",name:"zone",embedded:false,exported:false,typ:EE,tag:""},{prop:"tx",name:"tx",embedded:false,exported:false,typ:EF,tag:""},{prop:"extend",name:"extend",embedded:false,exported:false,typ:$String,tag:""},{prop:"cacheStart",name:"cacheStart",embedded:false,exported:false,typ:$Int64,tag:""},{prop:"cacheEnd",name:"cacheEnd",embedded:false,exported:false,typ:$Int64,tag:""},{prop:"cacheZone",name:"cacheZone",embedded:false,exported:false,typ:EG,tag:""}]);W.init("time",[{prop:"name",name:"name",embedded:false,exported:false,typ:$String,tag:""},{prop:"offset",name:"offset",embedded:false,exported:false,typ:$Int,tag:""},{prop:"isDST",name:"isDST",embedded:false,exported:false,typ:$Bool,tag:""}]);X.init("time",[{prop:"when",name:"when",embedded:false,exported:false,typ:$Int64,tag:""},{prop:"index",name:"index",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"isstd",name:"isstd",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"isutc",name:"isutc",embedded:false,exported:false,typ:$Bool,tag:""}]);AG.init("time",[{prop:"kind",name:"kind",embedded:false,exported:false,typ:AF,tag:""},{prop:"day",name:"day",embedded:false,exported:false,typ:$Int,tag:""},{prop:"week",name:"week",embedded:false,exported:false,typ:$Int,tag:""},{prop:"mon",name:"mon",embedded:false,exported:false,typ:$Int,tag:""},{prop:"time",name:"time",embedded:false,exported:false,typ:$Int,tag:""}]);AP.init("time",[{prop:"wall",name:"wall",embedded:false,exported:false,typ:$Uint64,tag:""},{prop:"ext",name:"ext",embedded:false,exported:false,typ:$Int64,tag:""},{prop:"loc",name:"loc",embedded:false,exported:false,typ:EK,tag:""}]);DI.init("",[{prop:"Layout",name:"Layout",embedded:false,exported:true,typ:$String,tag:""},{prop:"Value",name:"Value",embedded:false,exported:true,typ:$String,tag:""},{prop:"LayoutElem",name:"LayoutElem",embedded:false,exported:true,typ:$String,tag:""},{prop:"ValueElem",name:"ValueElem",embedded:false,exported:true,typ:$String,tag:""},{prop:"Message",name:"Message",embedded:false,exported:true,typ:$String,tag:""}]);$pkg.$initLinknames=function(){BE=$linknames["runtime.nanotime"];};$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}Z=new V.ptr("",EE.nil,EF.nil,"",new $Int64(0,0),new $Int64(0,0),EG.nil);AA=new D.Once.ptr(false,false);$unused(new EI(["/usr/share/zoneinfo/","/usr/share/lib/zoneinfo/","/usr/lib/locale/TZ/",A.GOROOT()+"/lib/time/zoneinfo.zip"]));K=C.New("malformed time zone information");Y=new V.ptr("UTC",EE.nil,EF.nil,"",new $Int64(0,0),new $Int64(0,0),EG.nil);$pkg.UTC=Y;$pkg.Local=Z;AK=C.New("time: invalid location name");BB=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);j=BE();$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}BF=(i=j,new $Int64(i.$high-0,i.$low-1));CP=new EI([A.GOROOT()+"/lib/time/zoneinfo.zip"]);CR=$toNativeArray($kindInt,[260,265,526,528,530,276]);CU=new EI(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);CV=new EI(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);CW=new EI(["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);CX=new EI(["January","February","March","April","May","June","July","August","September","October","November","December"]);DB=C.New("time: invalid number");DH=C.New("bad value for field");DX=C.New("time: bad [0-9]*");EA=$makeMap($String.keyFor,[{k:"ns",v:new $Int64(0,1)},{k:"us",v:new $Int64(0,1000)},{k:"\xC2\xB5s",v:new $Int64(0,1000)},{k:"\xCE\xBCs",v:new $Int64(0,1000)},{k:"ms",v:new $Int64(0,1000000)},{k:"s",v:new $Int64(0,1000000000)},{k:"m",v:new $Int64(13,4165425152)},{k:"h",v:new $Int64(838,817405952)}]);CG();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["internal/poll"]=(function(){var $pkg={},$init,H,C,A,D,E,F,B,G,X,AD,AJ,AK,AM,BC,BD,BE,BF,BJ,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE,CF,AB,AE,AY,AT,AZ,T,V,Z,AA,AC,AF,AG,AH,AI,AL,AN,AO,AU,AV,AW;H=$packages["errors"];C=$packages["internal/syscall/unix"];A=$packages["io"];D=$packages["runtime"];E=$packages["sync"];F=$packages["sync/atomic"];B=$packages["syscall"];G=$packages["time"];X=$pkg.pollDesc=$newType(0,$kindStruct,"poll.pollDesc",true,"internal/poll",false,function(closing_){this.$val=this;if(arguments.length===0){this.closing=false;return;}this.closing=closing_;});AD=$pkg.FD=$newType(0,$kindStruct,"poll.FD",true,"internal/poll",true,function(fdmu_,Sysfd_,pd_,iovecs_,csema_,isBlocking_,IsStream_,ZeroReadIsEOF_,isFile_){this.$val=this;if(arguments.length===0){this.fdmu=new AJ.ptr(new $Uint64(0,0),0,0);this.Sysfd=0;this.pd=new X.ptr(false);this.iovecs=BD.nil;this.csema=0;this.isBlocking=0;this.IsStream=false;this.ZeroReadIsEOF=false;this.isFile=false;return;}this.fdmu=fdmu_;this.Sysfd=Sysfd_;this.pd=pd_;this.iovecs=iovecs_;this.csema=csema_;this.isBlocking=isBlocking_;this.IsStream=IsStream_;this.ZeroReadIsEOF=ZeroReadIsEOF_;this.isFile=isFile_;});AJ=$pkg.fdMutex=$newType(0,$kindStruct,"poll.fdMutex",true,"internal/poll",false,function(state_,rsema_,wsema_){this.$val=this;if(arguments.length===0){this.state=new $Uint64(0,0);this.rsema=0;this.wsema=0;return;}this.state=state_;this.rsema=rsema_;this.wsema=wsema_;});AK=$pkg.errNetClosing=$newType(0,$kindStruct,"poll.errNetClosing",true,"internal/poll",false,function(){this.$val=this;if(arguments.length===0){return;}});AM=$pkg.DeadlineExceededError=$newType(0,$kindStruct,"poll.DeadlineExceededError",true,"internal/poll",true,function(){this.$val=this;if(arguments.length===0){return;}});BC=$sliceType(B.Iovec);BD=$ptrType(BC);BE=$ptrType($Uint8);BF=$ptrType($Int64);BJ=$arrayType($Int,2);BL=$arrayType($Uint8,4);BM=$ptrType($Uint32);BN=$chanType($Bool,false,false);BO=$sliceType(BN);BP=$ptrType($Int32);BQ=$ptrType($Uint64);BR=$arrayType($Int8,65);BS=$ptrType(AD);BT=$ptrType(X);BU=$sliceType($Uint8);BV=$sliceType(BU);BW=$ptrType(BV);BX=$ptrType(B.IPMreq);BY=$ptrType(B.IPv6Mreq);BZ=$ptrType(B.IPMreqn);CA=$ptrType(B.Linger);CB=$ptrType(B.Stat_t);CC=$funcType([$Uintptr],[$Bool],false);CD=$funcType([$Uintptr],[],false);CE=$ptrType(AJ);CF=$ptrType(AM);AD.ptr.prototype.Writev=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);d=this;e=d.writeLock();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:g=[new $Int64(0,0),f];$s=4;case 4:return g;case 3:$deferred.push([$methodVal(d,"writeUnlock"),[]]);h=d.pd.prepareWrite(d.isFile);if(!($interfaceIsEqual(h,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:i=[new $Int64(0,0),h];$s=7;case 7:return i;case 6:j=BC.nil;if(!(d.iovecs===BD.nil)){j=d.iovecs.$get();}k=1024;l=new $Int64(0,0);m=$ifaceNil;case 8:if(!(c.$get().$length>0)){$s=9;continue;}j=$subslice(j,0,0);n=c.$get();o=0;while(true){if(!(o<n.$length)){break;}p=((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]);if(p.$length===0){o++;continue;}j=$append(j,V($indexPtr(p.$array,p.$offset+0,BE)));if(d.IsStream&&p.$length>1073741824){(q=j.$length-1>>0,((q<0||q>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+q])).SetLen(1073741824);break;}(r=j.$length-1>>0,((r<0||r>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+r])).SetLen(p.$length);if(j.$length===k){break;}o++;}if(j.$length===0){$s=9;continue;}if(d.iovecs===BD.nil){d.iovecs=$newDataPointer(BC.nil,BD);}d.iovecs.$set(j);s=0;u=AC(d.Sysfd,j);$s=10;case 10:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;s=t[0];m=t[1];if(s===4294967295){s=0;}$r=$pkg.TestHookDidWritev(((s>>0)));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=(v=(new $Int64(0,s.constructor===Number?s:1)),new $Int64(l.$high+v.$high,l.$low+v.$low));AN(c,(new $Int64(0,s.constructor===Number?s:1)));w=j;x=0;while(true){if(!(x<w.$length)){break;}y=x;B.Iovec.copy(((y<0||y>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+y]),new B.Iovec.ptr(BE.nil,new $Uint64(0,0)));x++;}if(!($interfaceIsEqual(m,$ifaceNil))){if($interfaceIsEqual(m,new B.Errno(4))){$s=8;continue;}if($interfaceIsEqual(m,new B.Errno(11))){m=d.pd.waitWrite(d.isFile);if($interfaceIsEqual(m,$ifaceNil)){$s=8;continue;}}$s=9;continue;}if((l.$high===0&&l.$low===0)){m=A.ErrUnexpectedEOF;$s=9;continue;}$s=8;continue;case 9:z=[l,m];$s=12;case 12:return z;}return;}}catch(err){$err=err;$s=-1;return[new $Int64(0,0),$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.Writev};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.Writev=function(c){return this.$val.Writev(c);};AD.ptr.prototype.SetsockoptIPMreq=function(c,d,e){var c,d,e,f,g,h,i,j,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);f=this;g=f.incref();if(!($interfaceIsEqual(g,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:h=g;$s=3;case 3:return h;case 2:$deferred.push([$methodVal(f,"decref"),[]]);i=B.SetsockoptIPMreq(f.Sysfd,c,d,e);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=5;case 5:return j;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.SetsockoptIPMreq};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.SetsockoptIPMreq=function(c,d,e){return this.$val.SetsockoptIPMreq(c,d,e);};AD.ptr.prototype.SetsockoptIPv6Mreq=function(c,d,e){var c,d,e,f,g,h,i,j,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);f=this;g=f.incref();if(!($interfaceIsEqual(g,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:h=g;$s=3;case 3:return h;case 2:$deferred.push([$methodVal(f,"decref"),[]]);i=B.SetsockoptIPv6Mreq(f.Sysfd,c,d,e);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=5;case 5:return j;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.SetsockoptIPv6Mreq};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.SetsockoptIPv6Mreq=function(c,d,e){return this.$val.SetsockoptIPv6Mreq(c,d,e);};AD.ptr.prototype.SetsockoptByte=function(c,d,e){var c,d,e,f,g,h,i,j,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);f=this;g=f.incref();if(!($interfaceIsEqual(g,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:h=g;$s=3;case 3:return h;case 2:$deferred.push([$methodVal(f,"decref"),[]]);i=B.SetsockoptByte(f.Sysfd,c,d,e);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=5;case 5:return j;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.SetsockoptByte};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.SetsockoptByte=function(c,d,e){return this.$val.SetsockoptByte(c,d,e);};AD.ptr.prototype.SetsockoptIPMreqn=function(c,d,e){var c,d,e,f,g,h,i,j,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);f=this;g=f.incref();if(!($interfaceIsEqual(g,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:h=g;$s=3;case 3:return h;case 2:$deferred.push([$methodVal(f,"decref"),[]]);i=B.SetsockoptIPMreqn(f.Sysfd,c,d,e);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=5;case 5:return j;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.SetsockoptIPMreqn};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.SetsockoptIPMreqn=function(c,d,e){return this.$val.SetsockoptIPMreqn(c,d,e);};AD.ptr.prototype.SetsockoptInt=function(c,d,e){var c,d,e,f,g,h,i,j,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);f=this;g=f.incref();if(!($interfaceIsEqual(g,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:h=g;$s=3;case 3:return h;case 2:$deferred.push([$methodVal(f,"decref"),[]]);i=B.SetsockoptInt(f.Sysfd,c,d,e);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=5;case 5:return j;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.SetsockoptInt};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.SetsockoptInt=function(c,d,e){return this.$val.SetsockoptInt(c,d,e);};AD.ptr.prototype.SetsockoptInet4Addr=function(c,d,e){var c,d,e,f,g,h,i,j,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);f=this;g=f.incref();if(!($interfaceIsEqual(g,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:h=g;$s=3;case 3:return h;case 2:$deferred.push([$methodVal(f,"decref"),[]]);i=B.SetsockoptInet4Addr(f.Sysfd,c,d,$clone(e,BL));$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=5;case 5:return j;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.SetsockoptInet4Addr};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.SetsockoptInet4Addr=function(c,d,e){return this.$val.SetsockoptInet4Addr(c,d,e);};AD.ptr.prototype.SetsockoptLinger=function(c,d,e){var c,d,e,f,g,h,i,j,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);f=this;g=f.incref();if(!($interfaceIsEqual(g,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:h=g;$s=3;case 3:return h;case 2:$deferred.push([$methodVal(f,"decref"),[]]);i=B.SetsockoptLinger(f.Sysfd,c,d,e);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=5;case 5:return j;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.SetsockoptLinger};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.SetsockoptLinger=function(c,d,e){return this.$val.SetsockoptLinger(c,d,e);};T=function(c){var c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$pkg.Accept4Func(c,526336);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];h=d[2];i=h;if($interfaceIsEqual(i,$ifaceNil)){$s=-1;return[f,g,"",$ifaceNil];}else if($interfaceIsEqual(i,new B.Errno((38)))){}else if($interfaceIsEqual(i,new B.Errno((22)))){}else if($interfaceIsEqual(i,new B.Errno((13)))){}else if($interfaceIsEqual(i,new B.Errno((14)))){}else{$s=-1;return[-1,g,"accept4",h];}k=$pkg.AcceptFunc(c);$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;f=j[0];g=j[1];h=j[2];if($interfaceIsEqual(h,$ifaceNil)){$s=3;continue;}$s=4;continue;case 3:$r=B.CloseOnExec(f);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[-1,$ifaceNil,"accept",h];}l=B.SetNonblock(f,true);$s=6;case 6:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}h=l;if(!($interfaceIsEqual(h,$ifaceNil))){$s=7;continue;}$s=8;continue;case 7:m=$pkg.CloseFunc(f);$s=9;case 9:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;$s=-1;return[-1,$ifaceNil,"setnonblock",h];case 8:$s=-1;return[f,g,"",$ifaceNil];}return;}if($f===undefined){$f={$blk:T};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};V=function(c){var c;return new B.Iovec.ptr(c,new $Uint64(0,0));};X.ptr.prototype.init=function(c){var c,d;d=this;return $ifaceNil;};X.prototype.init=function(c){return this.$val.init(c);};X.ptr.prototype.close=function(){var c;c=this;};X.prototype.close=function(){return this.$val.close();};X.ptr.prototype.evict=function(){var c;c=this;c.closing=true;};X.prototype.evict=function(){return this.$val.evict();};X.ptr.prototype.prepare=function(c,d){var c,d,e;e=this;if(e.closing){return AL(d);}return $ifaceNil;};X.prototype.prepare=function(c,d){return this.$val.prepare(c,d);};X.ptr.prototype.prepareRead=function(c){var c,d;d=this;return d.prepare(114,c);};X.prototype.prepareRead=function(c){return this.$val.prepareRead(c);};X.ptr.prototype.prepareWrite=function(c){var c,d;d=this;return d.prepare(119,c);};X.prototype.prepareWrite=function(c){return this.$val.prepareWrite(c);};X.ptr.prototype.wait=function(c,d){var c,d,e;e=this;if(e.closing){return AL(d);}return $pkg.ErrDeadlineExceeded;};X.prototype.wait=function(c,d){return this.$val.wait(c,d);};X.ptr.prototype.waitRead=function(c){var c,d;d=this;return d.wait(114,c);};X.prototype.waitRead=function(c){return this.$val.waitRead(c);};X.ptr.prototype.waitWrite=function(c){var c,d;d=this;return d.wait(119,c);};X.prototype.waitWrite=function(c){return this.$val.waitWrite(c);};X.ptr.prototype.pollable=function(){return true;};X.prototype.pollable=function(){return this.$val.pollable();};AD.ptr.prototype.SetDeadline=function(c){var c;return $ifaceNil;};AD.prototype.SetDeadline=function(c){return this.$val.SetDeadline(c);};AD.ptr.prototype.SetReadDeadline=function(c){var c;return $ifaceNil;};AD.prototype.SetReadDeadline=function(c){return this.$val.SetReadDeadline(c);};AD.ptr.prototype.SetWriteDeadline=function(c){var c;return $ifaceNil;};AD.prototype.SetWriteDeadline=function(c){return this.$val.SetWriteDeadline(c);};Z=function(c){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(c.$get()===0){$s=1;continue;}$s=2;continue;case 1:d=new $Chan($Bool,0);e=c;(AB||$throwRuntimeError("assignment to entry in nil map"))[BM.keyFor(e)]={k:e,v:$append((f=AB[BM.keyFor(c)],f!==undefined?f.v:BO.nil),d)};g=$recv(d);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g[0];case 2:c.$set(c.$get()-(1)>>>0);$s=-1;return;}return;}if($f===undefined){$f={$blk:Z};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AA=function(c){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c.$set(c.$get()+(1)>>>0);e=(d=AB[BM.keyFor(c)],d!==undefined?d.v:BO.nil);if(e.$length===0){$s=-1;return;}f=(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]);e=$subslice(e,1);g=c;(AB||$throwRuntimeError("assignment to entry in nil map"))[BM.keyFor(g)]={k:g,v:e};if(e.$length===0){delete AB[BM.keyFor(c)];}$r=$send(f,true);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AA};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AC=function(c,d){var c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=0;f=0;case 1:h=B.Syscall(20,((c>>>0)),(($sliceToNativeArray(d))),((d.$length>>>0)));$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;e=g[0];f=g[2];if(!((f===4))){$s=2;continue;}$s=1;continue;case 2:if(!((f===0))){$s=-1;return[e,new B.Errno(f)];}$s=-1;return[e,$ifaceNil];}return;}if($f===undefined){$f={$blk:AC};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AD.ptr.prototype.Init=function(c,d){var c,d,e,f;e=this;if(c==="file"){e.isFile=true;}if(!d){e.isBlocking=1;return $ifaceNil;}f=e.pd.init(e);if(!($interfaceIsEqual(f,$ifaceNil))){e.isBlocking=1;}return f;};AD.prototype.Init=function(c,d){return this.$val.Init(c,d);};AD.ptr.prototype.destroy=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;c.pd.close();d=$pkg.CloseFunc(c.Sysfd);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;c.Sysfd=-1;$r=AA((c.$ptr_csema||(c.$ptr_csema=new BM(function(){return this.$target.csema;},function($v){this.$target.csema=$v;},c))));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:AD.ptr.prototype.destroy};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AD.prototype.destroy=function(){return this.$val.destroy();};AD.ptr.prototype.Close=function(){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.fdmu.increfAndClose();$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}if(!d){$s=1;continue;}$s=2;continue;case 1:$s=-1;return AL(c.isFile);case 2:c.pd.evict();e=c.decref();$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(c.isBlocking===0){$s=5;continue;}$s=6;continue;case 5:$r=Z((c.$ptr_csema||(c.$ptr_csema=new BM(function(){return this.$target.csema;},function($v){this.$target.csema=$v;},c))));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:$s=-1;return f;}return;}if($f===undefined){$f={$blk:AD.ptr.prototype.Close};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AD.prototype.Close=function(){return this.$val.Close();};AD.ptr.prototype.SetBlocking=function(){var c,d,e,f,g,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=this;d=c.incref();if(!($interfaceIsEqual(d,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:e=d;$s=3;case 3:return e;case 2:$deferred.push([$methodVal(c,"decref"),[]]);F.StoreUint32((c.$ptr_isBlocking||(c.$ptr_isBlocking=new BM(function(){return this.$target.isBlocking;},function($v){this.$target.isBlocking=$v;},c))),1);f=B.SetNonblock(c.Sysfd,false);$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=5;case 5:return g;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.SetBlocking};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.SetBlocking=function(){return this.$val.SetBlocking();};AD.ptr.prototype.Read=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);d=this;e=d.readLock();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:g=[0,f];$s=4;case 4:return g;case 3:$deferred.push([$methodVal(d,"readUnlock"),[]]);if(c.$length===0){$s=5;continue;}$s=6;continue;case 5:h=[0,$ifaceNil];$s=7;case 7:return h;case 6:i=d.pd.prepareRead(d.isFile);if(!($interfaceIsEqual(i,$ifaceNil))){$s=8;continue;}$s=9;continue;case 8:j=[0,i];$s=10;case 10:return j;case 9:if(d.IsStream&&c.$length>1073741824){c=$subslice(c,0,1073741824);}case 11:l=AH(B.Read,d.Sysfd,c);$s=13;case 13:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=k[1];if(!($interfaceIsEqual(n,$ifaceNil))){m=0;if($interfaceIsEqual(n,new B.Errno(11))&&d.pd.pollable()){n=d.pd.waitRead(d.isFile);if($interfaceIsEqual(n,$ifaceNil)){$s=11;continue;}}}n=d.eofError(m,n);o=[m,n];$s=14;case 14:return o;case 12:$s=-1;return[0,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[0,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.Read};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.Read=function(c){return this.$val.Read(c);};AD.ptr.prototype.Pread=function(c,d){var c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=e.incref();if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[0,f];}if(e.IsStream&&c.$length>1073741824){c=$subslice(c,0,1073741824);}g=0;h=$ifaceNil;case 1:j=B.Pread(e.Sysfd,c,d);$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;g=i[0];h=i[1];if(!($interfaceIsEqual(h,new B.Errno(4)))){$s=2;continue;}$s=1;continue;case 2:if(!($interfaceIsEqual(h,$ifaceNil))){g=0;}k=e.decref();$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;h=e.eofError(g,h);$s=-1;return[g,h];}return;}if($f===undefined){$f={$blk:AD.ptr.prototype.Pread};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AD.prototype.Pread=function(c,d){return this.$val.Pread(c,d);};AD.ptr.prototype.ReadFrom=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);d=this;e=d.readLock();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:g=[0,$ifaceNil,f];$s=4;case 4:return g;case 3:$deferred.push([$methodVal(d,"readUnlock"),[]]);h=d.pd.prepareRead(d.isFile);if(!($interfaceIsEqual(h,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:i=[0,$ifaceNil,h];$s=7;case 7:return i;case 6:case 8:k=B.Recvfrom(d.Sysfd,c,0);$s=10;case 10:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];n=j[2];if(!($interfaceIsEqual(n,$ifaceNil))){if($interfaceIsEqual(n,new B.Errno(4))){$s=8;continue;}l=0;if($interfaceIsEqual(n,new B.Errno(11))&&d.pd.pollable()){n=d.pd.waitRead(d.isFile);if($interfaceIsEqual(n,$ifaceNil)){$s=8;continue;}}}n=d.eofError(l,n);o=[l,m,n];$s=11;case 11:return o;case 9:$s=-1;return[0,$ifaceNil,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[0,$ifaceNil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.ReadFrom};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.ReadFrom=function(c){return this.$val.ReadFrom(c);};AD.ptr.prototype.ReadMsg=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);f=this;g=f.readLock();$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!($interfaceIsEqual(h,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:i=[0,0,0,$ifaceNil,h];$s=4;case 4:return i;case 3:$deferred.push([$methodVal(f,"readUnlock"),[]]);j=f.pd.prepareRead(f.isFile);if(!($interfaceIsEqual(j,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:k=[0,0,0,$ifaceNil,j];$s=7;case 7:return k;case 6:case 8:m=B.Recvmsg(f.Sysfd,c,d,e);$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];o=l[1];p=l[2];q=l[3];r=l[4];if(!($interfaceIsEqual(r,$ifaceNil))){if($interfaceIsEqual(r,new B.Errno(4))){$s=8;continue;}if($interfaceIsEqual(r,new B.Errno(11))&&f.pd.pollable()){r=f.pd.waitRead(f.isFile);if($interfaceIsEqual(r,$ifaceNil)){$s=8;continue;}}}r=f.eofError(n,r);s=[n,o,p,q,r];$s=11;case 11:return s;case 9:$s=-1;return[0,0,0,$ifaceNil,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[0,0,0,$ifaceNil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.ReadMsg};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.ReadMsg=function(c,d,e){return this.$val.ReadMsg(c,d,e);};AD.ptr.prototype.Write=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);d=this;e=d.writeLock();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:g=[0,f];$s=4;case 4:return g;case 3:$deferred.push([$methodVal(d,"writeUnlock"),[]]);h=d.pd.prepareWrite(d.isFile);if(!($interfaceIsEqual(h,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:i=[0,h];$s=7;case 7:return i;case 6:j=0;case 8:k=c.$length;if(d.IsStream&&(k-j>>0)>1073741824){k=j+1073741824>>0;}m=AH(B.Write,d.Sysfd,$subslice(c,j,k));$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];o=l[1];if(n>0){j=j+(n)>>0;}if(j===c.$length){$s=11;continue;}$s=12;continue;case 11:p=[j,o];$s=13;case 13:return p;case 12:if($interfaceIsEqual(o,new B.Errno(11))&&d.pd.pollable()){o=d.pd.waitWrite(d.isFile);if($interfaceIsEqual(o,$ifaceNil)){$s=8;continue;}}if(!($interfaceIsEqual(o,$ifaceNil))){$s=14;continue;}$s=15;continue;case 14:q=[j,o];$s=16;case 16:return q;case 15:if(n===0){$s=17;continue;}$s=18;continue;case 17:r=[j,A.ErrUnexpectedEOF];$s=19;case 19:return r;case 18:$s=8;continue;case 9:$s=-1;return[0,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[0,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.Write};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.Write=function(c){return this.$val.Write(c);};AD.ptr.prototype.Pwrite=function(c,d){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);e=this;f=e.incref();if(!($interfaceIsEqual(f,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:g=[0,f];$s=3;case 3:return g;case 2:$deferred.push([$methodVal(e,"decref"),[]]);h=0;case 4:i=c.$length;if(e.IsStream&&(i-h>>0)>1073741824){i=h+1073741824>>0;}l=B.Pwrite(e.Sysfd,$subslice(c,h,i),(k=(new $Int64(0,h)),new $Int64(d.$high+k.$high,d.$low+k.$low)));$s=6;case 6:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}j=l;m=j[0];n=j[1];if($interfaceIsEqual(n,new B.Errno(4))){$s=4;continue;}if(m>0){h=h+(m)>>0;}if(h===c.$length){$s=7;continue;}$s=8;continue;case 7:o=[h,n];$s=9;case 9:return o;case 8:if(!($interfaceIsEqual(n,$ifaceNil))){$s=10;continue;}$s=11;continue;case 10:p=[h,n];$s=12;case 12:return p;case 11:if(m===0){$s=13;continue;}$s=14;continue;case 13:q=[h,A.ErrUnexpectedEOF];$s=15;case 15:return q;case 14:$s=4;continue;case 5:$s=-1;return[0,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[0,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.Pwrite};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.Pwrite=function(c,d){return this.$val.Pwrite(c,d);};AD.ptr.prototype.WriteTo=function(c,d){var c,d,e,f,g,h,i,j,k,l,m,n,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);e=this;f=e.writeLock();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(!($interfaceIsEqual(g,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:h=[0,g];$s=4;case 4:return h;case 3:$deferred.push([$methodVal(e,"writeUnlock"),[]]);i=e.pd.prepareWrite(e.isFile);if(!($interfaceIsEqual(i,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:j=[0,i];$s=7;case 7:return j;case 6:case 8:k=B.Sendto(e.Sysfd,c,0,d);$s=10;case 10:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if($interfaceIsEqual(l,new B.Errno(4))){$s=8;continue;}if($interfaceIsEqual(l,new B.Errno(11))&&e.pd.pollable()){l=e.pd.waitWrite(e.isFile);if($interfaceIsEqual(l,$ifaceNil)){$s=8;continue;}}if(!($interfaceIsEqual(l,$ifaceNil))){$s=11;continue;}$s=12;continue;case 11:m=[0,l];$s=13;case 13:return m;case 12:n=[c.$length,$ifaceNil];$s=14;case 14:return n;case 9:$s=-1;return[0,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[0,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.WriteTo};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.WriteTo=function(c,d){return this.$val.WriteTo(c,d);};AD.ptr.prototype.WriteMsg=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);f=this;g=f.writeLock();$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!($interfaceIsEqual(h,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:i=[0,0,h];$s=4;case 4:return i;case 3:$deferred.push([$methodVal(f,"writeUnlock"),[]]);j=f.pd.prepareWrite(f.isFile);if(!($interfaceIsEqual(j,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:k=[0,0,j];$s=7;case 7:return k;case 6:case 8:m=B.SendmsgN(f.Sysfd,c,d,e,0);$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];o=l[1];if($interfaceIsEqual(o,new B.Errno(4))){$s=8;continue;}if($interfaceIsEqual(o,new B.Errno(11))&&f.pd.pollable()){o=f.pd.waitWrite(f.isFile);if($interfaceIsEqual(o,$ifaceNil)){$s=8;continue;}}if(!($interfaceIsEqual(o,$ifaceNil))){$s=11;continue;}$s=12;continue;case 11:p=[n,0,o];$s=13;case 13:return p;case 12:q=[n,d.$length,o];$s=14;case 14:return q;case 9:$s=-1;return[0,0,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[0,0,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.WriteMsg};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.WriteMsg=function(c,d,e){return this.$val.WriteMsg(c,d,e);};AD.ptr.prototype.Accept=function(){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=this;d=c.readLock();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:f=[-1,$ifaceNil,"",e];$s=4;case 4:return f;case 3:$deferred.push([$methodVal(c,"readUnlock"),[]]);g=c.pd.prepareRead(c.isFile);if(!($interfaceIsEqual(g,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:h=[-1,$ifaceNil,"",g];$s=7;case 7:return h;case 6:case 8:j=T(c.Sysfd);$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];m=i[2];n=i[3];if($interfaceIsEqual(n,$ifaceNil)){$s=11;continue;}$s=12;continue;case 11:o=[k,l,"",n];$s=13;case 13:return o;case 12:p=n;if($interfaceIsEqual(p,new B.Errno((4)))){$s=8;continue;}else if($interfaceIsEqual(p,new B.Errno((11)))){if(c.pd.pollable()){n=c.pd.waitRead(c.isFile);if($interfaceIsEqual(n,$ifaceNil)){$s=8;continue;}}}else if($interfaceIsEqual(p,new B.Errno((103)))){$s=8;continue;}q=[-1,$ifaceNil,m,n];$s=14;case 14:return q;case 9:$s=-1;return[0,$ifaceNil,"",$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[0,$ifaceNil,"",$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.Accept};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.Accept=function(){return this.$val.Accept();};AD.ptr.prototype.Seek=function(c,d){var c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);e=this;f=e.incref();if(!($interfaceIsEqual(f,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:g=[new $Int64(0,0),f];$s=3;case 3:return g;case 2:$deferred.push([$methodVal(e,"decref"),[]]);h=B.Seek(e.Sysfd,c,d);$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=5;case 5:return i;}return;}}catch(err){$err=err;$s=-1;return[new $Int64(0,0),$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.Seek};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.Seek=function(c,d){return this.$val.Seek(c,d);};AD.ptr.prototype.ReadDirent=function(c){var c,d,e,f,g,h,i,j,k,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);d=this;e=d.incref();if(!($interfaceIsEqual(e,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:f=[0,e];$s=3;case 3:return f;case 2:$deferred.push([$methodVal(d,"decref"),[]]);case 4:h=AH(B.ReadDirent,d.Sysfd,c);$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];if(!($interfaceIsEqual(j,$ifaceNil))){i=0;if($interfaceIsEqual(j,new B.Errno(11))&&d.pd.pollable()){j=d.pd.waitRead(d.isFile);if($interfaceIsEqual(j,$ifaceNil)){$s=4;continue;}}}k=[i,j];$s=7;case 7:return k;case 5:$s=-1;return[0,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[0,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.ReadDirent};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.ReadDirent=function(c){return this.$val.ReadDirent(c);};AD.ptr.prototype.Fchmod=function(c){var c,d,e,f,g,h,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=[c];d=[d];d[0]=this;e=d[0].incref();if(!($interfaceIsEqual(e,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:f=e;$s=3;case 3:return f;case 2:$deferred.push([$methodVal(d[0],"decref"),[]]);g=AI((function(c,d){return function $b(){var g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=B.Fchmod(d[0].Sysfd,c[0]);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:$b};}$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};})(c,d));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=5;case 5:return h;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.Fchmod};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.Fchmod=function(c){return this.$val.Fchmod(c);};AD.ptr.prototype.Fchdir=function(){var c,d,e,f,g,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=this;d=c.incref();if(!($interfaceIsEqual(d,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:e=d;$s=3;case 3:return e;case 2:$deferred.push([$methodVal(c,"decref"),[]]);f=B.Fchdir(c.Sysfd);$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=5;case 5:return g;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.Fchdir};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.Fchdir=function(){return this.$val.Fchdir();};AD.ptr.prototype.Fstat=function(c){var c,d,e,f,g,h,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=[c];d=[d];d[0]=this;e=d[0].incref();if(!($interfaceIsEqual(e,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:f=e;$s=3;case 3:return f;case 2:$deferred.push([$methodVal(d[0],"decref"),[]]);g=AI((function(c,d){return function $b(){var g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=B.Fstat(d[0].Sysfd,c[0]);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:$b};}$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};})(c,d));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=5;case 5:return h;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.Fstat};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.Fstat=function(c){return this.$val.Fstat(c);};AF=function(c){var c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if( true&&(F.LoadInt32((AY||(AY=new BP(function(){return AE;},function($v){AE=$v;}))))===1)){$s=1;continue;}$s=2;continue;case 1:e=AO(c,1030,0);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];if($interfaceIsEqual(g,$ifaceNil)){$s=-1;return[f,"",$ifaceNil];}h=$assertType(g,B.Errno);if((h===(22))||(h===(38))){F.StoreInt32((AY||(AY=new BP(function(){return AE;},function($v){AE=$v;}))),0);}else{$s=-1;return[-1,"fcntl",g];}case 2:i=AG(c);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=5;case 5:return j;}return;}if($f===undefined){$f={$blk:AF};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$pkg.DupCloseOnExec=AF;AG=function(c){var c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);$r=B.ForkLock.RLock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(B.ForkLock,"RUnlock"),[]]);e=B.Dup(c);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];if(!($interfaceIsEqual(g,$ifaceNil))){$s=3;continue;}$s=4;continue;case 3:h=[-1,"dup",g];$s=5;case 5:return h;case 4:$r=B.CloseOnExec(f);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=[f,"",$ifaceNil];$s=7;case 7:return i;}return;}}catch(err){$err=err;$s=-1;return[0,"",$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AG};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.ptr.prototype.Dup=function(){var c,d,e,f,g,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=this;d=c.incref();if(!($interfaceIsEqual(d,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:e=[-1,"",d];$s=3;case 3:return e;case 2:$deferred.push([$methodVal(c,"decref"),[]]);f=AF(c.Sysfd);$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=5;case 5:return g;}return;}}catch(err){$err=err;$s=-1;return[0,"",$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.Dup};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.Dup=function(){return this.$val.Dup();};AD.ptr.prototype.WaitWrite=function(){var c;c=this;return c.pd.waitWrite(c.isFile);};AD.prototype.WaitWrite=function(){return this.$val.WaitWrite();};AD.ptr.prototype.WriteOnce=function(c){var c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);d=this;e=d.writeLock();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:g=[0,f];$s=4;case 4:return g;case 3:$deferred.push([$methodVal(d,"writeUnlock"),[]]);h=AH(B.Write,d.Sysfd,c);$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=6;case 6:return i;}return;}}catch(err){$err=err;$s=-1;return[0,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.WriteOnce};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.WriteOnce=function(c){return this.$val.WriteOnce(c);};AD.ptr.prototype.RawRead=function(c){var c,d,e,f,g,h,i,j,k,l,m,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);d=this;e=d.readLock();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:g=f;$s=4;case 4:return g;case 3:$deferred.push([$methodVal(d,"readUnlock"),[]]);h=d.pd.prepareRead(d.isFile);if(!($interfaceIsEqual(h,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:i=h;$s=7;case 7:return i;case 6:case 8:j=c(((d.Sysfd>>>0)));$s=12;case 12:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(j){$s=10;continue;}$s=11;continue;case 10:k=$ifaceNil;$s=13;case 13:return k;case 11:l=d.pd.waitRead(d.isFile);if(!($interfaceIsEqual(l,$ifaceNil))){$s=14;continue;}$s=15;continue;case 14:m=l;$s=16;case 16:return m;case 15:$s=8;continue;case 9:$s=-1;return $ifaceNil;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.RawRead};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.RawRead=function(c){return this.$val.RawRead(c);};AD.ptr.prototype.RawWrite=function(c){var c,d,e,f,g,h,i,j,k,l,m,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);d=this;e=d.writeLock();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:g=f;$s=4;case 4:return g;case 3:$deferred.push([$methodVal(d,"writeUnlock"),[]]);h=d.pd.prepareWrite(d.isFile);if(!($interfaceIsEqual(h,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:i=h;$s=7;case 7:return i;case 6:case 8:j=c(((d.Sysfd>>>0)));$s=12;case 12:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(j){$s=10;continue;}$s=11;continue;case 10:k=$ifaceNil;$s=13;case 13:return k;case 11:l=d.pd.waitWrite(d.isFile);if(!($interfaceIsEqual(l,$ifaceNil))){$s=14;continue;}$s=15;continue;case 14:m=l;$s=16;case 16:return m;case 15:$s=8;continue;case 9:$s=-1;return $ifaceNil;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.RawWrite};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.RawWrite=function(c){return this.$val.RawWrite(c);};AH=function(c,d,e){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:g=c(d,e);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];if(!($interfaceIsEqual(i,new B.Errno(4)))){$s=-1;return[h,i];}$s=1;continue;case 2:$s=-1;return[0,$ifaceNil];}return;}if($f===undefined){$f={$blk:AH};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AD.ptr.prototype.eofError=function(c,d){var c,d,e;e=this;if((c===0)&&$interfaceIsEqual(d,$ifaceNil)&&e.ZeroReadIsEOF){return A.EOF;}return d;};AD.prototype.eofError=function(c,d){return this.$val.eofError(c,d);};AD.ptr.prototype.Shutdown=function(c){var c,d,e,f,g,h,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);d=this;e=d.incref();if(!($interfaceIsEqual(e,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:f=e;$s=3;case 3:return f;case 2:$deferred.push([$methodVal(d,"decref"),[]]);g=B.Shutdown(d.Sysfd,c);$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=5;case 5:return h;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.Shutdown};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.Shutdown=function(c){return this.$val.Shutdown(c);};AD.ptr.prototype.Fchown=function(c,d){var c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=[c];d=[d];e=[e];e[0]=this;f=e[0].incref();if(!($interfaceIsEqual(f,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:g=f;$s=3;case 3:return g;case 2:$deferred.push([$methodVal(e[0],"decref"),[]]);h=AI((function(c,d,e){return function $b(){var h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=B.Fchown(e[0].Sysfd,c[0],d[0]);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=2;case 2:return i;}return;}if($f===undefined){$f={$blk:$b};}$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};})(c,d,e));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=5;case 5:return i;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.Fchown};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.Fchown=function(c,d){return this.$val.Fchown(c,d);};AD.ptr.prototype.Ftruncate=function(c){var c,d,e,f,g,h,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=[c];d=[d];d[0]=this;e=d[0].incref();if(!($interfaceIsEqual(e,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:f=e;$s=3;case 3:return f;case 2:$deferred.push([$methodVal(d[0],"decref"),[]]);g=AI((function(c,d){return function $b(){var g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=B.Ftruncate(d[0].Sysfd,c[0]);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:$b};}$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};})(c,d));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=5;case 5:return h;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.Ftruncate};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.Ftruncate=function(c){return this.$val.Ftruncate(c);};AD.ptr.prototype.RawControl=function(c){var c,d,e,f,g,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);d=this;e=d.incref();if(!($interfaceIsEqual(e,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:f=e;$s=3;case 3:return f;case 2:$deferred.push([$methodVal(d,"decref"),[]]);$r=c(((d.Sysfd>>>0)));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g=$ifaceNil;$s=5;case 5:return g;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.RawControl};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.RawControl=function(c){return this.$val.RawControl(c);};AI=function(c){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:d=c();$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(!($interfaceIsEqual(e,new B.Errno(4)))){$s=-1;return e;}$s=1;continue;case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AI};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AJ.ptr.prototype.incref=function(){var c,d,e,f,g;c=this;while(true){d=F.LoadUint64((c.$ptr_state||(c.$ptr_state=new BQ(function(){return this.$target.state;},function($v){this.$target.state=$v;},c))));if(!((e=new $Uint64(d.$high&0,(d.$low&1)>>>0),(e.$high===0&&e.$low===0)))){return false;}f=new $Uint64(d.$high+0,d.$low+8);if((g=new $Uint64(f.$high&0,(f.$low&8388600)>>>0),(g.$high===0&&g.$low===0))){$panic(new $String("too many concurrent operations on a single file or socket (max 1048575)"));}if(F.CompareAndSwapUint64((c.$ptr_state||(c.$ptr_state=new BQ(function(){return this.$target.state;},function($v){this.$target.state=$v;},c))),d,f)){return true;}}};AJ.prototype.incref=function(){return this.$val.incref();};AJ.ptr.prototype.increfAndClose=function(){var c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;case 1:d=F.LoadUint64((c.$ptr_state||(c.$ptr_state=new BQ(function(){return this.$target.state;},function($v){this.$target.state=$v;},c))));if(!((e=new $Uint64(d.$high&0,(d.$low&1)>>>0),(e.$high===0&&e.$low===0)))){$s=-1;return false;}g=(f=new $Uint64(d.$high|0,(d.$low|1)>>>0),new $Uint64(f.$high+0,f.$low+8));if((h=new $Uint64(g.$high&0,(g.$low&8388600)>>>0),(h.$high===0&&h.$low===0))){$panic(new $String("too many concurrent operations on a single file or socket (max 1048575)"));}g=(i=new $Uint64(2147483647,4286578688),new $Uint64(g.$high&~i.$high,(g.$low&~i.$low)>>>0));if(F.CompareAndSwapUint64((c.$ptr_state||(c.$ptr_state=new BQ(function(){return this.$target.state;},function($v){this.$target.state=$v;},c))),d,g)){$s=3;continue;}$s=4;continue;case 3:case 5:if(!(!((j=new $Uint64(d.$high&2047,(d.$low&4286578688)>>>0),(j.$high===0&&j.$low===0))))){$s=6;continue;}d=(k=new $Uint64(0,8388608),new $Uint64(d.$high-k.$high,d.$low-k.$low));$r=AA((c.$ptr_rsema||(c.$ptr_rsema=new BM(function(){return this.$target.rsema;},function($v){this.$target.rsema=$v;},c))));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 6:case 8:if(!(!((l=new $Uint64(d.$high&2147481600,(d.$low&0)>>>0),(l.$high===0&&l.$low===0))))){$s=9;continue;}d=(m=new $Uint64(2048,0),new $Uint64(d.$high-m.$high,d.$low-m.$low));$r=AA((c.$ptr_wsema||(c.$ptr_wsema=new BM(function(){return this.$target.wsema;},function($v){this.$target.wsema=$v;},c))));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=8;continue;case 9:$s=-1;return true;case 4:$s=1;continue;case 2:$s=-1;return false;}return;}if($f===undefined){$f={$blk:AJ.ptr.prototype.increfAndClose};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AJ.prototype.increfAndClose=function(){return this.$val.increfAndClose();};AJ.ptr.prototype.decref=function(){var c,d,e,f,g;c=this;while(true){d=F.LoadUint64((c.$ptr_state||(c.$ptr_state=new BQ(function(){return this.$target.state;},function($v){this.$target.state=$v;},c))));if((e=new $Uint64(d.$high&0,(d.$low&8388600)>>>0),(e.$high===0&&e.$low===0))){$panic(new $String("inconsistent poll.fdMutex"));}f=new $Uint64(d.$high-0,d.$low-8);if(F.CompareAndSwapUint64((c.$ptr_state||(c.$ptr_state=new BQ(function(){return this.$target.state;},function($v){this.$target.state=$v;},c))),d,f)){return(g=new $Uint64(f.$high&0,(f.$low&8388601)>>>0),(g.$high===0&&g.$low===1));}}};AJ.prototype.decref=function(){return this.$val.decref();};AJ.ptr.prototype.rwlock=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=new $Uint64(0,0);f=new $Uint64(0,0);g=new $Uint64(0,0);h=e;i=f;j=g;k=BM.nil;if(c){h=new $Uint64(0,2);i=new $Uint64(0,8388608);j=new $Uint64(2047,4286578688);k=(d.$ptr_rsema||(d.$ptr_rsema=new BM(function(){return this.$target.rsema;},function($v){this.$target.rsema=$v;},d)));}else{h=new $Uint64(0,4);i=new $Uint64(2048,0);j=new $Uint64(2147481600,0);k=(d.$ptr_wsema||(d.$ptr_wsema=new BM(function(){return this.$target.wsema;},function($v){this.$target.wsema=$v;},d)));}case 1:l=F.LoadUint64((d.$ptr_state||(d.$ptr_state=new BQ(function(){return this.$target.state;},function($v){this.$target.state=$v;},d))));if(!((m=new $Uint64(l.$high&0,(l.$low&1)>>>0),(m.$high===0&&m.$low===0)))){$s=-1;return false;}n=new $Uint64(0,0);if((o=new $Uint64(l.$high&h.$high,(l.$low&h.$low)>>>0),(o.$high===0&&o.$low===0))){n=(p=new $Uint64(l.$high|h.$high,(l.$low|h.$low)>>>0),new $Uint64(p.$high+0,p.$low+8));if((q=new $Uint64(n.$high&0,(n.$low&8388600)>>>0),(q.$high===0&&q.$low===0))){$panic(new $String("too many concurrent operations on a single file or socket (max 1048575)"));}}else{n=new $Uint64(l.$high+i.$high,l.$low+i.$low);if((r=new $Uint64(n.$high&j.$high,(n.$low&j.$low)>>>0),(r.$high===0&&r.$low===0))){$panic(new $String("too many concurrent operations on a single file or socket (max 1048575)"));}}if(F.CompareAndSwapUint64((d.$ptr_state||(d.$ptr_state=new BQ(function(){return this.$target.state;},function($v){this.$target.state=$v;},d))),l,n)){$s=3;continue;}$s=4;continue;case 3:if((s=new $Uint64(l.$high&h.$high,(l.$low&h.$low)>>>0),(s.$high===0&&s.$low===0))){$s=-1;return true;}$r=Z(k);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:$s=1;continue;case 2:$s=-1;return false;}return;}if($f===undefined){$f={$blk:AJ.ptr.prototype.rwlock};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};AJ.prototype.rwlock=function(c){return this.$val.rwlock(c);};AJ.ptr.prototype.rwunlock=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=new $Uint64(0,0);f=new $Uint64(0,0);g=new $Uint64(0,0);h=e;i=f;j=g;k=BM.nil;if(c){h=new $Uint64(0,2);i=new $Uint64(0,8388608);j=new $Uint64(2047,4286578688);k=(d.$ptr_rsema||(d.$ptr_rsema=new BM(function(){return this.$target.rsema;},function($v){this.$target.rsema=$v;},d)));}else{h=new $Uint64(0,4);i=new $Uint64(2048,0);j=new $Uint64(2147481600,0);k=(d.$ptr_wsema||(d.$ptr_wsema=new BM(function(){return this.$target.wsema;},function($v){this.$target.wsema=$v;},d)));}case 1:l=F.LoadUint64((d.$ptr_state||(d.$ptr_state=new BQ(function(){return this.$target.state;},function($v){this.$target.state=$v;},d))));if((m=new $Uint64(l.$high&h.$high,(l.$low&h.$low)>>>0),(m.$high===0&&m.$low===0))||(n=new $Uint64(l.$high&0,(l.$low&8388600)>>>0),(n.$high===0&&n.$low===0))){$panic(new $String("inconsistent poll.fdMutex"));}p=(o=new $Uint64(l.$high&~h.$high,(l.$low&~h.$low)>>>0),new $Uint64(o.$high-0,o.$low-8));if(!((q=new $Uint64(l.$high&j.$high,(l.$low&j.$low)>>>0),(q.$high===0&&q.$low===0)))){p=(r=i,new $Uint64(p.$high-r.$high,p.$low-r.$low));}if(F.CompareAndSwapUint64((d.$ptr_state||(d.$ptr_state=new BQ(function(){return this.$target.state;},function($v){this.$target.state=$v;},d))),l,p)){$s=3;continue;}$s=4;continue;case 3:if(!((s=new $Uint64(l.$high&j.$high,(l.$low&j.$low)>>>0),(s.$high===0&&s.$low===0)))){$s=5;continue;}$s=6;continue;case 5:$r=AA(k);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:$s=-1;return(t=new $Uint64(p.$high&0,(p.$low&8388601)>>>0),(t.$high===0&&t.$low===1));case 4:$s=1;continue;case 2:$s=-1;return false;}return;}if($f===undefined){$f={$blk:AJ.ptr.prototype.rwunlock};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};AJ.prototype.rwunlock=function(c){return this.$val.rwunlock(c);};AD.ptr.prototype.incref=function(){var c;c=this;if(!c.fdmu.incref()){return AL(c.isFile);}return $ifaceNil;};AD.prototype.incref=function(){return this.$val.incref();};AD.ptr.prototype.decref=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(c.fdmu.decref()){$s=1;continue;}$s=2;continue;case 1:d=c.destroy();$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=4;case 4:return e;case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AD.ptr.prototype.decref};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AD.prototype.decref=function(){return this.$val.decref();};AD.ptr.prototype.readLock=function(){var c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.fdmu.rwlock(true);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}if(!d){$s=1;continue;}$s=2;continue;case 1:$s=-1;return AL(c.isFile);case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AD.ptr.prototype.readLock};}$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AD.prototype.readLock=function(){return this.$val.readLock();};AD.ptr.prototype.readUnlock=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.fdmu.rwunlock(true);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}if(d){$s=1;continue;}$s=2;continue;case 1:e=c.destroy();$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AD.ptr.prototype.readUnlock};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AD.prototype.readUnlock=function(){return this.$val.readUnlock();};AD.ptr.prototype.writeLock=function(){var c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.fdmu.rwlock(false);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}if(!d){$s=1;continue;}$s=2;continue;case 1:$s=-1;return AL(c.isFile);case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AD.ptr.prototype.writeLock};}$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AD.prototype.writeLock=function(){return this.$val.writeLock();};AD.ptr.prototype.writeUnlock=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.fdmu.rwunlock(false);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}if(d){$s=1;continue;}$s=2;continue;case 1:e=c.destroy();$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AD.ptr.prototype.writeUnlock};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AD.prototype.writeUnlock=function(){return this.$val.writeUnlock();};AD.ptr.prototype.Fsync=function(){var c,d,e,f,g,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=[c];c[0]=this;d=c[0].incref();if(!($interfaceIsEqual(d,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:e=d;$s=3;case 3:return e;case 2:$deferred.push([$methodVal(c[0],"decref"),[]]);f=AI((function(c){return function $b(){var f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=B.Fsync(c[0].Sysfd);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:$b};}$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};})(c));$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=5;case 5:return g;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD.ptr.prototype.Fsync};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AD.prototype.Fsync=function(){return this.$val.Fsync();};AK.ptr.prototype.Error=function(){var c;c=this;return"use of closed network connection";};AK.prototype.Error=function(){return this.$val.Error();};AK.ptr.prototype.Timeout=function(){var c;c=this;return false;};AK.prototype.Timeout=function(){return this.$val.Timeout();};AK.ptr.prototype.Temporary=function(){var c;c=this;return false;};AK.prototype.Temporary=function(){return this.$val.Temporary();};AL=function(c){var c;if(c){return $pkg.ErrFileClosing;}return new $pkg.ErrNetClosing.constructor.elem($pkg.ErrNetClosing);};AM.ptr.prototype.Error=function(){var c;c=this;return"i/o timeout";};AM.prototype.Error=function(){return this.$val.Error();};AM.ptr.prototype.Timeout=function(){var c;c=this;return true;};AM.prototype.Timeout=function(){return this.$val.Timeout();};AM.ptr.prototype.Temporary=function(){var c;c=this;return true;};AM.prototype.Temporary=function(){return this.$val.Temporary();};AN=function(c,d){var c,d,e,f,g,h,i;while(true){if(!(c.$get().$length>0)){break;}f=(new $Int64(0,(e=c.$get(),(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])).$length));if((f.$high>d.$high||(f.$high===d.$high&&f.$low>d.$low))){(h=c.$get(),(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]=$subslice((g=c.$get(),(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0])),$flatten64(d))));return;}d=(i=f,new $Int64(d.$high-i.$high,d.$low-i.$low));c.$set($subslice((c.$get()),1));}};AO=function(c,d,e){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=B.Syscall(C.FcntlSyscall,((c>>>0)),((d>>>0)),((e>>>0)));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[2];if(!((i===0))){$s=-1;return[((h>>0)),new B.Errno((i))];}$s=-1;return[((h>>0)),$ifaceNil];}return;}if($f===undefined){$f={$blk:AO};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AU=function(){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=0;e=0;c[0]=new B.Utsname.ptr(BR.zero(),BR.zero(),BR.zero(),BR.zero(),BR.zero(),BR.zero());f=B.Uname(c[0]);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(!($interfaceIsEqual(g,$ifaceNil))){$s=-1;return[d,e];}h=$clone(c[0].Release,BR);i=BJ.zero();j=0;k=0;l=h;m=0;while(true){if(!(m<65)){break;}n=((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m]);if(48<=n&&n<=57){k=(($imul(k,10)))+(((n-48<<24>>24)>>0))>>0;}else{((j<0||j>=i.length)?($throwRuntimeError("index out of range"),undefined):i[j]=k);j=j+(1)>>0;if(j>=2){break;}k=0;}m++;}o=j;if(o===(0)){p=0;q=0;d=p;e=q;$s=-1;return[d,e];}else if(o===(1)){r=i[0];s=0;d=r;e=s;$s=-1;return[d,e];}else if(o===(2)){t=i[0];u=i[1];d=t;e=u;$s=-1;return[d,e];}$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:AU};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};AV=function(c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=new $Int64(0,0);g=false;h=$ifaceNil;i=F.LoadInt32((AZ||(AZ=new BP(function(){return AT;},function($v){AT=$v;}))));if(i===0){$s=1;continue;}if(i===-1){$s=2;continue;}$s=3;continue;case 1:j=new $Int64(0,0);k=false;l=$ifaceNil;f=j;g=k;h=l;$s=-1;return[f,g,h];case 2:n=AU();$s=4;case 4:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];if(o>5||((o===5)&&p>=3)){F.StoreInt32((AZ||(AZ=new BP(function(){return AT;},function($v){AT=$v;}))),1);}else{F.StoreInt32((AZ||(AZ=new BP(function(){return AT;},function($v){AT=$v;}))),0);q=new $Int64(0,0);r=false;s=$ifaceNil;f=q;g=r;h=s;$s=-1;return[f,g,h];}case 3:case 5:if(!((e.$high>0||(e.$high===0&&e.$low>0)))){$s=6;continue;}t=e;if((t.$high>0||(t.$high===0&&t.$low>1073741824))){t=new $Int64(0,1073741824);}v=AW(c,d,(((t.$low+((t.$high>>31)*4294967296))>>0)));$s=7;case 7:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=u[0];x=u[1];y=x;if($interfaceIsEqual(y,new B.Errno((38)))){F.StoreInt32((AZ||(AZ=new BP(function(){return AT;},function($v){AT=$v;}))),0);z=new $Int64(0,0);aa=false;ab=$ifaceNil;f=z;g=aa;h=ab;$s=-1;return[f,g,h];}else if($interfaceIsEqual(y,new B.Errno((18)))||$interfaceIsEqual(y,new B.Errno((22)))||$interfaceIsEqual(y,new B.Errno((5)))||$interfaceIsEqual(y,new B.Errno((95)))||$interfaceIsEqual(y,new B.Errno((1)))){ac=new $Int64(0,0);ad=false;ae=$ifaceNil;f=ac;g=ad;h=ae;$s=-1;return[f,g,h];}else if($interfaceIsEqual(y,$ifaceNil)){if((w.$high===0&&w.$low===0)){if((f.$high===0&&f.$low===0)){af=new $Int64(0,0);ag=false;ah=$ifaceNil;f=af;g=ag;h=ah;$s=-1;return[f,g,h];}ai=f;aj=true;ak=$ifaceNil;f=ai;g=aj;h=ak;$s=-1;return[f,g,h];}e=(al=w,new $Int64(e.$high-al.$high,e.$low-al.$low));f=(am=w,new $Int64(f.$high+am.$high,f.$low+am.$low));}else{an=f;ao=true;ap=x;f=an;g=ao;h=ap;$s=-1;return[f,g,h];}$s=5;continue;case 6:aq=f;ar=true;as=$ifaceNil;f=aq;g=ar;h=as;$s=-1;return[f,g,h];}return;}if($f===undefined){$f={$blk:AV};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.CopyFileRange=AV;AW=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);f=new $Int64(0,0);g=$ifaceNil;h=c.writeLock();$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;if(!($interfaceIsEqual(i,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:j=new $Int64(0,0);k=i;f=j;g=k;l=[f,g];$s=4;case 4:return l;case 3:$deferred.push([$methodVal(c,"writeUnlock"),[]]);m=d.readLock();$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;if(!($interfaceIsEqual(n,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:o=new $Int64(0,0);p=n;f=o;g=p;q=[f,g];$s=8;case 8:return q;case 7:$deferred.push([$methodVal(d,"readUnlock"),[]]);r=0;case 9:t=C.CopyFileRange(d.Sysfd,BF.nil,c.Sysfd,BF.nil,e,0);$s=11;case 11:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;r=s[0];g=s[1];if(!($interfaceIsEqual(g,new B.Errno(4)))){$s=10;continue;}$s=9;continue;case 10:u=(new $Int64(0,r));v=g;f=u;g=v;w=[f,g];$s=12;case 12:return w;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[f,g];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:AW};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};BT.methods=[{prop:"init",name:"init",pkg:"internal/poll",typ:$funcType([BS],[$error],false)},{prop:"close",name:"close",pkg:"internal/poll",typ:$funcType([],[],false)},{prop:"evict",name:"evict",pkg:"internal/poll",typ:$funcType([],[],false)},{prop:"prepare",name:"prepare",pkg:"internal/poll",typ:$funcType([$Int,$Bool],[$error],false)},{prop:"prepareRead",name:"prepareRead",pkg:"internal/poll",typ:$funcType([$Bool],[$error],false)},{prop:"prepareWrite",name:"prepareWrite",pkg:"internal/poll",typ:$funcType([$Bool],[$error],false)},{prop:"wait",name:"wait",pkg:"internal/poll",typ:$funcType([$Int,$Bool],[$error],false)},{prop:"waitRead",name:"waitRead",pkg:"internal/poll",typ:$funcType([$Bool],[$error],false)},{prop:"waitWrite",name:"waitWrite",pkg:"internal/poll",typ:$funcType([$Bool],[$error],false)},{prop:"waitCanceled",name:"waitCanceled",pkg:"internal/poll",typ:$funcType([$Int],[],false)},{prop:"pollable",name:"pollable",pkg:"internal/poll",typ:$funcType([],[$Bool],false)}];BS.methods=[{prop:"Writev",name:"Writev",pkg:"",typ:$funcType([BW],[$Int64,$error],false)},{prop:"SetsockoptIPMreq",name:"SetsockoptIPMreq",pkg:"",typ:$funcType([$Int,$Int,BX],[$error],false)},{prop:"SetsockoptIPv6Mreq",name:"SetsockoptIPv6Mreq",pkg:"",typ:$funcType([$Int,$Int,BY],[$error],false)},{prop:"SetsockoptByte",name:"SetsockoptByte",pkg:"",typ:$funcType([$Int,$Int,$Uint8],[$error],false)},{prop:"SetsockoptIPMreqn",name:"SetsockoptIPMreqn",pkg:"",typ:$funcType([$Int,$Int,BZ],[$error],false)},{prop:"SetsockoptInt",name:"SetsockoptInt",pkg:"",typ:$funcType([$Int,$Int,$Int],[$error],false)},{prop:"SetsockoptInet4Addr",name:"SetsockoptInet4Addr",pkg:"",typ:$funcType([$Int,$Int,BL],[$error],false)},{prop:"SetsockoptLinger",name:"SetsockoptLinger",pkg:"",typ:$funcType([$Int,$Int,CA],[$error],false)},{prop:"SetDeadline",name:"SetDeadline",pkg:"",typ:$funcType([G.Time],[$error],false)},{prop:"SetReadDeadline",name:"SetReadDeadline",pkg:"",typ:$funcType([G.Time],[$error],false)},{prop:"SetWriteDeadline",name:"SetWriteDeadline",pkg:"",typ:$funcType([G.Time],[$error],false)},{prop:"Init",name:"Init",pkg:"",typ:$funcType([$String,$Bool],[$error],false)},{prop:"destroy",name:"destroy",pkg:"internal/poll",typ:$funcType([],[$error],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"SetBlocking",name:"SetBlocking",pkg:"",typ:$funcType([],[$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([BU],[$Int,$error],false)},{prop:"Pread",name:"Pread",pkg:"",typ:$funcType([BU,$Int64],[$Int,$error],false)},{prop:"ReadFrom",name:"ReadFrom",pkg:"",typ:$funcType([BU],[$Int,B.Sockaddr,$error],false)},{prop:"ReadMsg",name:"ReadMsg",pkg:"",typ:$funcType([BU,BU,$Int],[$Int,$Int,$Int,B.Sockaddr,$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([BU],[$Int,$error],false)},{prop:"Pwrite",name:"Pwrite",pkg:"",typ:$funcType([BU,$Int64],[$Int,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([BU,B.Sockaddr],[$Int,$error],false)},{prop:"WriteMsg",name:"WriteMsg",pkg:"",typ:$funcType([BU,BU,B.Sockaddr],[$Int,$Int,$error],false)},{prop:"Accept",name:"Accept",pkg:"",typ:$funcType([],[$Int,B.Sockaddr,$String,$error],false)},{prop:"Seek",name:"Seek",pkg:"",typ:$funcType([$Int64,$Int],[$Int64,$error],false)},{prop:"ReadDirent",name:"ReadDirent",pkg:"",typ:$funcType([BU],[$Int,$error],false)},{prop:"Fchmod",name:"Fchmod",pkg:"",typ:$funcType([$Uint32],[$error],false)},{prop:"Fchdir",name:"Fchdir",pkg:"",typ:$funcType([],[$error],false)},{prop:"Fstat",name:"Fstat",pkg:"",typ:$funcType([CB],[$error],false)},{prop:"Dup",name:"Dup",pkg:"",typ:$funcType([],[$Int,$String,$error],false)},{prop:"WaitWrite",name:"WaitWrite",pkg:"",typ:$funcType([],[$error],false)},{prop:"WriteOnce",name:"WriteOnce",pkg:"",typ:$funcType([BU],[$Int,$error],false)},{prop:"RawRead",name:"RawRead",pkg:"",typ:$funcType([CC],[$error],false)},{prop:"RawWrite",name:"RawWrite",pkg:"",typ:$funcType([CC],[$error],false)},{prop:"eofError",name:"eofError",pkg:"internal/poll",typ:$funcType([$Int,$error],[$error],false)},{prop:"Shutdown",name:"Shutdown",pkg:"",typ:$funcType([$Int],[$error],false)},{prop:"Fchown",name:"Fchown",pkg:"",typ:$funcType([$Int,$Int],[$error],false)},{prop:"Ftruncate",name:"Ftruncate",pkg:"",typ:$funcType([$Int64],[$error],false)},{prop:"RawControl",name:"RawControl",pkg:"",typ:$funcType([CD],[$error],false)},{prop:"incref",name:"incref",pkg:"internal/poll",typ:$funcType([],[$error],false)},{prop:"decref",name:"decref",pkg:"internal/poll",typ:$funcType([],[$error],false)},{prop:"readLock",name:"readLock",pkg:"internal/poll",typ:$funcType([],[$error],false)},{prop:"readUnlock",name:"readUnlock",pkg:"internal/poll",typ:$funcType([],[],false)},{prop:"writeLock",name:"writeLock",pkg:"internal/poll",typ:$funcType([],[$error],false)},{prop:"writeUnlock",name:"writeUnlock",pkg:"internal/poll",typ:$funcType([],[],false)},{prop:"Fsync",name:"Fsync",pkg:"",typ:$funcType([],[$error],false)}];CE.methods=[{prop:"incref",name:"incref",pkg:"internal/poll",typ:$funcType([],[$Bool],false)},{prop:"increfAndClose",name:"increfAndClose",pkg:"internal/poll",typ:$funcType([],[$Bool],false)},{prop:"decref",name:"decref",pkg:"internal/poll",typ:$funcType([],[$Bool],false)},{prop:"rwlock",name:"rwlock",pkg:"internal/poll",typ:$funcType([$Bool],[$Bool],false)},{prop:"rwunlock",name:"rwunlock",pkg:"internal/poll",typ:$funcType([$Bool],[$Bool],false)}];AK.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)}];CF.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)}];X.init("internal/poll",[{prop:"closing",name:"closing",embedded:false,exported:false,typ:$Bool,tag:""}]);AD.init("internal/poll",[{prop:"fdmu",name:"fdmu",embedded:false,exported:false,typ:AJ,tag:""},{prop:"Sysfd",name:"Sysfd",embedded:false,exported:true,typ:$Int,tag:""},{prop:"pd",name:"pd",embedded:false,exported:false,typ:X,tag:""},{prop:"iovecs",name:"iovecs",embedded:false,exported:false,typ:BD,tag:""},{prop:"csema",name:"csema",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"isBlocking",name:"isBlocking",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"IsStream",name:"IsStream",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"ZeroReadIsEOF",name:"ZeroReadIsEOF",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"isFile",name:"isFile",embedded:false,exported:false,typ:$Bool,tag:""}]);AJ.init("internal/poll",[{prop:"state",name:"state",embedded:false,exported:false,typ:$Uint64,tag:""},{prop:"rsema",name:"rsema",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"wsema",name:"wsema",embedded:false,exported:false,typ:$Uint32,tag:""}]);AK.init("",[]);AM.init("",[]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=H.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.CloseFunc=B.Close;$pkg.AcceptFunc=B.Accept;$pkg.Accept4Func=B.Accept4;AB={};AE=1;$pkg.ErrNetClosing=new AK.ptr();$pkg.ErrFileClosing=H.New("use of closed file");$pkg.ErrNoDeadline=H.New("file type does not support deadline");$pkg.ErrDeadlineExceeded=new AM.ptr();$pkg.ErrNotPollable=H.New("not pollable");$pkg.TestHookDidWritev=(function(c){var c;});AT=-1;}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["internal/syscall/execenv"]=(function(){var $pkg={},$init,A;A=$packages["syscall"];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["internal/testlog"]=(function(){var $pkg={},$init,B,A,C,N,D,F,I;B=$packages["sync"];A=$packages["sync/atomic"];C=$pkg.Interface=$newType(8,$kindInterface,"testlog.Interface",true,"internal/testlog",true,null);N=$ptrType(C);F=function(){var a;a=D.Load();if($interfaceIsEqual(a,$ifaceNil)){return $ifaceNil;}return $assertType(a,N).$get();};$pkg.Logger=F;I=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=F();if(!($interfaceIsEqual(b,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:$r=b.Stat(a);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:I};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Stat=I;C.init([{prop:"Chdir",name:"Chdir",pkg:"",typ:$funcType([$String],[],false)},{prop:"Getenv",name:"Getenv",pkg:"",typ:$funcType([$String],[],false)},{prop:"Open",name:"Open",pkg:"",typ:$funcType([$String],[],false)},{prop:"Stat",name:"Stat",pkg:"",typ:$funcType([$String],[],false)}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}D=new A.Value.ptr($ifaceNil);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["path"]=(function(){var $pkg={},$init,A,B,C;A=$packages["errors"];B=$packages["internal/bytealg"];C=$packages["unicode/utf8"];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrBadPattern=A.New("syntax error in pattern");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["io/fs"]=(function(){var $pkg={},$init,A,E,C,B,D,F,G,AE,AL,AM,AN,AP,AR,AS,AT,AG,AH,AI,AJ,AK;A=$packages["errors"];E=$packages["internal/oserror"];C=$packages["io"];B=$packages["path"];D=$packages["sort"];F=$packages["time"];G=$packages["unicode/utf8"];AE=$pkg.DirEntry=$newType(8,$kindInterface,"fs.DirEntry",true,"io/fs",true,null);AL=$pkg.FileInfo=$newType(8,$kindInterface,"fs.FileInfo",true,"io/fs",true,null);AM=$pkg.FileMode=$newType(4,$kindUint32,"fs.FileMode",true,"io/fs",true,null);AN=$pkg.PathError=$newType(0,$kindStruct,"fs.PathError",true,"io/fs",true,function(Op_,Path_,Err_){this.$val=this;if(arguments.length===0){this.Op="";this.Path="";this.Err=$ifaceNil;return;}this.Op=Op_;this.Path=Path_;this.Err=Err_;});AP=$ptrType(AN);AR=$sliceType($Uint8);AS=$arrayType($Uint8,32);AT=$interfaceType([{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)}]);AG=function(){return E.ErrInvalid;};AH=function(){return E.ErrPermission;};AI=function(){return E.ErrExist;};AJ=function(){return E.ErrNotExist;};AK=function(){return E.ErrClosed;};AM.prototype.String=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;a=this.$val;b=AS.zero();c=0;d="dalTLDpSugct?";e=0;while(true){if(!(e<d.length)){break;}f=$decodeRune(d,e);g=e;h=f[0];if(!((((a&(((i=(((31-g>>0)>>>0)),i<32?(1<<i):0)>>>0)))>>>0)===0))){((c<0||c>=b.length)?($throwRuntimeError("index out of range"),undefined):b[c]=((h<<24>>>24)));c=c+(1)>>0;}e+=f[1];}if(c===0){((c<0||c>=b.length)?($throwRuntimeError("index out of range"),undefined):b[c]=45);c=c+(1)>>0;}j="rwxrwxrwx";k=0;while(true){if(!(k<j.length)){break;}l=$decodeRune(j,k);m=k;n=l[0];if(!((((a&(((o=(((8-m>>0)>>>0)),o<32?(1<<o):0)>>>0)))>>>0)===0))){((c<0||c>=b.length)?($throwRuntimeError("index out of range"),undefined):b[c]=((n<<24>>>24)));}else{((c<0||c>=b.length)?($throwRuntimeError("index out of range"),undefined):b[c]=45);}c=c+(1)>>0;k+=l[1];}return($bytesToString($subslice(new AR(b),0,c)));};$ptrType(AM).prototype.String=function(){return new AM(this.$get()).String();};AM.prototype.IsDir=function(){var a;a=this.$val;return!((((a&2147483648)>>>0)===0));};$ptrType(AM).prototype.IsDir=function(){return new AM(this.$get()).IsDir();};AM.prototype.IsRegular=function(){var a;a=this.$val;return((a&2401763328)>>>0)===0;};$ptrType(AM).prototype.IsRegular=function(){return new AM(this.$get()).IsRegular();};AM.prototype.Perm=function(){var a;a=this.$val;return(a&511)>>>0;};$ptrType(AM).prototype.Perm=function(){return new AM(this.$get()).Perm();};AM.prototype.Type=function(){var a;a=this.$val;return(a&2401763328)>>>0;};$ptrType(AM).prototype.Type=function(){return new AM(this.$get()).Type();};AN.ptr.prototype.Error=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Err.Error();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=a.Op+" "+a.Path+": "+b;$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.Error};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.Error=function(){return this.$val.Error();};AN.ptr.prototype.Unwrap=function(){var a;a=this;return a.Err;};AN.prototype.Unwrap=function(){return this.$val.Unwrap();};AN.ptr.prototype.Timeout=function(){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=$assertType(a.Err,AT,true);c=b[0];d=b[1];if(!(d)){e=false;$s=1;continue s;}f=c.Timeout();$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;case 1:g=e;$s=3;case 3:return g;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.Timeout};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.Timeout=function(){return this.$val.Timeout();};AM.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"IsDir",name:"IsDir",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsRegular",name:"IsRegular",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Perm",name:"Perm",pkg:"",typ:$funcType([],[AM],false)},{prop:"Type",name:"Type",pkg:"",typ:$funcType([],[AM],false)}];AP.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Unwrap",name:"Unwrap",pkg:"",typ:$funcType([],[$error],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)}];AE.init([{prop:"Info",name:"Info",pkg:"",typ:$funcType([],[AL,$error],false)},{prop:"IsDir",name:"IsDir",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"Type",name:"Type",pkg:"",typ:$funcType([],[AM],false)}]);AL.init([{prop:"IsDir",name:"IsDir",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"ModTime",name:"ModTime",pkg:"",typ:$funcType([],[F.Time],false)},{prop:"Mode",name:"Mode",pkg:"",typ:$funcType([],[AM],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Sys",name:"Sys",pkg:"",typ:$funcType([],[$emptyInterface],false)}]);AN.init("",[{prop:"Op",name:"Op",embedded:false,exported:true,typ:$String,tag:""},{prop:"Path",name:"Path",embedded:false,exported:true,typ:$String,tag:""},{prop:"Err",name:"Err",embedded:false,exported:true,typ:$error,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.SkipDir=A.New("skip this directory");$pkg.ErrInvalid=AG();$pkg.ErrPermission=AH();$pkg.ErrExist=AI();$pkg.ErrNotExist=AJ();$pkg.ErrClosed=AK();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["os"]=(function(){var $pkg={},$init,E,K,F,P,J,N,H,G,M,I,D,A,Q,L,O,B,C,R,U,AT,BU,CG,CP,CR,EE,EG,FD,FI,FM,FO,FP,FQ,FT,FU,FZ,GA,GC,GD,GG,GH,GI,GJ,GK,GW,GX,GY,GZ,HA,HB,HC,HD,AA,AS,CS,CZ,FE,FK,e,f,g,AK,AL,AM,AP,AU,AV,BE,BL,BM,BV,BX,BY,CH,CI,CJ,CO,CQ,EC,ED,EH,EJ,EM,EN,EZ,FA,FB,FC,FF,FG,FH;E=$packages["errors"];K=$packages["github.com/gopherjs/gopherjs/js"];F=$packages["internal/itoa"];P=$packages["internal/oserror"];J=$packages["internal/poll"];N=$packages["internal/syscall/execenv"];H=$packages["internal/syscall/unix"];G=$packages["internal/testlog"];M=$packages["internal/unsafeheader"];I=$packages["io"];D=$packages["io/fs"];A=$packages["runtime"];Q=$packages["sort"];L=$packages["sync"];O=$packages["sync/atomic"];B=$packages["syscall"];C=$packages["time"];R=$pkg.fileStat=$newType(0,$kindStruct,"os.fileStat",true,"os",false,function(name_,size_,mode_,modTime_,sys_){this.$val=this;if(arguments.length===0){this.name="";this.size=new $Int64(0,0);this.mode=0;this.modTime=new C.Time.ptr(new $Uint64(0,0),new $Int64(0,0),FZ.nil);this.sys=new B.Stat_t.ptr(new $Uint64(0,0),new $Uint64(0,0),new $Uint64(0,0),0,0,0,0,new $Uint64(0,0),new $Int64(0,0),new $Int64(0,0),new $Int64(0,0),new B.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new B.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new B.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),GA.zero());return;}this.name=name_;this.size=size_;this.mode=mode_;this.modTime=modTime_;this.sys=sys_;});U=$pkg.File=$newType(0,$kindStruct,"os.File",true,"os",true,function(file_){this.$val=this;if(arguments.length===0){this.file=GJ.nil;return;}this.file=file_;});AT=$pkg.rawConn=$newType(0,$kindStruct,"os.rawConn",true,"os",false,function(file_){this.$val=this;if(arguments.length===0){this.file=FU.nil;return;}this.file=file_;});BU=$pkg.file=$newType(0,$kindStruct,"os.file",true,"os",false,function(pfd_,name_,dirinfo_,nonblock_,stdoutOrErr_,appendMode_){this.$val=this;if(arguments.length===0){this.pfd=new J.FD.ptr(new J.fdMutex.ptr(new $Uint64(0,0),0,0),0,new J.pollDesc.ptr(false),GH.nil,0,0,false,false,false);this.name="";this.dirinfo=GI.nil;this.nonblock=false;this.stdoutOrErr=false;this.appendMode=false;return;}this.pfd=pfd_;this.name=name_;this.dirinfo=dirinfo_;this.nonblock=nonblock_;this.stdoutOrErr=stdoutOrErr_;this.appendMode=appendMode_;});CG=$pkg.unixDirent=$newType(0,$kindStruct,"os.unixDirent",true,"os",false,function(parent_,name_,typ_,info_){this.$val=this;if(arguments.length===0){this.parent="";this.name="";this.typ=0;this.info=$ifaceNil;return;}this.parent=parent_;this.name=name_;this.typ=typ_;this.info=info_;});CP=$pkg.LinkError=$newType(0,$kindStruct,"os.LinkError",true,"os",true,function(Op_,Old_,New_,Err_){this.$val=this;if(arguments.length===0){this.Op="";this.Old="";this.New="";this.Err=$ifaceNil;return;}this.Op=Op_;this.Old=Old_;this.New=New_;this.Err=Err_;});CR=$pkg.onlyWriter=$newType(0,$kindStruct,"os.onlyWriter",true,"os",false,function(Writer_){this.$val=this;if(arguments.length===0){this.Writer=$ifaceNil;return;}this.Writer=Writer_;});EE=$pkg.timeout=$newType(8,$kindInterface,"os.timeout",true,"os",false,null);EG=$pkg.SyscallError=$newType(0,$kindStruct,"os.SyscallError",true,"os",true,function(Syscall_,Err_){this.$val=this;if(arguments.length===0){this.Syscall="";this.Err=$ifaceNil;return;}this.Syscall=Syscall_;this.Err=Err_;});FD=$pkg.dirInfo=$newType(0,$kindStruct,"os.dirInfo",true,"os",false,function(buf_,nbuf_,bufp_){this.$val=this;if(arguments.length===0){this.buf=FQ.nil;this.nbuf=0;this.bufp=0;return;}this.buf=buf_;this.nbuf=nbuf_;this.bufp=bufp_;});FI=$pkg.readdirMode=$newType(4,$kindInt,"os.readdirMode",true,"os",false,null);FM=$sliceType($String);FO=$sliceType($emptyInterface);FP=$sliceType($Uint8);FQ=$ptrType(FP);FT=$ptrType(R);FU=$ptrType(U);FZ=$ptrType(C.Location);GA=$arrayType($Int64,3);GC=$ptrType(D.PathError);GD=$ptrType(I.LimitedReader);GG=$sliceType(B.Iovec);GH=$ptrType(GG);GI=$ptrType(FD);GJ=$ptrType(BU);GK=$funcType([GJ],[$error],false);GW=$ptrType(CP);GX=$ptrType(EG);GY=$sliceType(D.DirEntry);GZ=$sliceType(D.FileInfo);HA=$funcType([$Uintptr],[],false);HB=$funcType([$Uintptr],[$Bool],false);HC=$ptrType(AT);HD=$ptrType(CG);R.ptr.prototype.Size=function(){var h;h=this;return h.size;};R.prototype.Size=function(){return this.$val.Size();};R.ptr.prototype.Mode=function(){var h;h=this;return h.mode;};R.prototype.Mode=function(){return this.$val.Mode();};R.ptr.prototype.ModTime=function(){var h;h=this;return h.modTime;};R.prototype.ModTime=function(){return this.$val.ModTime();};R.ptr.prototype.Sys=function(){var h;h=this;return h.sys;};R.prototype.Sys=function(){return this.$val.Sys();};R.ptr.prototype.Name=function(){var h;h=this;return h.name;};R.prototype.Name=function(){return this.$val.Name();};R.ptr.prototype.IsDir=function(){var h;h=this;return new D.FileMode(h.Mode()).IsDir();};R.prototype.IsDir=function(){return this.$val.IsDir();};U.ptr.prototype.Stat=function(){var h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=[h];i=this;if(i===FU.nil){$s=-1;return[$ifaceNil,$pkg.ErrInvalid];}h[0]=new R.ptr("",new $Int64(0,0),0,new C.Time.ptr(new $Uint64(0,0),new $Int64(0,0),FZ.nil),new B.Stat_t.ptr(new $Uint64(0,0),new $Uint64(0,0),new $Uint64(0,0),0,0,0,0,new $Uint64(0,0),new $Int64(0,0),new $Int64(0,0),new $Int64(0,0),new B.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new B.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new B.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),GA.zero()));j=i.file.pfd.Fstat(h[0].sys);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return[$ifaceNil,new D.PathError.ptr("stat",i.file.name,k)];}AL(h[0],i.file.name);$s=-1;return[h[0],$ifaceNil];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Stat};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Stat=function(){return this.$val.Stat();};AK=function(h){var h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=[h];i=[i];i[0]=new R.ptr("",new $Int64(0,0),0,new C.Time.ptr(new $Uint64(0,0),new $Int64(0,0),FZ.nil),new B.Stat_t.ptr(new $Uint64(0,0),new $Uint64(0,0),new $Uint64(0,0),0,0,0,0,new $Uint64(0,0),new $Int64(0,0),new $Int64(0,0),new $Int64(0,0),new B.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new B.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new B.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),GA.zero()));j=CO((function(h,i){return function $b(){var j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=B.Lstat(h[0],i[0].sys);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=2;case 2:return k;}return;}if($f===undefined){$f={$blk:$b};}$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};})(h,i));$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return[$ifaceNil,new D.PathError.ptr("lstat",h[0],k)];}AL(i[0],h[0]);$s=-1;return[i[0],$ifaceNil];}return;}if($f===undefined){$f={$blk:AK};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AL=function(h,i){var h,i,j;h.name=BE(i);h.size=h.sys.Size;C.Time.copy(h.modTime,AM($clone(h.sys.Mtim,B.Timespec)));h.mode=((((h.sys.Mode&511)>>>0)>>>0));j=(h.sys.Mode&61440)>>>0;if(j===(24576)){h.mode=(h.mode|(67108864))>>>0;}else if(j===(8192)){h.mode=(h.mode|(69206016))>>>0;}else if(j===(16384)){h.mode=(h.mode|(2147483648))>>>0;}else if(j===(4096)){h.mode=(h.mode|(33554432))>>>0;}else if(j===(40960)){h.mode=(h.mode|(134217728))>>>0;}else if(j===(32768)){}else if(j===(49152)){h.mode=(h.mode|(16777216))>>>0;}if(!((((h.sys.Mode&1024)>>>0)===0))){h.mode=(h.mode|(4194304))>>>0;}if(!((((h.sys.Mode&2048)>>>0)===0))){h.mode=(h.mode|(8388608))>>>0;}if(!((((h.sys.Mode&512)>>>0)===0))){h.mode=(h.mode|(1048576))>>>0;}};AM=function(h){var h;return C.Unix((h.Sec),(h.Nsec));};AP=function(h){var h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=G.Stat(h);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=AK(h);$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=3;case 3:return j;}return;}if($f===undefined){$f={$blk:AP};}$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Lstat=AP;U.ptr.prototype.readFrom=function(h){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=new $Int64(0,0);j=false;k=$ifaceNil;l=this;if(l.file.appendMode){m=new $Int64(0,0);n=false;o=$ifaceNil;i=m;j=n;k=o;$s=-1;return[i,j,k];}p=new $Int64(1073741824,0);q=$assertType(h,GD,true);r=q[0];s=q[1];if(s){t=r.N;u=r.R;p=t;h=u;if((p.$high<0||(p.$high===0&&p.$low<=0))){v=new $Int64(0,0);w=true;x=$ifaceNil;i=v;j=w;k=x;$s=-1;return[i,j,k];}}y=$assertType(h,FU,true);z=y[0];s=y[1];if(!s){aa=new $Int64(0,0);ab=false;ac=$ifaceNil;i=aa;j=ab;k=ac;$s=-1;return[i,j,k];}if(!($interfaceIsEqual(z.checkValid("ReadFrom"),$ifaceNil))){ad=new $Int64(0,0);ae=false;af=$ifaceNil;i=ad;j=ae;k=af;$s=-1;return[i,j,k];}ah=AS(l.file.pfd,z.file.pfd,p);$s=1;case 1:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;i=ag[0];j=ag[1];k=ag[2];if(!(r===GD.nil)){r.N=(ai=r.N,aj=i,new $Int64(ai.$high-aj.$high,ai.$low-aj.$low));}ak=i;al=j;am=EH("copy_file_range",k);i=ak;j=al;k=am;$s=-1;return[i,j,k];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.readFrom};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.readFrom=function(h){return this.$val.readFrom(h);};AT.ptr.prototype.Control=function(h){var h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=i.file.checkValid("SyscallConn.Control");if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return j;}k=i.file.file.pfd.RawControl(h);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;A.KeepAlive(i.file);$s=-1;return l;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.Control};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.Control=function(h){return this.$val.Control(h);};AT.ptr.prototype.Read=function(h){var h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=i.file.checkValid("SyscallConn.Read");if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return j;}k=i.file.file.pfd.RawRead(h);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;A.KeepAlive(i.file);$s=-1;return l;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.Read};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.Read=function(h){return this.$val.Read(h);};AT.ptr.prototype.Write=function(h){var h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=i.file.checkValid("SyscallConn.Write");if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return j;}k=i.file.file.pfd.RawWrite(h);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;A.KeepAlive(i.file);$s=-1;return l;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.Write};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.Write=function(h){return this.$val.Write(h);};AU=function(h){var h;return[new AT.ptr(h),$ifaceNil];};AV=function(){if(false){}$pkg.Args=BL();};BE=function(h){var h,i;i=h.length-1>>0;while(true){if(!(i>0&&(h.charCodeAt(i)===47))){break;}h=$substring(h,0,i);i=i-(1)>>0;}i=i-(1)>>0;while(true){if(!(i>=0)){break;}if(h.charCodeAt(i)===47){h=$substring(h,(i+1>>0));break;}i=i-(1)>>0;}return h;};BL=function(){return $pkg.Args;};BM=function(){var h,i,j;h=$global.process;if(!(h===undefined)){i=h.argv;if(!(i===undefined)){$pkg.Args=$makeSlice(FM,($parseInt(i.length)-1>>0));j=0;while(true){if(!(j<($parseInt(i.length)-1>>0))){break;}((j<0||j>=$pkg.Args.$length)?($throwRuntimeError("index out of range"),undefined):$pkg.Args.$array[$pkg.Args.$offset+j]=$internalize(i[(j+1>>0)],$String));j=j+(1)>>0;}}}if($pkg.Args.$length===0){$pkg.Args=new FM(["?"]);}};U.ptr.prototype.WriteString=function(h){var h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=0;j=$ifaceNil;k=this;m=k.Write((new FP($stringToBytes(h))));$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;i=l[0];j=l[1];n=[i,j];$s=2;case 2:return n;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.WriteString};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.WriteString=function(h){return this.$val.WriteString(h);};U.ptr.prototype.Fd=function(){var h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;if(h===FU.nil){$s=-1;return 4294967295;}if(h.file.nonblock){$s=1;continue;}$s=2;continue;case 1:i=h.file.pfd.SetBlocking();$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;case 2:$s=-1;return((h.file.pfd.Sysfd>>>0));}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Fd};}$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Fd=function(){return this.$val.Fd();};BV=function(h,i){var h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=0;k=H.IsNonblock(((h>>0)));l=k[0];m=k[1];if($interfaceIsEqual(m,$ifaceNil)&&l){j=3;}n=BX(h,i,j);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;$s=2;case 2:return o;}return;}if($f===undefined){$f={$blk:BV};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NewFile=BV;BX=function(h,i,j){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=[k];l=[l];k[0]=((h>>0));if(k[0]<0){$s=-1;return FU.nil;}m=new U.ptr(new BU.ptr(new J.FD.ptr(new J.fdMutex.ptr(new $Uint64(0,0),0,0),k[0],new J.pollDesc.ptr(false),GH.nil,0,0,true,true,false),i,GI.nil,false,(k[0]===1)||(k[0]===2),false));n=(j===1)||(j===2)||(j===3);if(j===1){$s=1;continue;}$s=2;continue;case 1:o="linux";if(o===("darwin")||o===("ios")||o===("dragonfly")||o===("freebsd")||o===("netbsd")||o===("openbsd")){$s=4;continue;}$s=5;continue;case 4:l[0]=new B.Stat_t.ptr(new $Uint64(0,0),new $Uint64(0,0),new $Uint64(0,0),0,0,0,0,new $Uint64(0,0),new $Int64(0,0),new $Int64(0,0),new $Int64(0,0),new B.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new B.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new B.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),GA.zero());p=CO((function(k,l){return function $b(){var p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=B.Fstat(k[0],l[0]);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;$s=2;case 2:return q;}return;}if($f===undefined){$f={$blk:$b};}$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};})(k,l));$s=6;case 6:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;r=(l[0].Mode&61440)>>>0;if($interfaceIsEqual(q,$ifaceNil)&&((r===32768)||(r===16384))){n=false;}if(false){}case 5:case 3:case 2:s=m.file.pfd.Init("file",n);if(!($interfaceIsEqual(s,$ifaceNil))){$s=7;continue;}if(n){$s=8;continue;}$s=9;continue;case 7:$s=9;continue;case 8:t=B.SetNonblock(k[0],true);$s=10;case 10:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t;if($interfaceIsEqual(u,$ifaceNil)){m.file.nonblock=true;}case 9:A.SetFinalizer(m.file,new GK($methodExpr(GJ,"close")));$s=-1;return m;}return;}if($f===undefined){$f={$blk:BX};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};BY=function(h,i){var h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($interfaceIsEqual(i,new B.Errno(32))&&h.file.stdoutOrErr){$s=1;continue;}$s=2;continue;case 1:$r=CI();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:BY};}$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BU.ptr.prototype.close=function(){var h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;if(h===GJ.nil){$s=-1;return new B.Errno(22);}if(!(h.dirinfo===GI.nil)){h.dirinfo.close();h.dirinfo=GI.nil;}i=$ifaceNil;j=h.pfd.Close();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(!($interfaceIsEqual(k,$ifaceNil))){if($interfaceIsEqual(k,J.ErrFileClosing)){k=$pkg.ErrClosed;}i=new D.PathError.ptr("close",h.name,k);}A.SetFinalizer(h,$ifaceNil);$s=-1;return i;}return;}if($f===undefined){$f={$blk:BU.ptr.prototype.close};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BU.prototype.close=function(){return this.$val.close();};U.ptr.prototype.seek=function(h,i){var h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=new $Int64(0,0);k=$ifaceNil;l=this;if(!(l.file.dirinfo===GI.nil)){l.file.dirinfo.close();l.file.dirinfo=GI.nil;}n=l.file.pfd.Seek(h,i);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;j=m[0];k=m[1];A.KeepAlive(l);o=j;p=k;j=o;k=p;$s=-1;return[j,k];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.seek};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.seek=function(h,i){return this.$val.seek(h,i);};CG.ptr.prototype.Name=function(){var h;h=this;return h.name;};CG.prototype.Name=function(){return this.$val.Name();};CG.ptr.prototype.IsDir=function(){var h;h=this;return new D.FileMode(h.typ).IsDir();};CG.prototype.IsDir=function(){return this.$val.IsDir();};CG.ptr.prototype.Type=function(){var h;h=this;return h.typ;};CG.prototype.Type=function(){return this.$val.Type();};CG.ptr.prototype.Info=function(){var h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;if(!($interfaceIsEqual(h.info,$ifaceNil))){$s=-1;return[h.info,$ifaceNil];}i=CZ(h.parent+"/"+h.name);$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=2;case 2:return j;}return;}if($f===undefined){$f={$blk:CG.ptr.prototype.Info};}$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};CG.prototype.Info=function(){return this.$val.Info();};CH=function(h,i,j){var h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=new CG.ptr(h,i,j,$ifaceNil);if(!((j===4294967295))&&!FK){$s=-1;return[k,$ifaceNil];}m=CZ(h+"/"+i);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];o=l[1];if(!($interfaceIsEqual(o,$ifaceNil))){$s=-1;return[$ifaceNil,o];}p=n.Mode();$s=2;case 2:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=new D.FileMode(p).Type();$s=3;case 3:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}k.typ=q;k.info=n;$s=-1;return[k,$ifaceNil];}return;}if($f===undefined){$f={$blk:CH};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};CI=function(){$throwRuntimeError("native function not implemented: os.sigpipe");};U.ptr.prototype.Close=function(){var h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;if(h===FU.nil){$s=-1;return $pkg.ErrInvalid;}i=h.file.close();$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=2;case 2:return j;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Close};}$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Close=function(){return this.$val.Close();};U.ptr.prototype.read=function(h){var h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=0;j=$ifaceNil;k=this;m=k.file.pfd.Read(h);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;i=l[0];j=l[1];A.KeepAlive(k);n=i;o=j;i=n;j=o;$s=-1;return[i,j];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.read};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.read=function(h){return this.$val.read(h);};U.ptr.prototype.pread=function(h,i){var h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=0;k=$ifaceNil;l=this;n=l.file.pfd.Pread(h,i);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;j=m[0];k=m[1];A.KeepAlive(l);o=j;p=k;j=o;k=p;$s=-1;return[j,k];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.pread};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.pread=function(h,i){return this.$val.pread(h,i);};U.ptr.prototype.write=function(h){var h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=0;j=$ifaceNil;k=this;m=k.file.pfd.Write(h);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;i=l[0];j=l[1];A.KeepAlive(k);n=i;o=j;i=n;j=o;$s=-1;return[i,j];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.write};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.write=function(h){return this.$val.write(h);};U.ptr.prototype.pwrite=function(h,i){var h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=0;k=$ifaceNil;l=this;n=l.file.pfd.Pwrite(h,i);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;j=m[0];k=m[1];A.KeepAlive(l);o=j;p=k;j=o;k=p;$s=-1;return[j,k];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.pwrite};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.pwrite=function(h,i){return this.$val.pwrite(h,i);};CJ=function(h){var h,i;i=0;i=(i|(((new D.FileMode(h).Perm()>>>0))))>>>0;if(!((((h&8388608)>>>0)===0))){i=(i|(2048))>>>0;}if(!((((h&4194304)>>>0)===0))){i=(i|(1024))>>>0;}if(!((((h&1048576)>>>0)===0))){i=(i|(512))>>>0;}return i;};U.ptr.prototype.chmod=function(h){var h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=i.checkValid("chmod");if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return j;}k=i.file.pfd.Fchmod(CJ(h));$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(!($interfaceIsEqual(l,$ifaceNil))){$s=-1;return i.wrapErr("chmod",l);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.chmod};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.chmod=function(h){return this.$val.chmod(h);};U.ptr.prototype.Chown=function(h,i){var h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;k=j.checkValid("chown");if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return k;}l=j.file.pfd.Fchown(h,i);$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(!($interfaceIsEqual(m,$ifaceNil))){$s=-1;return j.wrapErr("chown",m);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Chown};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Chown=function(h,i){return this.$val.Chown(h,i);};U.ptr.prototype.Truncate=function(h){var h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=i.checkValid("truncate");if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return j;}k=i.file.pfd.Ftruncate(h);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(!($interfaceIsEqual(l,$ifaceNil))){$s=-1;return i.wrapErr("truncate",l);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Truncate};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Truncate=function(h){return this.$val.Truncate(h);};U.ptr.prototype.Sync=function(){var h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;i=h.checkValid("sync");if(!($interfaceIsEqual(i,$ifaceNil))){$s=-1;return i;}j=h.file.pfd.Fsync();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return h.wrapErr("sync",k);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Sync};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Sync=function(){return this.$val.Sync();};U.ptr.prototype.Chdir=function(){var h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;i=h.checkValid("chdir");if(!($interfaceIsEqual(i,$ifaceNil))){$s=-1;return i;}j=h.file.pfd.Fchdir();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return h.wrapErr("chdir",k);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Chdir};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Chdir=function(){return this.$val.Chdir();};U.ptr.prototype.setDeadline=function(h){var h,i,j;i=this;j=i.checkValid("SetDeadline");if(!($interfaceIsEqual(j,$ifaceNil))){return j;}return i.file.pfd.SetDeadline($clone(h,C.Time));};U.prototype.setDeadline=function(h){return this.$val.setDeadline(h);};U.ptr.prototype.setReadDeadline=function(h){var h,i,j;i=this;j=i.checkValid("SetReadDeadline");if(!($interfaceIsEqual(j,$ifaceNil))){return j;}return i.file.pfd.SetReadDeadline($clone(h,C.Time));};U.prototype.setReadDeadline=function(h){return this.$val.setReadDeadline(h);};U.ptr.prototype.setWriteDeadline=function(h){var h,i,j;i=this;j=i.checkValid("SetWriteDeadline");if(!($interfaceIsEqual(j,$ifaceNil))){return j;}return i.file.pfd.SetWriteDeadline($clone(h,C.Time));};U.prototype.setWriteDeadline=function(h){return this.$val.setWriteDeadline(h);};U.ptr.prototype.checkValid=function(h){var h,i;i=this;if(i===FU.nil){return $pkg.ErrInvalid;}return $ifaceNil;};U.prototype.checkValid=function(h){return this.$val.checkValid(h);};CO=function(h){var h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:i=h();$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;if(!($interfaceIsEqual(j,new B.Errno(4)))){$s=-1;return j;}$s=1;continue;case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:CO};}$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};U.ptr.prototype.Name=function(){var h;h=this;return h.file.name;};U.prototype.Name=function(){return this.$val.Name();};CP.ptr.prototype.Error=function(){var h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;i=h.Err.Error();$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=h.Op+" "+h.Old+" "+h.New+": "+i;$s=2;case 2:return j;}return;}if($f===undefined){$f={$blk:CP.ptr.prototype.Error};}$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};CP.prototype.Error=function(){return this.$val.Error();};CP.ptr.prototype.Unwrap=function(){var h;h=this;return h.Err;};CP.prototype.Unwrap=function(){return this.$val.Unwrap();};U.ptr.prototype.Read=function(h){var h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=0;j=$ifaceNil;k=this;l=k.checkValid("read");if(!($interfaceIsEqual(l,$ifaceNil))){m=0;n=l;i=m;j=n;$s=-1;return[i,j];}p=k.read(h);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;i=o[0];q=o[1];r=i;s=k.wrapErr("read",q);i=r;j=s;$s=-1;return[i,j];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Read};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Read=function(h){return this.$val.Read(h);};U.ptr.prototype.ReadAt=function(h,i){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=0;k=$ifaceNil;l=this;m=l.checkValid("read");if(!($interfaceIsEqual(m,$ifaceNil))){n=0;o=m;j=n;k=o;$s=-1;return[j,k];}if((i.$high<0||(i.$high===0&&i.$low<0))){p=0;q=new D.PathError.ptr("readat",l.file.name,E.New("negative offset"));j=p;k=q;$s=-1;return[j,k];}case 1:if(!(h.$length>0)){$s=2;continue;}s=l.pread(h,i);$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];if(!($interfaceIsEqual(u,$ifaceNil))){k=l.wrapErr("read",u);$s=2;continue;}j=j+(t)>>0;h=$subslice(h,t);i=(v=(new $Int64(0,t)),new $Int64(i.$high+v.$high,i.$low+v.$low));$s=1;continue;case 2:$s=-1;return[j,k];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.ReadAt};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.ReadAt=function(h,i){return this.$val.ReadAt(h,i);};U.ptr.prototype.ReadFrom=function(h){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=new $Int64(0,0);j=$ifaceNil;k=this;l=k.checkValid("write");if(!($interfaceIsEqual(l,$ifaceNil))){m=new $Int64(0,0);n=l;i=m;j=n;$s=-1;return[i,j];}p=k.readFrom(h);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;i=o[0];q=o[1];r=o[2];if(!q){$s=2;continue;}$s=3;continue;case 2:t=CQ(k,h);$s=4;case 4:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;i=s[0];j=s[1];u=[i,j];$s=5;case 5:return u;case 3:v=i;w=k.wrapErr("write",r);i=v;j=w;$s=-1;return[i,j];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.ReadFrom};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.ReadFrom=function(h){return this.$val.ReadFrom(h);};CQ=function(h,i){var h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=I.Copy((j=new CR.ptr(h),new j.constructor.elem(j)),i);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=2;case 2:return l;}return;}if($f===undefined){$f={$blk:CQ};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};U.ptr.prototype.Write=function(h){var h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=0;j=$ifaceNil;k=this;l=k.checkValid("write");if(!($interfaceIsEqual(l,$ifaceNil))){m=0;n=l;i=m;j=n;$s=-1;return[i,j];}p=k.write(h);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;i=o[0];q=o[1];if(i<0){i=0;}if(!((i===h.$length))){j=I.ErrShortWrite;}$r=BY(k,q);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(q,$ifaceNil))){j=k.wrapErr("write",q);}r=i;s=j;i=r;j=s;$s=-1;return[i,j];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Write};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Write=function(h){return this.$val.Write(h);};U.ptr.prototype.WriteAt=function(h,i){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=0;k=$ifaceNil;l=this;m=l.checkValid("write");if(!($interfaceIsEqual(m,$ifaceNil))){n=0;o=m;j=n;k=o;$s=-1;return[j,k];}if(l.file.appendMode){p=0;q=CS;j=p;k=q;$s=-1;return[j,k];}if((i.$high<0||(i.$high===0&&i.$low<0))){r=0;s=new D.PathError.ptr("writeat",l.file.name,E.New("negative offset"));j=r;k=s;$s=-1;return[j,k];}case 1:if(!(h.$length>0)){$s=2;continue;}u=l.pwrite(h,i);$s=3;case 3:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=t[0];w=t[1];if(!($interfaceIsEqual(w,$ifaceNil))){k=l.wrapErr("write",w);$s=2;continue;}j=j+(v)>>0;h=$subslice(h,v);i=(x=(new $Int64(0,v)),new $Int64(i.$high+x.$high,i.$low+x.$low));$s=1;continue;case 2:$s=-1;return[j,k];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.WriteAt};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.WriteAt=function(h,i){return this.$val.WriteAt(h,i);};U.ptr.prototype.Seek=function(h,i){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=new $Int64(0,0);k=$ifaceNil;l=this;m=l.checkValid("seek");if(!($interfaceIsEqual(m,$ifaceNil))){n=new $Int64(0,0);o=m;j=n;k=o;$s=-1;return[j,k];}q=l.seek(h,i);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p[0];s=p[1];if($interfaceIsEqual(s,$ifaceNil)&&!(l.file.dirinfo===GI.nil)&&!((r.$high===0&&r.$low===0))){s=new B.Errno(21);}if(!($interfaceIsEqual(s,$ifaceNil))){t=new $Int64(0,0);u=l.wrapErr("seek",s);j=t;k=u;$s=-1;return[j,k];}v=r;w=$ifaceNil;j=v;k=w;$s=-1;return[j,k];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Seek};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Seek=function(h,i){return this.$val.Seek(h,i);};U.ptr.prototype.wrapErr=function(h,i){var h,i,j;j=this;if($interfaceIsEqual(i,$ifaceNil)||$interfaceIsEqual(i,I.EOF)){return i;}if($interfaceIsEqual(i,J.ErrFileClosing)){i=$pkg.ErrClosed;}return new D.PathError.ptr(h,j.file.name,i);};U.prototype.wrapErr=function(h,i){return this.$val.wrapErr(h,i);};U.ptr.prototype.Chmod=function(h){var h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=i.chmod(h);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=2;case 2:return k;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Chmod};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Chmod=function(h){return this.$val.Chmod(h);};U.ptr.prototype.SetDeadline=function(h){var h,i;i=this;return i.setDeadline($clone(h,C.Time));};U.prototype.SetDeadline=function(h){return this.$val.SetDeadline(h);};U.ptr.prototype.SetReadDeadline=function(h){var h,i;i=this;return i.setReadDeadline($clone(h,C.Time));};U.prototype.SetReadDeadline=function(h){return this.$val.SetReadDeadline(h);};U.ptr.prototype.SetWriteDeadline=function(h){var h,i;i=this;return i.setWriteDeadline($clone(h,C.Time));};U.prototype.SetWriteDeadline=function(h){return this.$val.SetWriteDeadline(h);};U.ptr.prototype.SyscallConn=function(){var h,i,j;h=this;i=h.checkValid("SyscallConn");if(!($interfaceIsEqual(i,$ifaceNil))){return[$ifaceNil,i];}j=AU(h);return[j[0],j[1]];};U.prototype.SyscallConn=function(){return this.$val.SyscallConn();};EC=function(){return J.ErrNoDeadline;};ED=function(){return J.ErrDeadlineExceeded;};EG.ptr.prototype.Error=function(){var h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;i=h.Err.Error();$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=h.Syscall+": "+i;$s=2;case 2:return j;}return;}if($f===undefined){$f={$blk:EG.ptr.prototype.Error};}$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};EG.prototype.Error=function(){return this.$val.Error();};EG.ptr.prototype.Unwrap=function(){var h;h=this;return h.Err;};EG.prototype.Unwrap=function(){return this.$val.Unwrap();};EG.ptr.prototype.Timeout=function(){var h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;i=$assertType(h.Err,EE,true);j=i[0];k=i[1];if(!(k)){l=false;$s=1;continue s;}m=j.Timeout();$s=2;case 2:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;case 1:n=l;$s=3;case 3:return n;}return;}if($f===undefined){$f={$blk:EG.ptr.prototype.Timeout};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};EG.prototype.Timeout=function(){return this.$val.Timeout();};EH=function(h,i){var h,i;if($interfaceIsEqual(i,$ifaceNil)){return $ifaceNil;}return new EG.ptr(h,i);};$pkg.NewSyscallError=EH;EJ=function(h){var h;return EM(h,$pkg.ErrNotExist);};$pkg.IsNotExist=EJ;EM=function(h,i){var h,i,j,k,l;h=EN(h);if($interfaceIsEqual(h,i)){return true;}j=$assertType(h,B.Errno,true);k=j[0];l=j[1];return l&&new B.Errno(k).Is(i);};EN=function(h){var h,i,j,k,l;i=h;if($assertType(i,GC,true)[1]){j=i.$val;return j.Err;}else if($assertType(i,GW,true)[1]){k=i.$val;return k.Err;}else if($assertType(i,GX,true)[1]){l=i.$val;return l.Err;}return h;};EZ=function(h){var h;return FF(h,0,8);};FA=function(h){var h;return FF(h,16,2);};FB=function(h){var h,i,j,k;i=FA(h);j=i[0];k=i[1];if(!k){return[new $Uint64(0,0),false];}return[new $Uint64(j.$high-0,j.$low-19),true];};FC=function(h){var h,i,j,k;i=18;if(i>=((h.$length>>>0))){return 4294967295;}j=((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]);k=j;if(k===(6)){return 67108864;}else if(k===(2)){return 69206016;}else if(k===(4)){return 2147483648;}else if(k===(1)){return 33554432;}else if(k===(10)){return 134217728;}else if(k===(8)){return 0;}else if(k===(12)){return 16777216;}return 4294967295;};FD.ptr.prototype.close=function(){var h;h=this;if(!(h.buf===FQ.nil)){FE.Put(h.buf);h.buf=FQ.nil;}};FD.prototype.close=function(){return this.$val.close();};U.ptr.prototype.readdir=function(h,i){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=FM.nil;k=GY.nil;l=GZ.nil;m=$ifaceNil;n=this;if(n.file.dirinfo===GI.nil){$s=1;continue;}$s=2;continue;case 1:n.file.dirinfo=new FD.ptr(FQ.nil,0,0);o=FE.Get();$s=3;case 3:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n.file.dirinfo.buf=$assertType(o,FQ);case 2:p=n.file.dirinfo;if(h===0){h=-1;}case 4:if(!(!((h===0)))){$s=5;continue;}if(p.bufp>=p.nbuf){$s=6;continue;}$s=7;continue;case 6:p.bufp=0;q=$ifaceNil;s=n.file.pfd.ReadDirent(p.buf.$get());$s=8;case 8:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;p.nbuf=r[0];q=r[1];A.KeepAlive(n);if(!($interfaceIsEqual(q,$ifaceNil))){t=j;u=k;v=l;w=new D.PathError.ptr("readdirent",n.file.name,q);j=t;k=u;l=v;m=w;$s=-1;return[j,k,l,m];}if(p.nbuf<=0){$s=5;continue;}case 7:x=$subslice((p.buf.$get()),p.bufp,p.nbuf);y=FA(x);z=y[0];aa=y[1];if(!aa||(ab=(new $Uint64(0,x.$length)),(z.$high>ab.$high||(z.$high===ab.$high&&z.$low>ab.$low)))){$s=5;continue;}ac=$subslice(x,0,$flatten64(z));p.bufp=p.bufp+(((z.$low>>0)))>>0;ad=EZ(ac);ae=ad[0];aa=ad[1];if(!aa){$s=5;continue;}if((ae.$high===0&&ae.$low===0)){$s=4;continue;}af=FB(ac);ag=af[0];aa=af[1];if(!aa||(ah=new $Uint64(0+ag.$high,19+ag.$low),ai=(new $Uint64(0,ac.$length)),(ah.$high>ai.$high||(ah.$high===ai.$high&&ah.$low>ai.$low)))){$s=5;continue;}aj=$subslice(ac,19,$flatten64(new $Uint64(0+ag.$high,19+ag.$low)));ak=aj;al=0;while(true){if(!(al<ak.$length)){break;}am=al;an=((al<0||al>=ak.$length)?($throwRuntimeError("index out of range"),undefined):ak.$array[ak.$offset+al]);if(an===0){aj=$subslice(aj,0,am);break;}al++;}if(($bytesToString(aj))==="."||($bytesToString(aj))===".."){$s=4;continue;}if(h>0){h=h-(1)>>0;}if(i===0){$s=9;continue;}if(i===1){$s=10;continue;}$s=11;continue;case 9:j=$append(j,($bytesToString(aj)));$s=12;continue;case 10:ap=CH(n.file.name,($bytesToString(aj)),FC(ac));$s=13;case 13:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;aq=ao[0];ar=ao[1];if(EJ(ar)){$s=4;continue;}if(!($interfaceIsEqual(ar,$ifaceNil))){as=FM.nil;at=k;au=GZ.nil;av=ar;j=as;k=at;l=au;m=av;$s=-1;return[j,k,l,m];}k=$append(k,aq);$s=12;continue;case 11:ax=CZ(n.file.name+"/"+($bytesToString(aj)));$s=14;case 14:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}aw=ax;ay=aw[0];az=aw[1];if(EJ(az)){$s=4;continue;}if(!($interfaceIsEqual(az,$ifaceNil))){ba=FM.nil;bb=GY.nil;bc=l;bd=az;j=ba;k=bb;l=bc;m=bd;$s=-1;return[j,k,l,m];}l=$append(l,ay);case 12:$s=4;continue;case 5:if(h>0&&(((j.$length+k.$length>>0)+l.$length>>0)===0)){be=FM.nil;bf=GY.nil;bg=GZ.nil;bh=I.EOF;j=be;k=bf;l=bg;m=bh;$s=-1;return[j,k,l,m];}bi=j;bj=k;bk=l;bl=$ifaceNil;j=bi;k=bj;l=bk;m=bl;$s=-1;return[j,k,l,m];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.readdir};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.readdir=function(h,i){return this.$val.readdir(h,i);};FF=function(h,i,j){var h,i,j,k,l,m,n,o,p,q,r;k=new $Uint64(0,0);l=false;if(h.$length<(((i+j>>>0)>>0))){m=new $Uint64(0,0);n=false;k=m;l=n;return[k,l];}if(false){}q=FH($subslice(h,i),j);r=true;k=q;l=r;return[k,l];};FG=function(h,i){var aa,ab,ac,ad,ae,af,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;j=i;if(j===(1)){return(new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0])));}else if(j===(2)){$unused((1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]));return(k=(new $Uint64(0,(1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]))),l=$shiftLeft64((new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))),8),new $Uint64(k.$high|l.$high,(k.$low|l.$low)>>>0));}else if(j===(4)){$unused((3>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+3]));return(m=(n=(o=(new $Uint64(0,(3>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+3]))),p=$shiftLeft64((new $Uint64(0,(2>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+2]))),8),new $Uint64(o.$high|p.$high,(o.$low|p.$low)>>>0)),q=$shiftLeft64((new $Uint64(0,(1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]))),16),new $Uint64(n.$high|q.$high,(n.$low|q.$low)>>>0)),r=$shiftLeft64((new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))),24),new $Uint64(m.$high|r.$high,(m.$low|r.$low)>>>0));}else if(j===(8)){$unused((7>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+7]));return(s=(t=(u=(v=(w=(x=(y=(new $Uint64(0,(7>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+7]))),z=$shiftLeft64((new $Uint64(0,(6>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+6]))),8),new $Uint64(y.$high|z.$high,(y.$low|z.$low)>>>0)),aa=$shiftLeft64((new $Uint64(0,(5>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+5]))),16),new $Uint64(x.$high|aa.$high,(x.$low|aa.$low)>>>0)),ab=$shiftLeft64((new $Uint64(0,(4>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+4]))),24),new $Uint64(w.$high|ab.$high,(w.$low|ab.$low)>>>0)),ac=$shiftLeft64((new $Uint64(0,(3>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+3]))),32),new $Uint64(v.$high|ac.$high,(v.$low|ac.$low)>>>0)),ad=$shiftLeft64((new $Uint64(0,(2>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+2]))),40),new $Uint64(u.$high|ad.$high,(u.$low|ad.$low)>>>0)),ae=$shiftLeft64((new $Uint64(0,(1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]))),48),new $Uint64(t.$high|ae.$high,(t.$low|ae.$low)>>>0)),af=$shiftLeft64((new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))),56),new $Uint64(s.$high|af.$high,(s.$low|af.$low)>>>0));}else{$panic(new $String("syscall: readInt with unsupported size"));}};FH=function(h,i){var aa,ab,ac,ad,ae,af,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;j=i;if(j===(1)){return(new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0])));}else if(j===(2)){$unused((1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]));return(k=(new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))),l=$shiftLeft64((new $Uint64(0,(1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]))),8),new $Uint64(k.$high|l.$high,(k.$low|l.$low)>>>0));}else if(j===(4)){$unused((3>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+3]));return(m=(n=(o=(new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))),p=$shiftLeft64((new $Uint64(0,(1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]))),8),new $Uint64(o.$high|p.$high,(o.$low|p.$low)>>>0)),q=$shiftLeft64((new $Uint64(0,(2>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+2]))),16),new $Uint64(n.$high|q.$high,(n.$low|q.$low)>>>0)),r=$shiftLeft64((new $Uint64(0,(3>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+3]))),24),new $Uint64(m.$high|r.$high,(m.$low|r.$low)>>>0));}else if(j===(8)){$unused((7>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+7]));return(s=(t=(u=(v=(w=(x=(y=(new $Uint64(0,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))),z=$shiftLeft64((new $Uint64(0,(1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]))),8),new $Uint64(y.$high|z.$high,(y.$low|z.$low)>>>0)),aa=$shiftLeft64((new $Uint64(0,(2>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+2]))),16),new $Uint64(x.$high|aa.$high,(x.$low|aa.$low)>>>0)),ab=$shiftLeft64((new $Uint64(0,(3>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+3]))),24),new $Uint64(w.$high|ab.$high,(w.$low|ab.$low)>>>0)),ac=$shiftLeft64((new $Uint64(0,(4>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+4]))),32),new $Uint64(v.$high|ac.$high,(v.$low|ac.$low)>>>0)),ad=$shiftLeft64((new $Uint64(0,(5>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+5]))),40),new $Uint64(u.$high|ad.$high,(u.$low|ad.$low)>>>0)),ae=$shiftLeft64((new $Uint64(0,(6>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+6]))),48),new $Uint64(t.$high|ae.$high,(t.$low|ae.$low)>>>0)),af=$shiftLeft64((new $Uint64(0,(7>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+7]))),56),new $Uint64(s.$high|af.$high,(s.$low|af.$low)>>>0));}else{$panic(new $String("syscall: readInt with unsupported size"));}};U.ptr.prototype.Readdir=function(h){var h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;if(i===FU.nil){$s=-1;return[GZ.nil,$pkg.ErrInvalid];}k=i.readdir(h,2);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[2];m=j[3];if(l===GZ.nil){l=new GZ([]);}$s=-1;return[l,m];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Readdir};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Readdir=function(h){return this.$val.Readdir(h);};U.ptr.prototype.Readdirnames=function(h){var h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=FM.nil;j=$ifaceNil;k=this;if(k===FU.nil){l=FM.nil;m=$pkg.ErrInvalid;i=l;j=m;$s=-1;return[i,j];}o=k.readdir(h,0);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;i=n[0];j=n[3];if(i===FM.nil){i=new FM([]);}p=i;q=j;i=p;j=q;$s=-1;return[i,j];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Readdirnames};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Readdirnames=function(h){return this.$val.Readdirnames(h);};U.ptr.prototype.ReadDir=function(h){var h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;if(i===FU.nil){$s=-1;return[GY.nil,$pkg.ErrInvalid];}k=i.readdir(h,1);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[1];m=j[3];if(l===GY.nil){l=new GY([]);}$s=-1;return[l,m];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.ReadDir};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.ReadDir=function(h){return this.$val.ReadDir(h);};FT.methods=[{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Mode",name:"Mode",pkg:"",typ:$funcType([],[D.FileMode],false)},{prop:"ModTime",name:"ModTime",pkg:"",typ:$funcType([],[C.Time],false)},{prop:"Sys",name:"Sys",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"IsDir",name:"IsDir",pkg:"",typ:$funcType([],[$Bool],false)}];FU.methods=[{prop:"Stat",name:"Stat",pkg:"",typ:$funcType([],[D.FileInfo,$error],false)},{prop:"readFrom",name:"readFrom",pkg:"os",typ:$funcType([I.Reader],[$Int64,$Bool,$error],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[$Int,$error],false)},{prop:"Fd",name:"Fd",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"seek",name:"seek",pkg:"os",typ:$funcType([$Int64,$Int],[$Int64,$error],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"read",name:"read",pkg:"os",typ:$funcType([FP],[$Int,$error],false)},{prop:"pread",name:"pread",pkg:"os",typ:$funcType([FP,$Int64],[$Int,$error],false)},{prop:"write",name:"write",pkg:"os",typ:$funcType([FP],[$Int,$error],false)},{prop:"pwrite",name:"pwrite",pkg:"os",typ:$funcType([FP,$Int64],[$Int,$error],false)},{prop:"chmod",name:"chmod",pkg:"os",typ:$funcType([D.FileMode],[$error],false)},{prop:"Chown",name:"Chown",pkg:"",typ:$funcType([$Int,$Int],[$error],false)},{prop:"Truncate",name:"Truncate",pkg:"",typ:$funcType([$Int64],[$error],false)},{prop:"Sync",name:"Sync",pkg:"",typ:$funcType([],[$error],false)},{prop:"Chdir",name:"Chdir",pkg:"",typ:$funcType([],[$error],false)},{prop:"setDeadline",name:"setDeadline",pkg:"os",typ:$funcType([C.Time],[$error],false)},{prop:"setReadDeadline",name:"setReadDeadline",pkg:"os",typ:$funcType([C.Time],[$error],false)},{prop:"setWriteDeadline",name:"setWriteDeadline",pkg:"os",typ:$funcType([C.Time],[$error],false)},{prop:"checkValid",name:"checkValid",pkg:"os",typ:$funcType([$String],[$error],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([FP],[$Int,$error],false)},{prop:"ReadAt",name:"ReadAt",pkg:"",typ:$funcType([FP,$Int64],[$Int,$error],false)},{prop:"ReadFrom",name:"ReadFrom",pkg:"",typ:$funcType([I.Reader],[$Int64,$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([FP],[$Int,$error],false)},{prop:"WriteAt",name:"WriteAt",pkg:"",typ:$funcType([FP,$Int64],[$Int,$error],false)},{prop:"Seek",name:"Seek",pkg:"",typ:$funcType([$Int64,$Int],[$Int64,$error],false)},{prop:"wrapErr",name:"wrapErr",pkg:"os",typ:$funcType([$String,$error],[$error],false)},{prop:"Chmod",name:"Chmod",pkg:"",typ:$funcType([D.FileMode],[$error],false)},{prop:"SetDeadline",name:"SetDeadline",pkg:"",typ:$funcType([C.Time],[$error],false)},{prop:"SetReadDeadline",name:"SetReadDeadline",pkg:"",typ:$funcType([C.Time],[$error],false)},{prop:"SetWriteDeadline",name:"SetWriteDeadline",pkg:"",typ:$funcType([C.Time],[$error],false)},{prop:"SyscallConn",name:"SyscallConn",pkg:"",typ:$funcType([],[B.RawConn,$error],false)},{prop:"readdir",name:"readdir",pkg:"os",typ:$funcType([$Int,FI],[FM,GY,GZ,$error],false)},{prop:"Readdir",name:"Readdir",pkg:"",typ:$funcType([$Int],[GZ,$error],false)},{prop:"Readdirnames",name:"Readdirnames",pkg:"",typ:$funcType([$Int],[FM,$error],false)},{prop:"ReadDir",name:"ReadDir",pkg:"",typ:$funcType([$Int],[GY,$error],false)}];HC.methods=[{prop:"Control",name:"Control",pkg:"",typ:$funcType([HA],[$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([HB],[$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([HB],[$error],false)}];GJ.methods=[{prop:"close",name:"close",pkg:"os",typ:$funcType([],[$error],false)}];HD.methods=[{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"IsDir",name:"IsDir",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Type",name:"Type",pkg:"",typ:$funcType([],[D.FileMode],false)},{prop:"Info",name:"Info",pkg:"",typ:$funcType([],[D.FileInfo,$error],false)}];GW.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Unwrap",name:"Unwrap",pkg:"",typ:$funcType([],[$error],false)}];GX.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Unwrap",name:"Unwrap",pkg:"",typ:$funcType([],[$error],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)}];GI.methods=[{prop:"close",name:"close",pkg:"os",typ:$funcType([],[],false)}];R.init("os",[{prop:"name",name:"name",embedded:false,exported:false,typ:$String,tag:""},{prop:"size",name:"size",embedded:false,exported:false,typ:$Int64,tag:""},{prop:"mode",name:"mode",embedded:false,exported:false,typ:D.FileMode,tag:""},{prop:"modTime",name:"modTime",embedded:false,exported:false,typ:C.Time,tag:""},{prop:"sys",name:"sys",embedded:false,exported:false,typ:B.Stat_t,tag:""}]);U.init("os",[{prop:"file",name:"file",embedded:true,exported:false,typ:GJ,tag:""}]);AT.init("os",[{prop:"file",name:"file",embedded:false,exported:false,typ:FU,tag:""}]);BU.init("os",[{prop:"pfd",name:"pfd",embedded:false,exported:false,typ:J.FD,tag:""},{prop:"name",name:"name",embedded:false,exported:false,typ:$String,tag:""},{prop:"dirinfo",name:"dirinfo",embedded:false,exported:false,typ:GI,tag:""},{prop:"nonblock",name:"nonblock",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"stdoutOrErr",name:"stdoutOrErr",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"appendMode",name:"appendMode",embedded:false,exported:false,typ:$Bool,tag:""}]);CG.init("os",[{prop:"parent",name:"parent",embedded:false,exported:false,typ:$String,tag:""},{prop:"name",name:"name",embedded:false,exported:false,typ:$String,tag:""},{prop:"typ",name:"typ",embedded:false,exported:false,typ:D.FileMode,tag:""},{prop:"info",name:"info",embedded:false,exported:false,typ:D.FileInfo,tag:""}]);CP.init("",[{prop:"Op",name:"Op",embedded:false,exported:true,typ:$String,tag:""},{prop:"Old",name:"Old",embedded:false,exported:true,typ:$String,tag:""},{prop:"New",name:"New",embedded:false,exported:true,typ:$String,tag:""},{prop:"Err",name:"Err",embedded:false,exported:true,typ:$error,tag:""}]);CR.init("",[{prop:"Writer",name:"Writer",embedded:true,exported:true,typ:I.Writer,tag:""}]);EE.init([{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)}]);EG.init("",[{prop:"Syscall",name:"Syscall",embedded:false,exported:true,typ:$String,tag:""},{prop:"Err",name:"Err",embedded:false,exported:true,typ:$error,tag:""}]);FD.init("os",[{prop:"buf",name:"buf",embedded:false,exported:false,typ:FQ,tag:""},{prop:"nbuf",name:"nbuf",embedded:false,exported:false,typ:$Int,tag:""},{prop:"bufp",name:"bufp",embedded:false,exported:false,typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=E.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=P.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=N.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=Q.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=O.$init();$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.Args=FM.nil;FK=false;AA=E.New("pattern contains path separator");AS=J.CopyFileRange;CS=E.New("os: invalid use of WriteAt on file opened with O_APPEND");CZ=AP;$pkg.ErrProcessDone=E.New("os: process already finished");$pkg.ErrInvalid=D.ErrInvalid;$pkg.ErrNotExist=D.ErrNotExist;$pkg.ErrClosed=D.ErrClosed;$pkg.ErrNoDeadline=EC();$pkg.ErrDeadlineExceeded=ED();FE=new L.Pool.ptr(FO.nil,(function(){var e,f;e=$makeSlice(FP,8192);return(f||(f=new FQ(function(){return e;},function($v){e=$convertSliceType($v,FP);})));}));e=BV(((B.Stdin>>>0)),"/dev/stdin");$s=18;case 18:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$pkg.Stdin=e;f=BV(((B.Stdout>>>0)),"/dev/stdout");$s=19;case 19:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$pkg.Stdout=f;g=BV(((B.Stderr>>>0)),"/dev/stderr");$s=20;case 20:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$pkg.Stderr=g;AV();BM();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["fmt"]=(function(){var $pkg={},$init,A,I,B,C,D,E,F,G,H,J,V,W,X,AK,AL,AM,AN,AO,AP,BG,BH,BJ,BK,BL,BM,BN,BO,BP,BS,BT,CO,CP,CQ,CS,CT,Y,AC,AE,AF,AQ,Z,AA,AG,AR,AS,AU,AV,AY,AZ,BA,BB,BC,BD,BE,BF,BI;A=$packages["errors"];I=$packages["internal/fmtsort"];B=$packages["io"];C=$packages["math"];D=$packages["os"];E=$packages["reflect"];F=$packages["strconv"];G=$packages["sync"];H=$packages["unicode/utf8"];J=$pkg.ScanState=$newType(8,$kindInterface,"fmt.ScanState",true,"fmt",true,null);V=$pkg.scanError=$newType(0,$kindStruct,"fmt.scanError",true,"fmt",false,function(err_){this.$val=this;if(arguments.length===0){this.err=$ifaceNil;return;}this.err=err_;});W=$pkg.ss=$newType(0,$kindStruct,"fmt.ss",true,"fmt",false,function(rs_,buf_,count_,atEOF_,ssave_){this.$val=this;if(arguments.length===0){this.rs=$ifaceNil;this.buf=AO.nil;this.count=0;this.atEOF=false;this.ssave=new X.ptr(false,false,false,0,0,0);return;}this.rs=rs_;this.buf=buf_;this.count=count_;this.atEOF=atEOF_;this.ssave=ssave_;});X=$pkg.ssave=$newType(0,$kindStruct,"fmt.ssave",true,"fmt",false,function(validSave_,nlIsEnd_,nlIsSpace_,argLimit_,limit_,maxWid_){this.$val=this;if(arguments.length===0){this.validSave=false;this.nlIsEnd=false;this.nlIsSpace=false;this.argLimit=0;this.limit=0;this.maxWid=0;return;}this.validSave=validSave_;this.nlIsEnd=nlIsEnd_;this.nlIsSpace=nlIsSpace_;this.argLimit=argLimit_;this.limit=limit_;this.maxWid=maxWid_;});AK=$pkg.State=$newType(8,$kindInterface,"fmt.State",true,"fmt",true,null);AL=$pkg.Formatter=$newType(8,$kindInterface,"fmt.Formatter",true,"fmt",true,null);AM=$pkg.Stringer=$newType(8,$kindInterface,"fmt.Stringer",true,"fmt",true,null);AN=$pkg.GoStringer=$newType(8,$kindInterface,"fmt.GoStringer",true,"fmt",true,null);AO=$pkg.buffer=$newType(12,$kindSlice,"fmt.buffer",true,"fmt",false,null);AP=$pkg.pp=$newType(0,$kindStruct,"fmt.pp",true,"fmt",false,function(buf_,arg_,value_,fmt_,reordered_,goodArgNum_,panicking_,erroring_,wrapErrs_,wrappedErr_){this.$val=this;if(arguments.length===0){this.buf=AO.nil;this.arg=$ifaceNil;this.value=new E.Value.ptr(BN.nil,0,0);this.fmt=new BH.ptr(BO.nil,new BG.ptr(false,false,false,false,false,false,false,false,false),0,0,BP.zero());this.reordered=false;this.goodArgNum=false;this.panicking=false;this.erroring=false;this.wrapErrs=false;this.wrappedErr=$ifaceNil;return;}this.buf=buf_;this.arg=arg_;this.value=value_;this.fmt=fmt_;this.reordered=reordered_;this.goodArgNum=goodArgNum_;this.panicking=panicking_;this.erroring=erroring_;this.wrapErrs=wrapErrs_;this.wrappedErr=wrappedErr_;});BG=$pkg.fmtFlags=$newType(0,$kindStruct,"fmt.fmtFlags",true,"fmt",false,function(widPresent_,precPresent_,minus_,plus_,sharp_,space_,zero_,plusV_,sharpV_){this.$val=this;if(arguments.length===0){this.widPresent=false;this.precPresent=false;this.minus=false;this.plus=false;this.sharp=false;this.space=false;this.zero=false;this.plusV=false;this.sharpV=false;return;}this.widPresent=widPresent_;this.precPresent=precPresent_;this.minus=minus_;this.plus=plus_;this.sharp=sharp_;this.space=space_;this.zero=zero_;this.plusV=plusV_;this.sharpV=sharpV_;});BH=$pkg.fmt=$newType(0,$kindStruct,"fmt.fmt",true,"fmt",false,function(buf_,fmtFlags_,wid_,prec_,intbuf_){this.$val=this;if(arguments.length===0){this.buf=BO.nil;this.fmtFlags=new BG.ptr(false,false,false,false,false,false,false,false,false);this.wid=0;this.prec=0;this.intbuf=BP.zero();return;}this.buf=buf_;this.fmtFlags=fmtFlags_;this.wid=wid_;this.prec=prec_;this.intbuf=intbuf_;});BJ=$pkg.wrapError=$newType(0,$kindStruct,"fmt.wrapError",true,"fmt",false,function(msg_,err_){this.$val=this;if(arguments.length===0){this.msg="";this.err=$ifaceNil;return;}this.msg=msg_;this.err=err_;});BK=$arrayType($Uint16,2);BL=$sliceType(BK);BM=$sliceType($emptyInterface);BN=$ptrType(E.rtype);BO=$ptrType(AO);BP=$arrayType($Uint8,68);BS=$sliceType($Uint8);BT=$ptrType(W);CO=$ptrType(AP);CP=$arrayType($Uint8,6);CQ=$funcType([$Int32],[$Bool],false);CS=$ptrType(BH);CT=$ptrType(BJ);W.ptr.prototype.Read=function(a){var a,b,c,d,e,f;b=0;c=$ifaceNil;d=this;e=0;f=A.New("ScanState's Read should not be called. Use ReadRune");b=e;c=f;return[b,c];};W.prototype.Read=function(a){return this.$val.Read(a);};W.ptr.prototype.ReadRune=function(){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=0;b=0;c=$ifaceNil;d=this;if(d.atEOF||d.count>=d.ssave.argLimit){c=B.EOF;$s=-1;return[a,b,c];}f=d.rs.ReadRune();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;a=e[0];b=e[1];c=e[2];if($interfaceIsEqual(c,$ifaceNil)){d.count=d.count+(1)>>0;if(d.ssave.nlIsEnd&&(a===10)){d.atEOF=true;}}else if($interfaceIsEqual(c,B.EOF)){d.atEOF=true;}$s=-1;return[a,b,c];}return;}if($f===undefined){$f={$blk:W.ptr.prototype.ReadRune};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};W.prototype.ReadRune=function(){return this.$val.ReadRune();};W.ptr.prototype.Width=function(){var a,b,c,d,e,f,g;a=0;b=false;c=this;if(c.ssave.maxWid===1073741824){d=0;e=false;a=d;b=e;return[a,b];}f=c.ssave.maxWid;g=true;a=f;b=g;return[a,b];};W.prototype.Width=function(){return this.$val.Width();};W.ptr.prototype.getRune=function(){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=0;b=this;d=b.ReadRune();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;a=c[0];e=c[2];if(!($interfaceIsEqual(e,$ifaceNil))){if($interfaceIsEqual(e,B.EOF)){a=-1;$s=-1;return a;}b.error(e);}$s=-1;return a;}return;}if($f===undefined){$f={$blk:W.ptr.prototype.getRune};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};W.prototype.getRune=function(){return this.$val.getRune();};W.ptr.prototype.UnreadRune=function(){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.rs.UnreadRune();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}b;a.atEOF=false;a.count=a.count-(1)>>0;$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:W.ptr.prototype.UnreadRune};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};W.prototype.UnreadRune=function(){return this.$val.UnreadRune();};W.ptr.prototype.error=function(a){var a,b,c;b=this;$panic((c=new V.ptr(a),new c.constructor.elem(c)));};W.prototype.error=function(a){return this.$val.error(a);};W.ptr.prototype.errorString=function(a){var a,b,c;b=this;$panic((c=new V.ptr(A.New(a)),new c.constructor.elem(c)));};W.prototype.errorString=function(a){return this.$val.errorString(a);};W.ptr.prototype.Token=function(a,b){var a,b,c,d,e,f,g,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=[c];d=BS.nil;c[0]=$ifaceNil;e=this;$deferred.push([(function(c){return function(){var f,g,h,i;f=$recover();if(!($interfaceIsEqual(f,$ifaceNil))){g=$assertType(f,V,true);h=$clone(g[0],V);i=g[1];if(i){c[0]=h.err;}else{$panic(f);}}};})(c),[]]);if(b===$throwNilPointerError){b=AA;}e.buf=$subslice(e.buf,0,0);f=e.token(a,b);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}d=f;g=[d,c[0]];$s=2;case 2:return g;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[d,c[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:W.ptr.prototype.Token};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};W.prototype.Token=function(a,b){return this.$val.Token(a,b);};Z=function(a){var a,b,c,d,e;if(a>=65536){return false;}b=((a<<16>>>16));c=Y;d=0;while(true){if(!(d<c.$length)){break;}e=$clone(((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),BK);if(b<e[0]){return false;}if(b<=e[1]){return true;}d++;}return false;};AA=function(a){var a;return!Z(a);};W.ptr.prototype.free=function(a){var a,b;b=this;if(a.validSave){X.copy(b.ssave,a);return;}if(b.buf.$capacity>1024){return;}b.buf=$subslice(b.buf,0,0);b.rs=$ifaceNil;AC.Put(b);};W.prototype.free=function(a){return this.$val.free(a);};W.ptr.prototype.SkipSpace=function(){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:b=a.getRune();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;if(c===-1){$s=-1;return;}if(!(c===13)){d=false;$s=6;continue s;}e=a.peek("\n");$s=7;case 7:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;case 6:if(d){$s=4;continue;}$s=5;continue;case 4:$s=1;continue;case 5:if(c===10){if(a.ssave.nlIsSpace){$s=1;continue;}a.errorString("unexpected newline");$s=-1;return;}if(!Z(c)){$s=8;continue;}$s=9;continue;case 8:f=a.UnreadRune();$s=10;case 10:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;$s=2;continue;case 9:$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:W.ptr.prototype.SkipSpace};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};W.prototype.SkipSpace=function(){return this.$val.SkipSpace();};W.ptr.prototype.token=function(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(a){$s=1;continue;}$s=2;continue;case 1:$r=c.SkipSpace();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:case 4:d=c.getRune();$s=6;case 6:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===-1){$s=5;continue;}f=b(e);$s=9;case 9:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(!f){$s=7;continue;}$s=8;continue;case 7:g=c.UnreadRune();$s=10;case 10:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;$s=5;continue;case 8:(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeRune(e);$s=4;continue;case 5:$s=-1;return $convertSliceType(c.buf,BS);}return;}if($f===undefined){$f={$blk:W.ptr.prototype.token};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};W.prototype.token=function(a,b){return this.$val.token(a,b);};AG=function(a,b){var a,b,c,d,e,f,g;c=a;d=0;while(true){if(!(d<c.length)){break;}e=$decodeRune(c,d);f=d;g=e[0];if(g===b){return f;}d+=e[1];}return-1;};W.ptr.prototype.peek=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.getRune();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(!((d===-1))){$s=2;continue;}$s=3;continue;case 2:e=b.UnreadRune();$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;case 3:$s=-1;return AG(a,d)>=0;}return;}if($f===undefined){$f={$blk:W.ptr.prototype.peek};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};W.prototype.peek=function(a){return this.$val.peek(a);};$ptrType(AO).prototype.write=function(a){var a,b;b=this;b.$set($appendSlice(b.$get(),a));};$ptrType(AO).prototype.writeString=function(a){var a,b;b=this;b.$set($appendSlice(b.$get(),a));};$ptrType(AO).prototype.writeByte=function(a){var a,b;b=this;b.$set($append(b.$get(),a));};$ptrType(AO).prototype.writeRune=function(a){var a,b,c,d,e;b=this;if(a<128){b.$set($append(b.$get(),((a<<24>>>24))));return;}c=b.$get();d=c.$length;while(true){if(!((d+4>>0)>c.$capacity)){break;}c=$append(c,0);}e=H.EncodeRune($convertSliceType($subslice(c,d,(d+4>>0)),BS),a);b.$set($subslice(c,0,(d+e>>0)));};AR=function(){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=AQ.Get();$s=1;case 1:if($c){$c=false;a=a.$blk();}if(a&&a.$blk!==undefined){break s;}b=$assertType(a,CO);b.panicking=false;b.erroring=false;b.wrapErrs=false;b.fmt.init((b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))));$s=-1;return b;}return;}if($f===undefined){$f={$blk:AR};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AP.ptr.prototype.free=function(){var a;a=this;if(a.buf.$capacity>65536){return;}a.buf=$subslice(a.buf,0,0);a.arg=$ifaceNil;a.value=new E.Value.ptr(BN.nil,0,0);a.wrappedErr=$ifaceNil;AQ.Put(a);};AP.prototype.free=function(){return this.$val.free();};AP.ptr.prototype.Width=function(){var a,b,c,d,e;a=0;b=false;c=this;d=c.fmt.wid;e=c.fmt.fmtFlags.widPresent;a=d;b=e;return[a,b];};AP.prototype.Width=function(){return this.$val.Width();};AP.ptr.prototype.Precision=function(){var a,b,c,d,e;a=0;b=false;c=this;d=c.fmt.prec;e=c.fmt.fmtFlags.precPresent;a=d;b=e;return[a,b];};AP.prototype.Precision=function(){return this.$val.Precision();};AP.ptr.prototype.Flag=function(a){var a,b,c;b=this;c=a;if(c===(45)){return b.fmt.fmtFlags.minus;}else if(c===(43)){return b.fmt.fmtFlags.plus||b.fmt.fmtFlags.plusV;}else if(c===(35)){return b.fmt.fmtFlags.sharp||b.fmt.fmtFlags.sharpV;}else if(c===(32)){return b.fmt.fmtFlags.space;}else if(c===(48)){return b.fmt.fmtFlags.zero;}return false;};AP.prototype.Flag=function(a){return this.$val.Flag(a);};AP.ptr.prototype.Write=function(a){var a,b,c,d,e,f;b=0;c=$ifaceNil;d=this;(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).write(a);e=a.$length;f=$ifaceNil;b=e;c=f;return[b,c];};AP.prototype.Write=function(a){return this.$val.Write(a);};AP.ptr.prototype.WriteString=function(a){var a,b,c,d,e,f;b=0;c=$ifaceNil;d=this;(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString(a);e=a.length;f=$ifaceNil;b=e;c=f;return[b,c];};AP.prototype.WriteString=function(a){return this.$val.WriteString(a);};AS=function(a,b,c){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=0;e=$ifaceNil;f=AR();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$r=g.doPrintf(b,c);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=a.Write($convertSliceType(g.buf,BS));$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;d=h[0];e=h[1];g.free();$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:AS};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Fprintf=AS;AU=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=AR();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$r=d.doPrintf(a,b);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=($bytesToString(d.buf));d.free();$s=-1;return e;}return;}if($f===undefined){$f={$blk:AU};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Sprintf=AU;AV=function(a,b){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=0;d=$ifaceNil;e=AR();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$r=f.doPrint(b);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h=a.Write($convertSliceType(f.buf,BS));$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;c=g[0];d=g[1];f.free();$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:AV};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Fprint=AV;AY=function(a,b){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=0;d=$ifaceNil;e=AR();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$r=f.doPrintln(b);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h=a.Write($convertSliceType(f.buf,BS));$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;c=g[0];d=g[1];f.free();$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:AY};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Fprintln=AY;AZ=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;e=AY(D.Stdout,a);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;b=d[0];c=d[1];f=[b,c];$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:AZ};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Println=AZ;BA=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=AR();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$r=c.doPrintln(a);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=($bytesToString(c.buf));c.free();$s=-1;return d;}return;}if($f===undefined){$f={$blk:BA};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Sprintln=BA;BB=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone(a,E.Value).Field(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(($clone(d,E.Value).Kind()===20)&&!$clone(d,E.Value).IsNil()){$s=2;continue;}$s=3;continue;case 2:e=$clone(d,E.Value).Elem();$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;case 3:$s=-1;return d;}return;}if($f===undefined){$f={$blk:BB};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BC=function(a){var a;return a>1000000||a<-1000000;};BD=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l;d=0;e=false;f=0;if(b>=c){g=0;h=false;i=c;d=g;e=h;f=i;return[d,e,f];}f=b;while(true){if(!(f<c&&48<=a.charCodeAt(f)&&a.charCodeAt(f)<=57)){break;}if(BC(d)){j=0;k=false;l=c;d=j;e=k;f=l;return[d,e,f];}d=($imul(d,10))+(((a.charCodeAt(f)-48<<24>>>24)>>0))>>0;e=true;f=f+(1)>>0;}return[d,e,f];};AP.ptr.prototype.unknownType=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(!$clone(a,E.Value).IsValid()){(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeString("<nil>");$s=-1;return;}(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeByte(63);c=$clone(a,E.Value).Type().String();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$r=(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeString(c);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeByte(63);$s=-1;return;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.unknownType};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.unknownType=function(a){return this.$val.unknownType(a);};AP.ptr.prototype.badVerb=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;b.erroring=true;(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeString("%!");(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeRune(a);(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeByte(40);if(!($interfaceIsEqual(b.arg,$ifaceNil))){$s=2;continue;}if($clone(b.value,E.Value).IsValid()){$s=3;continue;}$s=4;continue;case 2:c=E.TypeOf(b.arg).String();$s=6;case 6:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$r=(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeString(c);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeByte(61);$r=b.printArg(b.arg,118);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 3:d=$clone(b.value,E.Value).Type().String();$s=9;case 9:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$r=(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeString(d);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeByte(61);$r=b.printValue($clone(b.value,E.Value),118,0);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 4:(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeString("<nil>");case 5:case 1:(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeByte(41);b.erroring=false;$s=-1;return;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.badVerb};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.badVerb=function(a){return this.$val.badVerb(a);};AP.ptr.prototype.fmtBool=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=b;if((d===(116))||(d===(118))){$s=2;continue;}$s=3;continue;case 2:c.fmt.fmtBoolean(a);$s=4;continue;case 3:$r=c.badVerb(b);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.fmtBool};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.fmtBool=function(a,b){return this.$val.fmtBool(a,b);};AP.ptr.prototype.fmt0x64=function(a,b){var a,b,c,d;c=this;d=c.fmt.fmtFlags.sharp;c.fmt.fmtFlags.sharp=b;c.fmt.fmtInteger(a,16,false,118,"0123456789abcdefx");c.fmt.fmtFlags.sharp=d;};AP.prototype.fmt0x64=function(a,b){return this.$val.fmt0x64(a,b);};AP.ptr.prototype.fmtInteger=function(a,b,c){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=c;if(e===(118)){$s=2;continue;}if(e===(100)){$s=3;continue;}if(e===(98)){$s=4;continue;}if((e===(111))||(e===(79))){$s=5;continue;}if(e===(120)){$s=6;continue;}if(e===(88)){$s=7;continue;}if(e===(99)){$s=8;continue;}if(e===(113)){$s=9;continue;}if(e===(85)){$s=10;continue;}$s=11;continue;case 2:if(d.fmt.fmtFlags.sharpV&&!b){d.fmt0x64(a,true);}else{d.fmt.fmtInteger(a,10,b,c,"0123456789abcdefx");}$s=12;continue;case 3:d.fmt.fmtInteger(a,10,b,c,"0123456789abcdefx");$s=12;continue;case 4:d.fmt.fmtInteger(a,2,b,c,"0123456789abcdefx");$s=12;continue;case 5:d.fmt.fmtInteger(a,8,b,c,"0123456789abcdefx");$s=12;continue;case 6:d.fmt.fmtInteger(a,16,b,c,"0123456789abcdefx");$s=12;continue;case 7:d.fmt.fmtInteger(a,16,b,c,"0123456789ABCDEFX");$s=12;continue;case 8:d.fmt.fmtC(a);$s=12;continue;case 9:d.fmt.fmtQc(a);$s=12;continue;case 10:d.fmt.fmtUnicode(a);$s=12;continue;case 11:$r=d.badVerb(c);$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 12:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.fmtInteger};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.fmtInteger=function(a,b,c){return this.$val.fmtInteger(a,b,c);};AP.ptr.prototype.fmtFloat=function(a,b,c){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=c;if(e===(118)){$s=2;continue;}if((e===(98))||(e===(103))||(e===(71))||(e===(120))||(e===(88))){$s=3;continue;}if((e===(102))||(e===(101))||(e===(69))){$s=4;continue;}if(e===(70)){$s=5;continue;}$s=6;continue;case 2:d.fmt.fmtFloat(a,b,103,-1);$s=7;continue;case 3:d.fmt.fmtFloat(a,b,c,-1);$s=7;continue;case 4:d.fmt.fmtFloat(a,b,c,6);$s=7;continue;case 5:d.fmt.fmtFloat(a,b,102,6);$s=7;continue;case 6:$r=d.badVerb(c);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.fmtFloat};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.fmtFloat=function(a,b,c){return this.$val.fmtFloat(a,b,c);};AP.ptr.prototype.fmtComplex=function(a,b,c){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=c;if((e===(118))||(e===(98))||(e===(103))||(e===(71))||(e===(120))||(e===(88))||(e===(102))||(e===(70))||(e===(101))||(e===(69))){$s=2;continue;}$s=3;continue;case 2:f=d.fmt.fmtFlags.plus;(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(40);$r=d.fmtFloat(a.$real,(g=b/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero")),c);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.fmt.fmtFlags.plus=true;$r=d.fmtFloat(a.$imag,(h=b/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero")),c);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString("i)");d.fmt.fmtFlags.plus=f;$s=4;continue;case 3:$r=d.badVerb(c);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.fmtComplex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.fmtComplex=function(a,b,c){return this.$val.fmtComplex(a,b,c);};AP.ptr.prototype.fmtString=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=b;if(d===(118)){$s=2;continue;}if(d===(115)){$s=3;continue;}if(d===(120)){$s=4;continue;}if(d===(88)){$s=5;continue;}if(d===(113)){$s=6;continue;}$s=7;continue;case 2:if(c.fmt.fmtFlags.sharpV){c.fmt.fmtQ(a);}else{c.fmt.fmtS(a);}$s=8;continue;case 3:c.fmt.fmtS(a);$s=8;continue;case 4:c.fmt.fmtSx(a,"0123456789abcdefx");$s=8;continue;case 5:c.fmt.fmtSx(a,"0123456789ABCDEFX");$s=8;continue;case 6:c.fmt.fmtQ(a);$s=8;continue;case 7:$r=c.badVerb(b);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.fmtString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.fmtString=function(a,b){return this.$val.fmtString(a,b);};AP.ptr.prototype.fmtBytes=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=b;if((e===(118))||(e===(100))){$s=2;continue;}if(e===(115)){$s=3;continue;}if(e===(120)){$s=4;continue;}if(e===(88)){$s=5;continue;}if(e===(113)){$s=6;continue;}$s=7;continue;case 2:if(d.fmt.fmtFlags.sharpV){(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString(c);if(a===BS.nil){(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString("(nil)");$s=-1;return;}(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(123);f=a;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(h>0){(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString(", ");}d.fmt0x64((new $Uint64(0,i)),true);g++;}(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(125);}else{(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(91);j=a;k=0;while(true){if(!(k<j.$length)){break;}l=k;m=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);if(l>0){(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(32);}d.fmt.fmtInteger((new $Uint64(0,m)),10,false,b,"0123456789abcdefx");k++;}(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(93);}$s=8;continue;case 3:d.fmt.fmtBs(a);$s=8;continue;case 4:d.fmt.fmtBx(a,"0123456789abcdefx");$s=8;continue;case 5:d.fmt.fmtBx(a,"0123456789ABCDEFX");$s=8;continue;case 6:d.fmt.fmtQ(($bytesToString(a)));$s=8;continue;case 7:n=E.ValueOf(a);$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$r=d.printValue($clone(n,E.Value),b,0);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.fmtBytes};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.fmtBytes=function(a,b,c){return this.$val.fmtBytes(a,b,c);};AP.ptr.prototype.fmtPointer=function(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=0;e=$clone(a,E.Value).Kind();if((e===(18))||(e===(19))||(e===(21))||(e===(22))||(e===(23))||(e===(26))){$s=2;continue;}$s=3;continue;case 2:d=$clone(a,E.Value).Pointer();$s=4;continue;case 3:$r=c.badVerb(b);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 4:case 1:f=b;if(f===(118)){$s=7;continue;}if(f===(112)){$s=8;continue;}if((f===(98))||(f===(111))||(f===(100))||(f===(120))||(f===(88))){$s=9;continue;}$s=10;continue;case 7:if(c.fmt.fmtFlags.sharpV){$s=12;continue;}$s=13;continue;case 12:(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeByte(40);g=$clone(a,E.Value).Type().String();$s=15;case 15:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$r=(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeString(g);$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeString(")(");if(d===0){(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeString("nil");}else{c.fmt0x64((new $Uint64(0,d.constructor===Number?d:1)),true);}(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeByte(41);$s=14;continue;case 13:if(d===0){c.fmt.padString("<nil>");}else{c.fmt0x64((new $Uint64(0,d.constructor===Number?d:1)),!c.fmt.fmtFlags.sharp);}case 14:$s=11;continue;case 8:c.fmt0x64((new $Uint64(0,d.constructor===Number?d:1)),!c.fmt.fmtFlags.sharp);$s=11;continue;case 9:$r=c.fmtInteger((new $Uint64(0,d.constructor===Number?d:1)),false,b);$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=11;continue;case 10:$r=c.badVerb(b);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 11:case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.fmtPointer};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.fmtPointer=function(a,b){return this.$val.fmtPointer(a,b);};AP.ptr.prototype.catchPanic=function(a,b,c){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$recover();if(!($interfaceIsEqual(e,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:f=E.ValueOf(a);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(($clone(g,E.Value).Kind()===22)&&$clone(g,E.Value).IsNil()){(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString("<nil>");$s=-1;return;}if(d.panicking){$panic(e);}h=$clone(d.fmt.fmtFlags,BG);d.fmt.clearflags();(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString("%!");(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeRune(b);(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString("(PANIC=");(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString(c);(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString(" method: ");d.panicking=true;$r=d.printArg(e,118);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.panicking=false;(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(41);BG.copy(d.fmt.fmtFlags,h);case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.catchPanic};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.catchPanic=function(a,b,c){return this.$val.catchPanic(a,b,c);};AP.ptr.prototype.handleMethods=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);b=false;c=this;if(c.erroring){$s=1;continue;}$s=2;continue;case 1:d=b;$s=3;case 3:return d;case 2:if(a===119){$s=4;continue;}$s=5;continue;case 4:e=$assertType(c.arg,$error,true);f=e[0];g=e[1];if(!g||!c.wrapErrs||!($interfaceIsEqual(c.wrappedErr,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:c.wrappedErr=$ifaceNil;c.wrapErrs=false;$r=c.badVerb(a);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=true;h=b;$s=9;case 9:return h;case 7:c.wrappedErr=f;a=118;case 5:i=$assertType(c.arg,AL,true);j=i[0];k=i[1];if(k){$s=10;continue;}$s=11;continue;case 10:b=true;$deferred.push([$methodVal(c,"catchPanic"),[c.arg,a,"Format"]]);$r=j.Format(c,a);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=b;$s=13;case 13:return l;case 11:if(c.fmt.fmtFlags.sharpV){$s=14;continue;}$s=15;continue;case 14:m=$assertType(c.arg,AN,true);n=m[0];o=m[1];if(o){$s=17;continue;}$s=18;continue;case 17:b=true;$deferred.push([$methodVal(c,"catchPanic"),[c.arg,a,"GoString"]]);p=n.GoString();$s=19;case 19:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$r=c.fmt.fmtS(p);$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}q=b;$s=21;case 21:return q;case 18:$s=16;continue;case 15:r=a;if((r===(118))||(r===(115))||(r===(120))||(r===(88))||(r===(113))){$s=23;continue;}$s=24;continue;case 23:s=c.arg;if($assertType(s,$error,true)[1]){$s=25;continue;}if($assertType(s,AM,true)[1]){$s=26;continue;}$s=27;continue;case 25:t=s;b=true;$deferred.push([$methodVal(c,"catchPanic"),[c.arg,a,"Error"]]);v=t.Error();$s=28;case 28:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}$r=c.fmtString(v,a);$s=29;case 29:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}w=b;$s=30;case 30:return w;case 26:u=s;b=true;$deferred.push([$methodVal(c,"catchPanic"),[c.arg,a,"String"]]);x=u.String();$s=31;case 31:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}$r=c.fmtString(x,a);$s=32;case 32:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}y=b;$s=33;case 33:return y;case 27:case 24:case 22:case 16:b=false;z=b;$s=34;case 34:return z;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return b;}if($curGoroutine.asleep){if($f===undefined){$f={$blk:AP.ptr.prototype.handleMethods};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AP.prototype.handleMethods=function(a){return this.$val.handleMethods(a);};AP.ptr.prototype.printArg=function(a,b){var a,aa,ab,ac,ad,ae,af,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;c.arg=a;c.value=new E.Value.ptr(BN.nil,0,0);if($interfaceIsEqual(a,$ifaceNil)){$s=1;continue;}$s=2;continue;case 1:d=b;if((d===(84))||(d===(118))){$s=4;continue;}$s=5;continue;case 4:c.fmt.padString("<nil>");$s=6;continue;case 5:$r=c.badVerb(b);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:case 3:$s=-1;return;case 2:e=b;if(e===(84)){$s=9;continue;}if(e===(112)){$s=10;continue;}$s=11;continue;case 9:f=E.TypeOf(a).String();$s=12;case 12:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$r=c.fmt.fmtS(f);$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 10:g=E.ValueOf(a);$s=14;case 14:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$r=c.fmtPointer($clone(g,E.Value),112);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 11:case 8:h=a;if($assertType(h,$Bool,true)[1]){$s=16;continue;}if($assertType(h,$Float32,true)[1]){$s=17;continue;}if($assertType(h,$Float64,true)[1]){$s=18;continue;}if($assertType(h,$Complex64,true)[1]){$s=19;continue;}if($assertType(h,$Complex128,true)[1]){$s=20;continue;}if($assertType(h,$Int,true)[1]){$s=21;continue;}if($assertType(h,$Int8,true)[1]){$s=22;continue;}if($assertType(h,$Int16,true)[1]){$s=23;continue;}if($assertType(h,$Int32,true)[1]){$s=24;continue;}if($assertType(h,$Int64,true)[1]){$s=25;continue;}if($assertType(h,$Uint,true)[1]){$s=26;continue;}if($assertType(h,$Uint8,true)[1]){$s=27;continue;}if($assertType(h,$Uint16,true)[1]){$s=28;continue;}if($assertType(h,$Uint32,true)[1]){$s=29;continue;}if($assertType(h,$Uint64,true)[1]){$s=30;continue;}if($assertType(h,$Uintptr,true)[1]){$s=31;continue;}if($assertType(h,$String,true)[1]){$s=32;continue;}if($assertType(h,BS,true)[1]){$s=33;continue;}if($assertType(h,E.Value,true)[1]){$s=34;continue;}$s=35;continue;case 16:i=h.$val;$r=c.fmtBool(i,b);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 17:j=h.$val;$r=c.fmtFloat((j),32,b);$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 18:k=h.$val;$r=c.fmtFloat(k,64,b);$s=39;case 39:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 19:l=h.$val;$r=c.fmtComplex((new $Complex128(l.$real,l.$imag)),64,b);$s=40;case 40:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 20:m=h.$val;$r=c.fmtComplex(m,128,b);$s=41;case 41:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 21:n=h.$val;$r=c.fmtInteger((new $Uint64(0,n)),true,b);$s=42;case 42:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 22:o=h.$val;$r=c.fmtInteger((new $Uint64(0,o)),true,b);$s=43;case 43:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 23:p=h.$val;$r=c.fmtInteger((new $Uint64(0,p)),true,b);$s=44;case 44:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 24:q=h.$val;$r=c.fmtInteger((new $Uint64(0,q)),true,b);$s=45;case 45:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 25:r=h.$val;$r=c.fmtInteger((new $Uint64(r.$high,r.$low)),true,b);$s=46;case 46:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 26:s=h.$val;$r=c.fmtInteger((new $Uint64(0,s)),false,b);$s=47;case 47:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 27:t=h.$val;$r=c.fmtInteger((new $Uint64(0,t)),false,b);$s=48;case 48:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 28:u=h.$val;$r=c.fmtInteger((new $Uint64(0,u)),false,b);$s=49;case 49:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 29:v=h.$val;$r=c.fmtInteger((new $Uint64(0,v)),false,b);$s=50;case 50:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 30:w=h.$val;$r=c.fmtInteger(w,false,b);$s=51;case 51:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 31:x=h.$val;$r=c.fmtInteger((new $Uint64(0,x.constructor===Number?x:1)),false,b);$s=52;case 52:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 32:y=h.$val;$r=c.fmtString(y,b);$s=53;case 53:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 33:z=h.$val;$r=c.fmtBytes(z,b,"[]byte");$s=54;case 54:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 34:aa=h.$val;if($clone(aa,E.Value).IsValid()&&$clone(aa,E.Value).CanInterface()){$s=55;continue;}$s=56;continue;case 55:ac=$clone(aa,E.Value).Interface();$s=57;case 57:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}c.arg=ac;ad=c.handleMethods(b);$s=60;case 60:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}if(ad){$s=58;continue;}$s=59;continue;case 58:$s=-1;return;case 59:case 56:$r=c.printValue($clone(aa,E.Value),b,0);$s=61;case 61:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 35:ab=h;ae=c.handleMethods(b);$s=64;case 64:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}if(!ae){$s=62;continue;}$s=63;continue;case 62:af=E.ValueOf(ab);$s=65;case 65:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}$r=c.printValue($clone(af,E.Value),b,0);$s=66;case 66:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 63:case 36:$s=-1;return;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.printArg};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.printArg=function(a,b){return this.$val.printArg(a,b);};AP.ptr.prototype.printValue=function(a,b,c){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(c>0&&$clone(a,E.Value).IsValid()&&$clone(a,E.Value).CanInterface()){$s=1;continue;}$s=2;continue;case 1:e=$clone(a,E.Value).Interface();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d.arg=e;f=d.handleMethods(b);$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(f){$s=4;continue;}$s=5;continue;case 4:$s=-1;return;case 5:case 2:d.arg=$ifaceNil;d.value=a;g=a;h=$clone(a,E.Value).Kind();if(h===(0)){$s=8;continue;}if(h===(1)){$s=9;continue;}if((h===(2))||(h===(3))||(h===(4))||(h===(5))||(h===(6))){$s=10;continue;}if((h===(7))||(h===(8))||(h===(9))||(h===(10))||(h===(11))||(h===(12))){$s=11;continue;}if(h===(13)){$s=12;continue;}if(h===(14)){$s=13;continue;}if(h===(15)){$s=14;continue;}if(h===(16)){$s=15;continue;}if(h===(24)){$s=16;continue;}if(h===(21)){$s=17;continue;}if(h===(25)){$s=18;continue;}if(h===(20)){$s=19;continue;}if((h===(17))||(h===(23))){$s=20;continue;}if(h===(22)){$s=21;continue;}if((h===(18))||(h===(19))||(h===(26))){$s=22;continue;}$s=23;continue;case 8:if(c===0){$s=25;continue;}$s=26;continue;case 25:(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString("<invalid reflect.Value>");$s=27;continue;case 26:i=b;if(i===(118)){$s=29;continue;}$s=30;continue;case 29:(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString("<nil>");$s=31;continue;case 30:$r=d.badVerb(b);$s=32;case 32:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 31:case 28:case 27:$s=24;continue;case 9:$r=d.fmtBool($clone(g,E.Value).Bool(),b);$s=33;case 33:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 10:$r=d.fmtInteger(((j=$clone(g,E.Value).Int(),new $Uint64(j.$high,j.$low))),true,b);$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 11:$r=d.fmtInteger($clone(g,E.Value).Uint(),false,b);$s=35;case 35:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 12:$r=d.fmtFloat($clone(g,E.Value).Float(),32,b);$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 13:$r=d.fmtFloat($clone(g,E.Value).Float(),64,b);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 14:$r=d.fmtComplex($clone(g,E.Value).Complex(),64,b);$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 15:$r=d.fmtComplex($clone(g,E.Value).Complex(),128,b);$s=39;case 39:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 16:k=$clone(g,E.Value).String();$s=40;case 40:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$r=d.fmtString(k,b);$s=41;case 41:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 17:if(d.fmt.fmtFlags.sharpV){$s=42;continue;}$s=43;continue;case 42:l=$clone(g,E.Value).Type().String();$s=45;case 45:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$r=(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString(l);$s=46;case 46:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if($clone(g,E.Value).IsNil()){(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString("(nil)");$s=-1;return;}(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(123);$s=44;continue;case 43:(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString("map[");case 44:m=I.Sort($clone(g,E.Value));$s=47;case 47:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;o=n.Key;p=0;case 48:if(!(p<o.$length)){$s=49;continue;}q=p;r=((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]);if(q>0){if(d.fmt.fmtFlags.sharpV){(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString(", ");}else{(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(32);}}$r=d.printValue($clone(r,E.Value),b,c+1>>0);$s=50;case 50:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(58);$r=d.printValue($clone((s=n.Value,((q<0||q>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+q])),E.Value),b,c+1>>0);$s=51;case 51:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p++;$s=48;continue;case 49:if(d.fmt.fmtFlags.sharpV){(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(125);}else{(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(93);}$s=24;continue;case 18:if(d.fmt.fmtFlags.sharpV){$s=52;continue;}$s=53;continue;case 52:t=$clone(g,E.Value).Type().String();$s=54;case 54:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}$r=(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString(t);$s=55;case 55:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 53:(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(123);u=0;case 56:if(!(u<$clone(g,E.Value).NumField())){$s=57;continue;}if(u>0){if(d.fmt.fmtFlags.sharpV){(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString(", ");}else{(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(32);}}if(d.fmt.fmtFlags.plusV||d.fmt.fmtFlags.sharpV){$s=58;continue;}$s=59;continue;case 58:v=$clone(g,E.Value).Type().Field(u);$s=60;case 60:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v.Name;if(!(w==="")){(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString(w);(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(58);}case 59:x=BB($clone(g,E.Value),u);$s=61;case 61:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}$r=d.printValue($clone(x,E.Value),b,c+1>>0);$s=62;case 62:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}u=u+(1)>>0;$s=56;continue;case 57:(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(125);$s=24;continue;case 19:y=$clone(g,E.Value).Elem();$s=63;case 63:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;if(!$clone(z,E.Value).IsValid()){$s=64;continue;}$s=65;continue;case 64:if(d.fmt.fmtFlags.sharpV){$s=67;continue;}$s=68;continue;case 67:aa=$clone(g,E.Value).Type().String();$s=70;case 70:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}$r=(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString(aa);$s=71;case 71:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString("(nil)");$s=69;continue;case 68:(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString("<nil>");case 69:$s=66;continue;case 65:$r=d.printValue($clone(z,E.Value),b,c+1>>0);$s=72;case 72:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 66:$s=24;continue;case 20:ab=b;if((ab===(115))||(ab===(113))||(ab===(120))||(ab===(88))){$s=74;continue;}$s=75;continue;case 74:ac=$clone(g,E.Value).Type();ad=ac.Elem();$s=78;case 78:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad.Kind();$s=79;case 79:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}if(ae===8){$s=76;continue;}$s=77;continue;case 76:af=BS.nil;if($clone(g,E.Value).Kind()===23){$s=80;continue;}if($clone(g,E.Value).CanAddr()){$s=81;continue;}$s=82;continue;case 80:ag=$clone(g,E.Value).Bytes();$s=84;case 84:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;$s=83;continue;case 81:ah=$clone(g,E.Value).Slice(0,$clone(g,E.Value).Len());$s=85;case 85:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=$clone(ah,E.Value).Bytes();$s=86;case 86:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}af=ai;$s=83;continue;case 82:af=$makeSlice(BS,$clone(g,E.Value).Len());aj=af;ak=0;case 87:if(!(ak<aj.$length)){$s=88;continue;}al=ak;am=$clone(g,E.Value).Index(al);$s=89;case 89:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=$clone(am,E.Value).Uint();$s=90;case 90:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}((al<0||al>=af.$length)?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+al]=((an.$low<<24>>>24)));ak++;$s=87;continue;case 88:case 83:ao=af;ap=b;aq=ac.String();$s=91;case 91:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=aq;$r=d.fmtBytes(ao,ap,ar);$s=92;case 92:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 77:case 75:case 73:if(d.fmt.fmtFlags.sharpV){$s=93;continue;}$s=94;continue;case 93:as=$clone(g,E.Value).Type().String();$s=96;case 96:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}$r=(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString(as);$s=97;case 97:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(($clone(g,E.Value).Kind()===23)&&$clone(g,E.Value).IsNil()){(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString("(nil)");$s=-1;return;}(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(123);at=0;case 98:if(!(at<$clone(g,E.Value).Len())){$s=99;continue;}if(at>0){(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeString(", ");}au=$clone(g,E.Value).Index(at);$s=100;case 100:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}$r=d.printValue($clone(au,E.Value),b,c+1>>0);$s=101;case 101:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}at=at+(1)>>0;$s=98;continue;case 99:(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(125);$s=95;continue;case 94:(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(91);av=0;case 102:if(!(av<$clone(g,E.Value).Len())){$s=103;continue;}if(av>0){(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(32);}aw=$clone(g,E.Value).Index(av);$s=104;case 104:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}$r=d.printValue($clone(aw,E.Value),b,c+1>>0);$s=105;case 105:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}av=av+(1)>>0;$s=102;continue;case 103:(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(93);case 95:$s=24;continue;case 21:if((c===0)&&!(($clone(g,E.Value).Pointer()===0))){$s=106;continue;}$s=107;continue;case 106:ax=$clone(g,E.Value).Elem();$s=109;case 109:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ay=ax;az=$clone(ay,E.Value).Kind();if((az===(17))||(az===(23))||(az===(25))||(az===(21))){$s=110;continue;}$s=111;continue;case 110:(d.$ptr_buf||(d.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).writeByte(38);$r=d.printValue($clone(ay,E.Value),b,c+1>>0);$s=112;case 112:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 111:case 108:case 107:$r=d.fmtPointer($clone(g,E.Value),b);$s=113;case 113:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 22:$r=d.fmtPointer($clone(g,E.Value),b);$s=114;case 114:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 23:$r=d.unknownType($clone(g,E.Value));$s=115;case 115:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 24:case 7:$s=-1;return;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.printValue};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.printValue=function(a,b,c){return this.$val.printValue(a,b,c);};BE=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=0;d=false;e=0;e=b;if(b<a.$length){$s=1;continue;}$s=2;continue;case 1:f=$assertType(((b<0||b>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+b]),$Int,true);c=f[0];d=f[1];if(!d){$s=3;continue;}$s=4;continue;case 3:g=E.ValueOf(((b<0||b>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+b]));$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=$clone(h,E.Value).Kind();if((i===(2))||(i===(3))||(i===(4))||(i===(5))||(i===(6))){j=$clone(h,E.Value).Int();if((k=(new $Int64(0,(((j.$low+((j.$high>>31)*4294967296))>>0)))),(k.$high===j.$high&&k.$low===j.$low))){c=(((j.$low+((j.$high>>31)*4294967296))>>0));d=true;}}else if((i===(7))||(i===(8))||(i===(9))||(i===(10))||(i===(11))||(i===(12))){l=$clone(h,E.Value).Uint();if((m=(new $Int64(l.$high,l.$low)),(m.$high>0||(m.$high===0&&m.$low>=0)))&&(n=(new $Uint64(0,((l.$low>>0)))),(n.$high===l.$high&&n.$low===l.$low))){c=((l.$low>>0));d=true;}}case 5:case 4:e=b+1>>0;if(BC(c)){c=0;d=false;}case 2:$s=-1;return[c,d,e];}return;}if($f===undefined){$f={$blk:BE};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BF=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;b=0;c=0;d=false;if(a.length<3){e=0;f=1;g=false;b=e;c=f;d=g;return[b,c,d];}h=1;while(true){if(!(h<a.length)){break;}if(a.charCodeAt(h)===93){i=BD(a,1,h);j=i[0];k=i[1];l=i[2];if(!k||!((l===h))){m=0;n=h+1>>0;o=false;b=m;c=n;d=o;return[b,c,d];}p=j-1>>0;q=h+1>>0;r=true;b=p;c=q;d=r;return[b,c,d];}h=h+(1)>>0;}s=0;t=1;u=false;b=s;c=t;d=u;return[b,c,d];};AP.ptr.prototype.argNumber=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;e=0;f=0;g=false;h=this;if(b.length<=c||!((b.charCodeAt(c)===91))){i=a;j=c;k=false;e=i;f=j;g=k;return[e,f,g];}h.reordered=true;l=BF($substring(b,c));m=l[0];n=l[1];o=l[2];if(o&&0<=m&&m<d){p=m;q=c+n>>0;r=true;e=p;f=q;g=r;return[e,f,g];}h.goodArgNum=false;s=a;t=c+n>>0;u=o;e=s;f=t;g=u;return[e,f,g];};AP.prototype.argNumber=function(a,b,c,d){return this.$val.argNumber(a,b,c,d);};AP.ptr.prototype.badArgNum=function(a){var a,b;b=this;(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeString("%!");(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeRune(a);(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeString("(BADINDEX)");};AP.prototype.badArgNum=function(a){return this.$val.badArgNum(a);};AP.ptr.prototype.missingArg=function(a){var a,b;b=this;(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeString("%!");(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeRune(a);(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeString("(MISSING)");};AP.prototype.missingArg=function(a){return this.$val.missingArg(a);};AP.ptr.prototype.doPrintf=function(a,b){var a,aa,ab,ac,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=a.length;e=0;f=false;c.reordered=false;g=0;case 1:if(!(g<d)){$s=2;continue;}c.goodArgNum=true;h=g;while(true){if(!(g<d&&!((a.charCodeAt(g)===37)))){break;}g=g+(1)>>0;}if(g>h){(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeString($substring(a,h,g));}if(g>=d){$s=2;continue;}g=g+(1)>>0;c.fmt.clearflags();case 3:if(!(g<d)){$s=4;continue;}i=a.charCodeAt(g);j=i;if(j===(35)){$s=6;continue;}if(j===(48)){$s=7;continue;}if(j===(43)){$s=8;continue;}if(j===(45)){$s=9;continue;}if(j===(32)){$s=10;continue;}$s=11;continue;case 6:c.fmt.fmtFlags.sharp=true;$s=12;continue;case 7:c.fmt.fmtFlags.zero=!c.fmt.fmtFlags.minus;$s=12;continue;case 8:c.fmt.fmtFlags.plus=true;$s=12;continue;case 9:c.fmt.fmtFlags.minus=true;c.fmt.fmtFlags.zero=false;$s=12;continue;case 10:c.fmt.fmtFlags.space=true;$s=12;continue;case 11:if(97<=i&&i<=122&&e<b.$length){$s=13;continue;}$s=14;continue;case 13:if(i===118){c.fmt.fmtFlags.sharpV=c.fmt.fmtFlags.sharp;c.fmt.fmtFlags.sharp=false;c.fmt.fmtFlags.plusV=c.fmt.fmtFlags.plus;c.fmt.fmtFlags.plus=false;}$r=c.printArg(((e<0||e>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+e]),((i>>0)));$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=e+(1)>>0;g=g+(1)>>0;$s=1;continue s;case 14:$s=4;continue s;case 12:case 5:g=g+(1)>>0;$s=3;continue;case 4:k=c.argNumber(e,a,g,b.$length);e=k[0];g=k[1];f=k[2];if(g<d&&(a.charCodeAt(g)===42)){$s=16;continue;}$s=17;continue;case 16:g=g+(1)>>0;m=BE(b,e);$s=19;case 19:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;c.fmt.wid=l[0];c.fmt.fmtFlags.widPresent=l[1];e=l[2];if(!c.fmt.fmtFlags.widPresent){(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeString("%!(BADWIDTH)");}if(c.fmt.wid<0){c.fmt.wid=-c.fmt.wid;c.fmt.fmtFlags.minus=true;c.fmt.fmtFlags.zero=false;}f=false;$s=18;continue;case 17:n=BD(a,g,d);c.fmt.wid=n[0];c.fmt.fmtFlags.widPresent=n[1];g=n[2];if(f&&c.fmt.fmtFlags.widPresent){c.goodArgNum=false;}case 18:if((g+1>>0)<d&&(a.charCodeAt(g)===46)){$s=20;continue;}$s=21;continue;case 20:g=g+(1)>>0;if(f){c.goodArgNum=false;}o=c.argNumber(e,a,g,b.$length);e=o[0];g=o[1];f=o[2];if(g<d&&(a.charCodeAt(g)===42)){$s=22;continue;}$s=23;continue;case 22:g=g+(1)>>0;q=BE(b,e);$s=25;case 25:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;c.fmt.prec=p[0];c.fmt.fmtFlags.precPresent=p[1];e=p[2];if(c.fmt.prec<0){c.fmt.prec=0;c.fmt.fmtFlags.precPresent=false;}if(!c.fmt.fmtFlags.precPresent){(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeString("%!(BADPREC)");}f=false;$s=24;continue;case 23:r=BD(a,g,d);c.fmt.prec=r[0];c.fmt.fmtFlags.precPresent=r[1];g=r[2];if(!c.fmt.fmtFlags.precPresent){c.fmt.prec=0;c.fmt.fmtFlags.precPresent=true;}case 24:case 21:if(!f){s=c.argNumber(e,a,g,b.$length);e=s[0];g=s[1];f=s[2];}if(g>=d){(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeString("%!(NOVERB)");$s=2;continue;}t=((a.charCodeAt(g)>>0));u=1;v=t;w=u;if(v>=128){x=H.DecodeRuneInString($substring(a,g));v=x[0];w=x[1];}g=g+(w)>>0;if((v===37)){$s=27;continue;}if(!c.goodArgNum){$s=28;continue;}if(e>=b.$length){$s=29;continue;}if((v===118)){$s=30;continue;}$s=31;continue;case 27:(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeByte(37);$s=32;continue;case 28:c.badArgNum(v);$s=32;continue;case 29:c.missingArg(v);$s=32;continue;case 30:c.fmt.fmtFlags.sharpV=c.fmt.fmtFlags.sharp;c.fmt.fmtFlags.sharp=false;c.fmt.fmtFlags.plusV=c.fmt.fmtFlags.plus;c.fmt.fmtFlags.plus=false;$r=c.printArg(((e<0||e>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+e]),v);$s=33;case 33:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=e+(1)>>0;$s=32;continue;case 31:$r=c.printArg(((e<0||e>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+e]),v);$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=e+(1)>>0;case 32:case 26:$s=1;continue;case 2:if(!c.reordered&&e<b.$length){$s=35;continue;}$s=36;continue;case 35:c.fmt.clearflags();(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeString("%!(EXTRA ");y=$subslice(b,e);z=0;case 37:if(!(z<y.$length)){$s=38;continue;}aa=z;ab=((z<0||z>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+z]);if(aa>0){(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeString(", ");}if($interfaceIsEqual(ab,$ifaceNil)){$s=39;continue;}$s=40;continue;case 39:(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeString("<nil>");$s=41;continue;case 40:ac=E.TypeOf(ab).String();$s=42;case 42:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}$r=(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeString(ac);$s=43;case 43:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeByte(61);$r=c.printArg(ab,118);$s=44;case 44:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 41:z++;$s=37;continue;case 38:(c.$ptr_buf||(c.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).writeByte(41);case 36:$s=-1;return;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.doPrintf};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.doPrintf=function(a,b){return this.$val.doPrintf(a,b);};AP.ptr.prototype.doPrint=function(a){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=false;d=a;e=0;case 1:if(!(e<d.$length)){$s=2;continue;}f=e;g=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(!(!($interfaceIsEqual(g,$ifaceNil)))){h=false;$s=3;continue s;}i=E.TypeOf(g).Kind();$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i===24;case 3:j=h;if(f>0&&!j&&!c){(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeByte(32);}$r=b.printArg(g,118);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=j;e++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.doPrint};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.doPrint=function(a){return this.$val.doPrint(a);};AP.ptr.prototype.doPrintln=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=a;d=0;case 1:if(!(d<c.$length)){$s=2;continue;}e=d;f=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);if(e>0){(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeByte(32);}$r=b.printArg(f,118);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d++;$s=1;continue;case 2:(b.$ptr_buf||(b.$ptr_buf=new BO(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).writeByte(10);$s=-1;return;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.doPrintln};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.doPrintln=function(a){return this.$val.doPrintln(a);};BH.ptr.prototype.clearflags=function(){var a;a=this;BG.copy(a.fmtFlags,new BG.ptr(false,false,false,false,false,false,false,false,false));};BH.prototype.clearflags=function(){return this.$val.clearflags();};BH.ptr.prototype.init=function(a){var a,b;b=this;b.buf=a;b.clearflags();};BH.prototype.init=function(a){return this.$val.init(a);};BH.ptr.prototype.writePadding=function(a){var a,b,c,d,e,f,g,h,i,j;b=this;if(a<=0){return;}c=b.buf.$get();d=c.$length;e=d+a>>0;if(e>c.$capacity){c=$makeSlice(AO,(($imul(c.$capacity,2))+a>>0));$copySlice(c,b.buf.$get());}f=32;if(b.fmtFlags.zero){f=48;}g=$subslice(c,d,e);h=g;i=0;while(true){if(!(i<h.$length)){break;}j=i;((j<0||j>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+j]=f);i++;}b.buf.$set($subslice(c,0,e));};BH.prototype.writePadding=function(a){return this.$val.writePadding(a);};BH.ptr.prototype.pad=function(a){var a,b,c;b=this;if(!b.fmtFlags.widPresent||(b.wid===0)){b.buf.write(a);return;}c=b.wid-H.RuneCount(a)>>0;if(!b.fmtFlags.minus){b.writePadding(c);b.buf.write(a);}else{b.buf.write(a);b.writePadding(c);}};BH.prototype.pad=function(a){return this.$val.pad(a);};BH.ptr.prototype.padString=function(a){var a,b,c;b=this;if(!b.fmtFlags.widPresent||(b.wid===0)){b.buf.writeString(a);return;}c=b.wid-H.RuneCountInString(a)>>0;if(!b.fmtFlags.minus){b.writePadding(c);b.buf.writeString(a);}else{b.buf.writeString(a);b.writePadding(c);}};BH.prototype.padString=function(a){return this.$val.padString(a);};BH.ptr.prototype.fmtBoolean=function(a){var a,b;b=this;if(a){b.padString("true");}else{b.padString("false");}};BH.prototype.fmtBoolean=function(a){return this.$val.fmtBoolean(a);};BH.ptr.prototype.fmtUnicode=function(a){var a,b,c,d,e,f,g;b=this;c=$subslice(new BS(b.intbuf),0);d=4;if(b.fmtFlags.precPresent&&b.prec>4){d=b.prec;e=(((2+d>>0)+2>>0)+4>>0)+1>>0;if(e>c.$length){c=$makeSlice(BS,e);}}f=c.$length;if(b.fmtFlags.sharp&&(a.$high<0||(a.$high===0&&a.$low<=1114111))&&F.IsPrint(((a.$low>>0)))){f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=39);f=f-(H.RuneLen(((a.$low>>0))))>>0;H.EncodeRune($subslice(c,f),((a.$low>>0)));f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=39);f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=32);}while(true){if(!((a.$high>0||(a.$high===0&&a.$low>=16)))){break;}f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]="0123456789ABCDEFX".charCodeAt($flatten64(new $Uint64(a.$high&0,(a.$low&15)>>>0))));d=d-(1)>>0;a=$shiftRightUint64(a,(4));}f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]="0123456789ABCDEFX".charCodeAt($flatten64(a)));d=d-(1)>>0;while(true){if(!(d>0)){break;}f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=48);d=d-(1)>>0;}f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=43);f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=85);g=b.fmtFlags.zero;b.fmtFlags.zero=false;b.pad($subslice(c,f));b.fmtFlags.zero=g;};BH.prototype.fmtUnicode=function(a){return this.$val.fmtUnicode(a);};BH.ptr.prototype.fmtInteger=function(a,b,c,d,e){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;f=this;h=c&&(g=(new $Int64(a.$high,a.$low)),(g.$high<0||(g.$high===0&&g.$low<0)));if(h){a=new $Uint64(-a.$high,-a.$low);}i=$subslice(new BS(f.intbuf),0);if(f.fmtFlags.widPresent||f.fmtFlags.precPresent){j=(3+f.wid>>0)+f.prec>>0;if(j>i.$length){i=$makeSlice(BS,j);}}k=0;if(f.fmtFlags.precPresent){k=f.prec;if((k===0)&&(a.$high===0&&a.$low===0)){l=f.fmtFlags.zero;f.fmtFlags.zero=false;f.writePadding(f.wid);f.fmtFlags.zero=l;return;}}else if(f.fmtFlags.zero&&f.fmtFlags.widPresent){k=f.wid;if(h||f.fmtFlags.plus||f.fmtFlags.space){k=k-(1)>>0;}}m=i.$length;n=b;if(n===(10)){while(true){if(!((a.$high>0||(a.$high===0&&a.$low>=10)))){break;}m=m-(1)>>0;o=$div64(a,new $Uint64(0,10),false);((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=(((p=new $Uint64(0+a.$high,48+a.$low),q=$mul64(o,new $Uint64(0,10)),new $Uint64(p.$high-q.$high,p.$low-q.$low)).$low<<24>>>24)));a=o;}}else if(n===(16)){while(true){if(!((a.$high>0||(a.$high===0&&a.$low>=16)))){break;}m=m-(1)>>0;((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=e.charCodeAt($flatten64(new $Uint64(a.$high&0,(a.$low&15)>>>0))));a=$shiftRightUint64(a,(4));}}else if(n===(8)){while(true){if(!((a.$high>0||(a.$high===0&&a.$low>=8)))){break;}m=m-(1)>>0;((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=(((r=new $Uint64(a.$high&0,(a.$low&7)>>>0),new $Uint64(0+r.$high,48+r.$low)).$low<<24>>>24)));a=$shiftRightUint64(a,(3));}}else if(n===(2)){while(true){if(!((a.$high>0||(a.$high===0&&a.$low>=2)))){break;}m=m-(1)>>0;((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=(((s=new $Uint64(a.$high&0,(a.$low&1)>>>0),new $Uint64(0+s.$high,48+s.$low)).$low<<24>>>24)));a=$shiftRightUint64(a,(1));}}else{$panic(new $String("fmt: unknown base; can't happen"));}m=m-(1)>>0;((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=e.charCodeAt($flatten64(a)));while(true){if(!(m>0&&k>(i.$length-m>>0))){break;}m=m-(1)>>0;((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=48);}if(f.fmtFlags.sharp){t=b;if(t===(2)){m=m-(1)>>0;((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=98);m=m-(1)>>0;((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=48);}else if(t===(8)){if(!((((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m])===48))){m=m-(1)>>0;((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=48);}}else if(t===(16)){m=m-(1)>>0;((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=e.charCodeAt(16));m=m-(1)>>0;((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=48);}}if(d===79){m=m-(1)>>0;((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=111);m=m-(1)>>0;((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=48);}if(h){m=m-(1)>>0;((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=45);}else if(f.fmtFlags.plus){m=m-(1)>>0;((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=43);}else if(f.fmtFlags.space){m=m-(1)>>0;((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]=32);}u=f.fmtFlags.zero;f.fmtFlags.zero=false;f.pad($subslice(i,m));f.fmtFlags.zero=u;};BH.prototype.fmtInteger=function(a,b,c,d,e){return this.$val.fmtInteger(a,b,c,d,e);};BH.ptr.prototype.truncateString=function(a){var a,b,c,d,e,f,g;b=this;if(b.fmtFlags.precPresent){c=b.prec;d=a;e=0;while(true){if(!(e<d.length)){break;}f=$decodeRune(d,e);g=e;c=c-(1)>>0;if(c<0){return $substring(a,0,g);}e+=f[1];}}return a;};BH.prototype.truncateString=function(a){return this.$val.truncateString(a);};BH.ptr.prototype.truncate=function(a){var a,b,c,d,e,f;b=this;if(b.fmtFlags.precPresent){c=b.prec;d=0;while(true){if(!(d<a.$length)){break;}c=c-(1)>>0;if(c<0){return $subslice(a,0,d);}e=1;if(((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d])>=128){f=H.DecodeRune($subslice(a,d));e=f[1];}d=d+(e)>>0;}}return a;};BH.prototype.truncate=function(a){return this.$val.truncate(a);};BH.ptr.prototype.fmtS=function(a){var a,b;b=this;a=b.truncateString(a);b.padString(a);};BH.prototype.fmtS=function(a){return this.$val.fmtS(a);};BH.ptr.prototype.fmtBs=function(a){var a,b;b=this;a=b.truncate(a);b.pad(a);};BH.prototype.fmtBs=function(a){return this.$val.fmtBs(a);};BH.ptr.prototype.fmtSbx=function(a,b,c){var a,b,c,d,e,f,g,h,i;d=this;e=b.$length;if(b===BS.nil){e=a.length;}if(d.fmtFlags.precPresent&&d.prec<e){e=d.prec;}f=$imul(2,e);if(f>0){if(d.fmtFlags.space){if(d.fmtFlags.sharp){f=$imul(f,(2));}f=f+((e-1>>0))>>0;}else if(d.fmtFlags.sharp){f=f+(2)>>0;}}else{if(d.fmtFlags.widPresent){d.writePadding(d.wid);}return;}if(d.fmtFlags.widPresent&&d.wid>f&&!d.fmtFlags.minus){d.writePadding(d.wid-f>>0);}g=d.buf.$get();if(d.fmtFlags.sharp){g=$append(g,48,c.charCodeAt(16));}h=0;i=0;while(true){if(!(i<e)){break;}if(d.fmtFlags.space&&i>0){g=$append(g,32);if(d.fmtFlags.sharp){g=$append(g,48,c.charCodeAt(16));}}if(!(b===BS.nil)){h=((i<0||i>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+i]);}else{h=a.charCodeAt(i);}g=$append(g,c.charCodeAt((h>>>4<<24>>>24)),c.charCodeAt(((h&15)>>>0)));i=i+(1)>>0;}d.buf.$set(g);if(d.fmtFlags.widPresent&&d.wid>f&&d.fmtFlags.minus){d.writePadding(d.wid-f>>0);}};BH.prototype.fmtSbx=function(a,b,c){return this.$val.fmtSbx(a,b,c);};BH.ptr.prototype.fmtSx=function(a,b){var a,b,c;c=this;c.fmtSbx(a,BS.nil,b);};BH.prototype.fmtSx=function(a,b){return this.$val.fmtSx(a,b);};BH.ptr.prototype.fmtBx=function(a,b){var a,b,c;c=this;c.fmtSbx("",a,b);};BH.prototype.fmtBx=function(a,b){return this.$val.fmtBx(a,b);};BH.ptr.prototype.fmtQ=function(a){var a,b,c;b=this;a=b.truncateString(a);if(b.fmtFlags.sharp&&F.CanBackquote(a)){b.padString("`"+a+"`");return;}c=$subslice(new BS(b.intbuf),0,0);if(b.fmtFlags.plus){b.pad(F.AppendQuoteToASCII(c,a));}else{b.pad(F.AppendQuote(c,a));}};BH.prototype.fmtQ=function(a){return this.$val.fmtQ(a);};BH.ptr.prototype.fmtC=function(a){var a,b,c,d,e;b=this;c=((a.$low>>0));if((a.$high>0||(a.$high===0&&a.$low>1114111))){c=65533;}d=$subslice(new BS(b.intbuf),0,0);e=H.EncodeRune($subslice(d,0,4),c);b.pad($subslice(d,0,e));};BH.prototype.fmtC=function(a){return this.$val.fmtC(a);};BH.ptr.prototype.fmtQc=function(a){var a,b,c,d;b=this;c=((a.$low>>0));if((a.$high>0||(a.$high===0&&a.$low>1114111))){c=65533;}d=$subslice(new BS(b.intbuf),0,0);if(b.fmtFlags.plus){b.pad(F.AppendQuoteRuneToASCII(d,c));}else{b.pad(F.AppendQuoteRune(d,c));}};BH.prototype.fmtQc=function(a){return this.$val.fmtQc(a);};BH.ptr.prototype.fmtFloat=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.fmtFlags.precPresent){d=e.prec;}f=F.AppendFloat($subslice(new BS(e.intbuf),0,1),a,((c<<24>>>24)),d,b);if(((1>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+1])===45)||((1>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+1])===43)){f=$subslice(f,1);}else{(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]=43);}if(e.fmtFlags.space&&((0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0])===43)&&!e.fmtFlags.plus){(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]=32);}if(((1>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+1])===73)||((1>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+1])===78)){g=e.fmtFlags.zero;e.fmtFlags.zero=false;if(((1>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+1])===78)&&!e.fmtFlags.space&&!e.fmtFlags.plus){f=$subslice(f,1);}e.pad(f);e.fmtFlags.zero=g;return;}if(e.fmtFlags.sharp&&!((c===98))){h=0;i=c;if((i===(118))||(i===(103))||(i===(71))||(i===(120))){h=d;if(h===-1){h=6;}}j=CP.zero();k=$subslice(new BS(j),0,0);l=false;m=false;n=1;while(true){if(!(n<f.$length)){break;}switch(0){default:o=((n<0||n>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+n]);if(o===(46)){l=true;}else if((o===(112))||(o===(80))){k=$appendSlice(k,$subslice(f,n));f=$subslice(f,0,n);}else if((o===(101))||(o===(69))){if(!((c===120))&&!((c===88))){k=$appendSlice(k,$subslice(f,n));f=$subslice(f,0,n);break;}if(!((((n<0||n>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+n])===48))){m=true;}if(m){h=h-(1)>>0;}}else{if(!((((n<0||n>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+n])===48))){m=true;}if(m){h=h-(1)>>0;}}}n=n+(1)>>0;}if(!l){if((f.$length===2)&&((1>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+1])===48)){h=h-(1)>>0;}f=$append(f,46);}while(true){if(!(h>0)){break;}f=$append(f,48);h=h-(1)>>0;}f=$appendSlice(f,k);}if(e.fmtFlags.plus||!(((0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0])===43))){if(e.fmtFlags.zero&&e.fmtFlags.widPresent&&e.wid>f.$length){e.buf.writeByte((0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]));e.writePadding(e.wid-f.$length>>0);e.buf.write($subslice(f,1));return;}e.pad(f);return;}e.pad($subslice(f,1));};BH.prototype.fmtFloat=function(a,b,c,d){return this.$val.fmtFloat(a,b,c,d);};BI=function(a,b){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=AR();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;d.wrapErrs=true;$r=d.doPrintf(a,b);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=($bytesToString(d.buf));f=$ifaceNil;if($interfaceIsEqual(d.wrappedErr,$ifaceNil)){f=A.New(e);}else{f=new BJ.ptr(e,d.wrappedErr);}d.free();$s=-1;return f;}return;}if($f===undefined){$f={$blk:BI};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Errorf=BI;BJ.ptr.prototype.Error=function(){var a;a=this;return a.msg;};BJ.prototype.Error=function(){return this.$val.Error();};BJ.ptr.prototype.Unwrap=function(){var a;a=this;return a.err;};BJ.prototype.Unwrap=function(){return this.$val.Unwrap();};BT.methods=[{prop:"Read",name:"Read",pkg:"",typ:$funcType([BS],[$Int,$error],false)},{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"Width",name:"Width",pkg:"",typ:$funcType([],[$Int,$Bool],false)},{prop:"getRune",name:"getRune",pkg:"fmt",typ:$funcType([],[$Int32],false)},{prop:"mustReadRune",name:"mustReadRune",pkg:"fmt",typ:$funcType([],[$Int32],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)},{prop:"error",name:"error",pkg:"fmt",typ:$funcType([$error],[],false)},{prop:"errorString",name:"errorString",pkg:"fmt",typ:$funcType([$String],[],false)},{prop:"Token",name:"Token",pkg:"",typ:$funcType([$Bool,CQ],[BS,$error],false)},{prop:"free",name:"free",pkg:"fmt",typ:$funcType([X],[],false)},{prop:"SkipSpace",name:"SkipSpace",pkg:"",typ:$funcType([],[],false)},{prop:"token",name:"token",pkg:"fmt",typ:$funcType([$Bool,CQ],[BS],false)},{prop:"consume",name:"consume",pkg:"fmt",typ:$funcType([$String,$Bool],[$Bool],false)},{prop:"peek",name:"peek",pkg:"fmt",typ:$funcType([$String],[$Bool],false)},{prop:"notEOF",name:"notEOF",pkg:"fmt",typ:$funcType([],[],false)},{prop:"accept",name:"accept",pkg:"fmt",typ:$funcType([$String],[$Bool],false)},{prop:"okVerb",name:"okVerb",pkg:"fmt",typ:$funcType([$Int32,$String,$String],[$Bool],false)},{prop:"scanBool",name:"scanBool",pkg:"fmt",typ:$funcType([$Int32],[$Bool],false)},{prop:"getBase",name:"getBase",pkg:"fmt",typ:$funcType([$Int32],[$Int,$String],false)},{prop:"scanNumber",name:"scanNumber",pkg:"fmt",typ:$funcType([$String,$Bool],[$String],false)},{prop:"scanRune",name:"scanRune",pkg:"fmt",typ:$funcType([$Int],[$Int64],false)},{prop:"scanBasePrefix",name:"scanBasePrefix",pkg:"fmt",typ:$funcType([],[$Int,$String,$Bool],false)},{prop:"scanInt",name:"scanInt",pkg:"fmt",typ:$funcType([$Int32,$Int],[$Int64],false)},{prop:"scanUint",name:"scanUint",pkg:"fmt",typ:$funcType([$Int32,$Int],[$Uint64],false)},{prop:"floatToken",name:"floatToken",pkg:"fmt",typ:$funcType([],[$String],false)},{prop:"complexTokens",name:"complexTokens",pkg:"fmt",typ:$funcType([],[$String,$String],false)},{prop:"convertFloat",name:"convertFloat",pkg:"fmt",typ:$funcType([$String,$Int],[$Float64],false)},{prop:"scanComplex",name:"scanComplex",pkg:"fmt",typ:$funcType([$Int32,$Int],[$Complex128],false)},{prop:"convertString",name:"convertString",pkg:"fmt",typ:$funcType([$Int32],[$String],false)},{prop:"quotedString",name:"quotedString",pkg:"fmt",typ:$funcType([],[$String],false)},{prop:"hexByte",name:"hexByte",pkg:"fmt",typ:$funcType([],[$Uint8,$Bool],false)},{prop:"hexString",name:"hexString",pkg:"fmt",typ:$funcType([],[$String],false)},{prop:"scanPercent",name:"scanPercent",pkg:"fmt",typ:$funcType([],[],false)},{prop:"scanOne",name:"scanOne",pkg:"fmt",typ:$funcType([$Int32,$emptyInterface],[],false)},{prop:"doScan",name:"doScan",pkg:"fmt",typ:$funcType([BM],[$Int,$error],false)},{prop:"advance",name:"advance",pkg:"fmt",typ:$funcType([$String],[$Int],false)},{prop:"doScanf",name:"doScanf",pkg:"fmt",typ:$funcType([$String,BM],[$Int,$error],false)}];BO.methods=[{prop:"write",name:"write",pkg:"fmt",typ:$funcType([BS],[],false)},{prop:"writeString",name:"writeString",pkg:"fmt",typ:$funcType([$String],[],false)},{prop:"writeByte",name:"writeByte",pkg:"fmt",typ:$funcType([$Uint8],[],false)},{prop:"writeRune",name:"writeRune",pkg:"fmt",typ:$funcType([$Int32],[],false)}];CO.methods=[{prop:"free",name:"free",pkg:"fmt",typ:$funcType([],[],false)},{prop:"Width",name:"Width",pkg:"",typ:$funcType([],[$Int,$Bool],false)},{prop:"Precision",name:"Precision",pkg:"",typ:$funcType([],[$Int,$Bool],false)},{prop:"Flag",name:"Flag",pkg:"",typ:$funcType([$Int],[$Bool],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([BS],[$Int,$error],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[$Int,$error],false)},{prop:"unknownType",name:"unknownType",pkg:"fmt",typ:$funcType([E.Value],[],false)},{prop:"badVerb",name:"badVerb",pkg:"fmt",typ:$funcType([$Int32],[],false)},{prop:"fmtBool",name:"fmtBool",pkg:"fmt",typ:$funcType([$Bool,$Int32],[],false)},{prop:"fmt0x64",name:"fmt0x64",pkg:"fmt",typ:$funcType([$Uint64,$Bool],[],false)},{prop:"fmtInteger",name:"fmtInteger",pkg:"fmt",typ:$funcType([$Uint64,$Bool,$Int32],[],false)},{prop:"fmtFloat",name:"fmtFloat",pkg:"fmt",typ:$funcType([$Float64,$Int,$Int32],[],false)},{prop:"fmtComplex",name:"fmtComplex",pkg:"fmt",typ:$funcType([$Complex128,$Int,$Int32],[],false)},{prop:"fmtString",name:"fmtString",pkg:"fmt",typ:$funcType([$String,$Int32],[],false)},{prop:"fmtBytes",name:"fmtBytes",pkg:"fmt",typ:$funcType([BS,$Int32,$String],[],false)},{prop:"fmtPointer",name:"fmtPointer",pkg:"fmt",typ:$funcType([E.Value,$Int32],[],false)},{prop:"catchPanic",name:"catchPanic",pkg:"fmt",typ:$funcType([$emptyInterface,$Int32,$String],[],false)},{prop:"handleMethods",name:"handleMethods",pkg:"fmt",typ:$funcType([$Int32],[$Bool],false)},{prop:"printArg",name:"printArg",pkg:"fmt",typ:$funcType([$emptyInterface,$Int32],[],false)},{prop:"printValue",name:"printValue",pkg:"fmt",typ:$funcType([E.Value,$Int32,$Int],[],false)},{prop:"argNumber",name:"argNumber",pkg:"fmt",typ:$funcType([$Int,$String,$Int,$Int],[$Int,$Int,$Bool],false)},{prop:"badArgNum",name:"badArgNum",pkg:"fmt",typ:$funcType([$Int32],[],false)},{prop:"missingArg",name:"missingArg",pkg:"fmt",typ:$funcType([$Int32],[],false)},{prop:"doPrintf",name:"doPrintf",pkg:"fmt",typ:$funcType([$String,BM],[],false)},{prop:"doPrint",name:"doPrint",pkg:"fmt",typ:$funcType([BM],[],false)},{prop:"doPrintln",name:"doPrintln",pkg:"fmt",typ:$funcType([BM],[],false)}];CS.methods=[{prop:"clearflags",name:"clearflags",pkg:"fmt",typ:$funcType([],[],false)},{prop:"init",name:"init",pkg:"fmt",typ:$funcType([BO],[],false)},{prop:"writePadding",name:"writePadding",pkg:"fmt",typ:$funcType([$Int],[],false)},{prop:"pad",name:"pad",pkg:"fmt",typ:$funcType([BS],[],false)},{prop:"padString",name:"padString",pkg:"fmt",typ:$funcType([$String],[],false)},{prop:"fmtBoolean",name:"fmtBoolean",pkg:"fmt",typ:$funcType([$Bool],[],false)},{prop:"fmtUnicode",name:"fmtUnicode",pkg:"fmt",typ:$funcType([$Uint64],[],false)},{prop:"fmtInteger",name:"fmtInteger",pkg:"fmt",typ:$funcType([$Uint64,$Int,$Bool,$Int32,$String],[],false)},{prop:"truncateString",name:"truncateString",pkg:"fmt",typ:$funcType([$String],[$String],false)},{prop:"truncate",name:"truncate",pkg:"fmt",typ:$funcType([BS],[BS],false)},{prop:"fmtS",name:"fmtS",pkg:"fmt",typ:$funcType([$String],[],false)},{prop:"fmtBs",name:"fmtBs",pkg:"fmt",typ:$funcType([BS],[],false)},{prop:"fmtSbx",name:"fmtSbx",pkg:"fmt",typ:$funcType([$String,BS,$String],[],false)},{prop:"fmtSx",name:"fmtSx",pkg:"fmt",typ:$funcType([$String,$String],[],false)},{prop:"fmtBx",name:"fmtBx",pkg:"fmt",typ:$funcType([BS,$String],[],false)},{prop:"fmtQ",name:"fmtQ",pkg:"fmt",typ:$funcType([$String],[],false)},{prop:"fmtC",name:"fmtC",pkg:"fmt",typ:$funcType([$Uint64],[],false)},{prop:"fmtQc",name:"fmtQc",pkg:"fmt",typ:$funcType([$Uint64],[],false)},{prop:"fmtFloat",name:"fmtFloat",pkg:"fmt",typ:$funcType([$Float64,$Int,$Int32,$Int],[],false)}];CT.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Unwrap",name:"Unwrap",pkg:"",typ:$funcType([],[$error],false)}];J.init([{prop:"Read",name:"Read",pkg:"",typ:$funcType([BS],[$Int,$error],false)},{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"SkipSpace",name:"SkipSpace",pkg:"",typ:$funcType([],[],false)},{prop:"Token",name:"Token",pkg:"",typ:$funcType([$Bool,CQ],[BS,$error],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)},{prop:"Width",name:"Width",pkg:"",typ:$funcType([],[$Int,$Bool],false)}]);V.init("fmt",[{prop:"err",name:"err",embedded:false,exported:false,typ:$error,tag:""}]);W.init("fmt",[{prop:"rs",name:"rs",embedded:false,exported:false,typ:B.RuneScanner,tag:""},{prop:"buf",name:"buf",embedded:false,exported:false,typ:AO,tag:""},{prop:"count",name:"count",embedded:false,exported:false,typ:$Int,tag:""},{prop:"atEOF",name:"atEOF",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"ssave",name:"ssave",embedded:true,exported:false,typ:X,tag:""}]);X.init("fmt",[{prop:"validSave",name:"validSave",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"nlIsEnd",name:"nlIsEnd",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"nlIsSpace",name:"nlIsSpace",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"argLimit",name:"argLimit",embedded:false,exported:false,typ:$Int,tag:""},{prop:"limit",name:"limit",embedded:false,exported:false,typ:$Int,tag:""},{prop:"maxWid",name:"maxWid",embedded:false,exported:false,typ:$Int,tag:""}]);AK.init([{prop:"Flag",name:"Flag",pkg:"",typ:$funcType([$Int],[$Bool],false)},{prop:"Precision",name:"Precision",pkg:"",typ:$funcType([],[$Int,$Bool],false)},{prop:"Width",name:"Width",pkg:"",typ:$funcType([],[$Int,$Bool],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([BS],[$Int,$error],false)}]);AL.init([{prop:"Format",name:"Format",pkg:"",typ:$funcType([AK,$Int32],[],false)}]);AM.init([{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}]);AN.init([{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}]);AO.init($Uint8);AP.init("fmt",[{prop:"buf",name:"buf",embedded:false,exported:false,typ:AO,tag:""},{prop:"arg",name:"arg",embedded:false,exported:false,typ:$emptyInterface,tag:""},{prop:"value",name:"value",embedded:false,exported:false,typ:E.Value,tag:""},{prop:"fmt",name:"fmt",embedded:false,exported:false,typ:BH,tag:""},{prop:"reordered",name:"reordered",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"goodArgNum",name:"goodArgNum",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"panicking",name:"panicking",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"erroring",name:"erroring",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"wrapErrs",name:"wrapErrs",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"wrappedErr",name:"wrappedErr",embedded:false,exported:false,typ:$error,tag:""}]);BG.init("fmt",[{prop:"widPresent",name:"widPresent",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"precPresent",name:"precPresent",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"minus",name:"minus",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"plus",name:"plus",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"sharp",name:"sharp",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"space",name:"space",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"zero",name:"zero",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"plusV",name:"plusV",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"sharpV",name:"sharpV",embedded:false,exported:false,typ:$Bool,tag:""}]);BH.init("fmt",[{prop:"buf",name:"buf",embedded:false,exported:false,typ:BO,tag:""},{prop:"fmtFlags",name:"fmtFlags",embedded:true,exported:false,typ:BG,tag:""},{prop:"wid",name:"wid",embedded:false,exported:false,typ:$Int,tag:""},{prop:"prec",name:"prec",embedded:false,exported:false,typ:$Int,tag:""},{prop:"intbuf",name:"intbuf",embedded:false,exported:false,typ:BP,tag:""}]);BJ.init("fmt",[{prop:"msg",name:"msg",embedded:false,exported:false,typ:$String,tag:""},{prop:"err",name:"err",embedded:false,exported:false,typ:$error,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}Y=new BL([$toNativeArray($kindUint16,[9,13]),$toNativeArray($kindUint16,[32,32]),$toNativeArray($kindUint16,[133,133]),$toNativeArray($kindUint16,[160,160]),$toNativeArray($kindUint16,[5760,5760]),$toNativeArray($kindUint16,[8192,8202]),$toNativeArray($kindUint16,[8232,8233]),$toNativeArray($kindUint16,[8239,8239]),$toNativeArray($kindUint16,[8287,8287]),$toNativeArray($kindUint16,[12288,12288])]);AC=new G.Pool.ptr(BM.nil,(function(){return new W.ptr($ifaceNil,AO.nil,0,false,new X.ptr(false,false,false,0,0,0));}));AE=A.New("syntax error scanning complex number");AF=A.New("syntax error scanning boolean");AQ=new G.Pool.ptr(BM.nil,(function(){return new AP.ptr(AO.nil,$ifaceNil,new E.Value.ptr(BN.nil,0,0),new BH.ptr(BO.nil,new BG.ptr(false,false,false,false,false,false,false,false,false),0,0,BP.zero()),false,false,false,false,false,$ifaceNil);}));}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["strings"]=(function(){var $pkg={},$init,F,G,A,D,E,B,C,AS,BV,CC,CE,CF,CI,CJ,CK,CY,U,H,I,K,L,O,P,S,X,Y,Z,AA,AB,AC,AD,AJ,AK,AL,AM,AN,AQ,AR,AT,AU,AV,AY,AZ,BA,BB,BW,BX,BY,CA,CB;F=$packages["errors"];G=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["internal/bytealg"];D=$packages["io"];E=$packages["sync"];B=$packages["unicode"];C=$packages["unicode/utf8"];AS=$pkg.asciiSet=$newType(32,$kindArray,"strings.asciiSet",true,"strings",false,null);BV=$pkg.Reader=$newType(0,$kindStruct,"strings.Reader",true,"strings",true,function(s_,i_,prevRune_){this.$val=this;if(arguments.length===0){this.s="";this.i=new $Int64(0,0);this.prevRune=0;return;}this.s=s_;this.i=i_;this.prevRune=prevRune_;});CC=$pkg.Builder=$newType(0,$kindStruct,"strings.Builder",true,"strings",true,function(addr_,buf_){this.$val=this;if(arguments.length===0){this.addr=CI.nil;this.buf=CJ.nil;return;}this.addr=addr_;this.buf=buf_;});CE=$sliceType($String);CF=$ptrType(AS);CI=$ptrType(CC);CJ=$sliceType($Uint8);CK=$arrayType($Uint32,8);CY=$ptrType(BV);H=function(e,f){var e,f,g,h,i,j,k,l,m;g=C.RuneCountInString(e);if(f<0||f>g){f=g;}h=$makeSlice(CE,f);i=0;while(true){if(!(i<(f-1>>0))){break;}j=C.DecodeRuneInString(e);k=j[0];l=j[1];((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]=$substring(e,0,l));e=$substring(e,l);if(k===65533){((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]="\xEF\xBF\xBD");}i=i+(1)>>0;}if(f>0){(m=f-1>>0,((m<0||m>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+m]=e));}return h;};I=function(e,f){var e,f;return BY(e,f)>=0;};$pkg.Contains=I;K=function(e,f){var e,f;return L(e,f)>=0;};$pkg.ContainsRune=K;L=function(e,f){var e,f,g,h,i,j,k;if(0<=f&&f<128){return BX(e,((f<<24>>>24)));}else if((f===65533)){g=e;h=0;while(true){if(!(h<g.length)){break;}i=$decodeRune(g,h);j=h;k=i[0];if(k===65533){return j;}h+=i[1];}return-1;}else if(!C.ValidRune(f)){return-1;}else{return BY(e,($encodeRune(f)));}};$pkg.IndexRune=L;O=function(e,f){var e,f,g;g=e.length-1>>0;while(true){if(!(g>=0)){break;}if(e.charCodeAt(g)===f){return g;}g=g-(1)>>0;}return-1;};$pkg.LastIndexByte=O;P=function(e,f,g,h){var e,f,g,h,i,j,k;if(h===0){return CE.nil;}if(f===""){return H(e,h);}if(h<0){h=CA(e,f)+1>>0;}i=$makeSlice(CE,h);h=h-(1)>>0;j=0;while(true){if(!(j<h)){break;}k=BY(e,f);if(k<0){break;}((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]=$substring(e,0,(k+g>>0)));e=$substring(e,(k+f.length>>0));j=j+(1)>>0;}((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]=e);return $subslice(i,0,(j+1>>0));};S=function(e,f){var e,f;return P(e,f,0,-1);};$pkg.Split=S;X=function(e,f){var e,f,g,h,i,j,k,l,m;g=e.$length;if(g===(0)){return"";}else if(g===(1)){return(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]);}h=$imul(f.length,((e.$length-1>>0)));i=0;while(true){if(!(i<e.$length)){break;}h=h+(((i<0||i>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+i]).length)>>0;i=i+(1)>>0;}j=new CC.ptr(CI.nil,CJ.nil);j.Grow(h);j.WriteString((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]));k=$subslice(e,1);l=0;while(true){if(!(l<k.$length)){break;}m=((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]);j.WriteString(f);j.WriteString(m);l++;}return j.String();};$pkg.Join=X;Y=function(e,f){var e,f;return e.length>=f.length&&$substring(e,0,f.length)===f;};$pkg.HasPrefix=Y;Z=function(e,f){var e,f;return e.length>=f.length&&$substring(e,(e.length-f.length>>0))===f;};$pkg.HasSuffix=Z;AA=function(e,f){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=new CC.ptr(CI.nil,CJ.nil);h=f;i=0;case 1:if(!(i<h.length)){$s=2;continue;}j=$decodeRune(h,i);k=i;l=j[0];m=e(l);$s=3;case 3:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;if((n===l)&&!((l===65533))){i+=j[1];$s=1;continue;}o=0;if(l===65533){p=C.DecodeRuneInString($substring(f,k));l=p[0];o=p[1];if(!((o===1))&&(n===l)){i+=j[1];$s=1;continue;}}else{o=C.RuneLen(l);}g.Grow(f.length+4>>0);g.WriteString($substring(f,0,k));if(n>=0){g.WriteRune(n);}f=$substring(f,(k+o>>0));$s=2;continue;case 2:if(g.Cap()===0){$s=-1;return f;}q=f;r=0;case 4:if(!(r<q.length)){$s=5;continue;}s=$decodeRune(q,r);t=s[0];u=e(t);$s=6;case 6:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;if(v>=0){if(v<128){g.WriteByte(((v<<24>>>24)));}else{g.WriteRune(v);}}r+=s[1];$s=4;continue;case 5:$s=-1;return g.String();}return;}if($f===undefined){$f={$blk:AA};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Map=AA;AB=function(e,f){var e,f,g,h,i,j;if(f===0){return"";}if(f<0){$panic(new $String("strings: negative Repeat count"));}else if(!(((g=($imul(e.length,f))/f,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"))===e.length))){$panic(new $String("strings: Repeat count causes overflow"));}h=$imul(e.length,f);i=new CC.ptr(CI.nil,CJ.nil);i.Grow(h);i.WriteString(e);while(true){if(!(i.Len()<h)){break;}if(i.Len()<=(j=h/2,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"))){i.WriteString(i.String());}else{i.WriteString($substring(i.String(),0,(h-i.Len()>>0)));break;}}return i.String();};$pkg.Repeat=AB;AC=function(e){var e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=true;g=false;h=f;i=g;j=0;while(true){if(!(j<e.length)){break;}k=e.charCodeAt(j);if(k>=128){h=false;break;}i=i||(97<=k&&k<=122);j=j+(1)>>0;}if(h){if(!i){$s=-1;return e;}l=new CC.ptr(CI.nil,CJ.nil);l.Grow(e.length);m=0;while(true){if(!(m<e.length)){break;}n=e.charCodeAt(m);if(97<=n&&n<=122){n=n-(32)<<24>>>24;}l.WriteByte(n);m=m+(1)>>0;}$s=-1;return l.String();}o=AA(B.ToUpper,e);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;$s=2;case 2:return p;}return;}if($f===undefined){$f={$blk:AC};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ToUpper=AC;AD=function(e){var e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=true;g=false;h=f;i=g;j=0;while(true){if(!(j<e.length)){break;}k=e.charCodeAt(j);if(k>=128){h=false;break;}i=i||(65<=k&&k<=90);j=j+(1)>>0;}if(h){if(!i){$s=-1;return e;}l=new CC.ptr(CI.nil,CJ.nil);l.Grow(e.length);m=0;while(true){if(!(m<e.length)){break;}n=e.charCodeAt(m);if(65<=n&&n<=90){n=n+(32)<<24>>>24;}l.WriteByte(n);m=m+(1)>>0;}$s=-1;return l.String();}o=AA(B.ToLower,e);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;$s=2;case 2:return p;}return;}if($f===undefined){$f={$blk:AD};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ToLower=AD;AJ=function(e){var e;if(e<=127){if(48<=e&&e<=57){return false;}else if(97<=e&&e<=122){return false;}else if(65<=e&&e<=90){return false;}else if((e===95)){return false;}return true;}if(B.IsLetter(e)||B.IsDigit(e)){return false;}return B.IsSpace(e);};AK=function(e){var e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=[f];f[0]=32;g=AA((function(f){return function(g){var g;if(AJ(f[0])){f[0]=g;return B.ToTitle(g);}f[0]=g;return g;};})(f),e);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:AK};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Title=AK;AL=function(e,f){var e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=AQ(e,f,false);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(h===-1){$s=-1;return"";}$s=-1;return $substring(e,h);}return;}if($f===undefined){$f={$blk:AL};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimLeftFunc=AL;AM=function(e,f){var e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=AR(e,f,false);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(h>=0&&e.charCodeAt(h)>=128){i=C.DecodeRuneInString($substring(e,h));j=i[1];h=h+(j)>>0;}else{h=h+(1)>>0;}$s=-1;return $substring(e,0,h);}return;}if($f===undefined){$f={$blk:AM};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimRightFunc=AM;AN=function(e,f){var e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=AL(e,f);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=AM(g,f);$s=2;case 2:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=3;case 3:return i;}return;}if($f===undefined){$f={$blk:AN};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimFunc=AN;AQ=function(e,f,g){var e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=e;i=0;case 1:if(!(i<h.length)){$s=2;continue;}j=$decodeRune(h,i);k=i;l=j[0];m=f(l);$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(m===g){$s=3;continue;}$s=4;continue;case 3:$s=-1;return k;case 4:i+=j[1];$s=1;continue;case 2:$s=-1;return-1;}return;}if($f===undefined){$f={$blk:AQ};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AR=function(e,f,g){var e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=e.length;case 1:if(!(h>0)){$s=2;continue;}i=C.DecodeLastRuneInString($substring(e,0,h));j=i[0];k=i[1];h=h-(k)>>0;l=f(j);$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(l===g){$s=3;continue;}$s=4;continue;case 3:$s=-1;return h;case 4:$s=1;continue;case 2:$s=-1;return-1;}return;}if($f===undefined){$f={$blk:AR};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AT=function(e){var e,f,g,h,i,j,k,l,m,n,o;f=CK.zero();g=false;h=0;while(true){if(!(h<e.length)){break;}i=e.charCodeAt(h);if(i>=128){j=$clone(f,AS);k=false;AS.copy(f,j);g=k;return[f,g];}l=i>>>5<<24>>>24;((l<0||l>=f.length)?($throwRuntimeError("index out of range"),undefined):f[l]=((((l<0||l>=f.length)?($throwRuntimeError("index out of range"),undefined):f[l])|(((m=((((i&31)>>>0)>>>0)),m<32?(1<<m):0)>>>0)))>>>0));h=h+(1)>>0;}n=$clone(f,AS);o=true;AS.copy(f,n);g=o;return[f,g];};AS.prototype.contains=function(e){var e,f,g,h,i;f=this.$val;return!((((((g=f,h=e>>>5<<24>>>24,((h<0||h>=g.length)?($throwRuntimeError("index out of range"),undefined):g[h]))&(((i=((((e&31)>>>0)>>>0)),i<32?(1<<i):0)>>>0)))>>>0))===0));};$ptrType(AS).prototype.contains=function(e){return(new AS(this.$get())).contains(e);};AU=function(e){var e,f,g,h;if((e.length===1)&&e.charCodeAt(0)<128){return(function(f){var f;return f===((e.charCodeAt(0)>>0));});}f=AT(e);g=$clone(f[0],AS);h=f[1];if(h){return(function(i){var i;return i<128&&new CF(g).contains(((i<<24>>>24)));});}return(function(i){var i;return L(e,i)>=0;});};AV=function(e,f){var e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(e===""||f===""){$s=-1;return e;}g=AN(e,AU(f));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:AV};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Trim=AV;AY=function(e){var e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=0;case 1:if(!(f<e.length)){$s=2;continue;}g=e.charCodeAt(f);if(g>=128){$s=3;continue;}$s=4;continue;case 3:h=AN($substring(e,f),B.IsSpace);$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=6;case 6:return i;case 4:if(((g<0||g>=U.length)?($throwRuntimeError("index out of range"),undefined):U[g])===0){$s=2;continue;}f=f+(1)>>0;$s=1;continue;case 2:j=e.length;case 7:if(!(j>f)){$s=8;continue;}k=e.charCodeAt((j-1>>0));if(k>=128){$s=9;continue;}$s=10;continue;case 9:l=AN($substring(e,f,j),B.IsSpace);$s=11;case 11:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=12;case 12:return m;case 10:if(((k<0||k>=U.length)?($throwRuntimeError("index out of range"),undefined):U[k])===0){$s=8;continue;}j=j-(1)>>0;$s=7;continue;case 8:$s=-1;return $substring(e,f,j);}return;}if($f===undefined){$f={$blk:AY};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimSpace=AY;AZ=function(e,f){var e,f;if(Y(e,f)){return $substring(e,f.length);}return e;};$pkg.TrimPrefix=AZ;BA=function(e,f){var e,f;if(Z(e,f)){return $substring(e,0,(e.length-f.length>>0));}return e;};$pkg.TrimSuffix=BA;BB=function(e,f,g,h){var e,f,g,h,i,j,k,l,m,n,o;if(f===g||(h===0)){return e;}i=CA(e,f);if(i===0){return e;}else if(h<0||i<h){h=i;}j=new CC.ptr(CI.nil,CJ.nil);j.Grow(e.length+($imul(h,((g.length-f.length>>0))))>>0);k=0;l=0;while(true){if(!(l<h)){break;}m=k;if(f.length===0){if(l>0){n=C.DecodeRuneInString($substring(e,k));o=n[1];m=m+(o)>>0;}}else{m=m+(BY($substring(e,k),f))>>0;}j.WriteString($substring(e,k,m));j.WriteString(g);k=m+f.length>>0;l=l+(1)>>0;}j.WriteString($substring(e,k));return j.String();};$pkg.Replace=BB;BV.ptr.prototype.Len=function(){var e,f,g,h,i,j;e=this;if((f=e.i,g=(new $Int64(0,e.s.length)),(f.$high>g.$high||(f.$high===g.$high&&f.$low>=g.$low)))){return 0;}return(((h=(i=(new $Int64(0,e.s.length)),j=e.i,new $Int64(i.$high-j.$high,i.$low-j.$low)),h.$low+((h.$high>>31)*4294967296))>>0));};BV.prototype.Len=function(){return this.$val.Len();};BV.ptr.prototype.Size=function(){var e;e=this;return(new $Int64(0,e.s.length));};BV.prototype.Size=function(){return this.$val.Size();};BV.ptr.prototype.Read=function(e){var e,f,g,h,i,j,k,l,m,n;f=0;g=$ifaceNil;h=this;if((i=h.i,j=(new $Int64(0,h.s.length)),(i.$high>j.$high||(i.$high===j.$high&&i.$low>=j.$low)))){k=0;l=D.EOF;f=k;g=l;return[f,g];}h.prevRune=-1;f=$copyString(e,$substring(h.s,$flatten64(h.i)));h.i=(m=h.i,n=(new $Int64(0,f)),new $Int64(m.$high+n.$high,m.$low+n.$low));return[f,g];};BV.prototype.Read=function(e){return this.$val.Read(e);};BV.ptr.prototype.ReadAt=function(e,f){var e,f,g,h,i,j,k,l,m,n;g=0;h=$ifaceNil;i=this;if((f.$high<0||(f.$high===0&&f.$low<0))){j=0;k=F.New("strings.Reader.ReadAt: negative offset");g=j;h=k;return[g,h];}if((l=(new $Int64(0,i.s.length)),(f.$high>l.$high||(f.$high===l.$high&&f.$low>=l.$low)))){m=0;n=D.EOF;g=m;h=n;return[g,h];}g=$copyString(e,$substring(i.s,$flatten64(f)));if(g<e.$length){h=D.EOF;}return[g,h];};BV.prototype.ReadAt=function(e,f){return this.$val.ReadAt(e,f);};BV.ptr.prototype.ReadByte=function(){var e,f,g,h,i,j;e=this;e.prevRune=-1;if((f=e.i,g=(new $Int64(0,e.s.length)),(f.$high>g.$high||(f.$high===g.$high&&f.$low>=g.$low)))){return[0,D.EOF];}h=e.s.charCodeAt($flatten64(e.i));e.i=(i=e.i,j=new $Int64(0,1),new $Int64(i.$high+j.$high,i.$low+j.$low));return[h,$ifaceNil];};BV.prototype.ReadByte=function(){return this.$val.ReadByte();};BV.ptr.prototype.UnreadByte=function(){var e,f,g,h;e=this;if((f=e.i,(f.$high<0||(f.$high===0&&f.$low<=0)))){return F.New("strings.Reader.UnreadByte: at beginning of string");}e.prevRune=-1;e.i=(g=e.i,h=new $Int64(0,1),new $Int64(g.$high-h.$high,g.$low-h.$low));return $ifaceNil;};BV.prototype.UnreadByte=function(){return this.$val.UnreadByte();};BV.ptr.prototype.ReadRune=function(){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;e=0;f=0;g=$ifaceNil;h=this;if((i=h.i,j=(new $Int64(0,h.s.length)),(i.$high>j.$high||(i.$high===j.$high&&i.$low>=j.$low)))){h.prevRune=-1;k=0;l=0;m=D.EOF;e=k;f=l;g=m;return[e,f,g];}h.prevRune=(((n=h.i,n.$low+((n.$high>>31)*4294967296))>>0));o=h.s.charCodeAt($flatten64(h.i));if(o<128){h.i=(p=h.i,q=new $Int64(0,1),new $Int64(p.$high+q.$high,p.$low+q.$low));r=((o>>0));s=1;t=$ifaceNil;e=r;f=s;g=t;return[e,f,g];}u=C.DecodeRuneInString($substring(h.s,$flatten64(h.i)));e=u[0];f=u[1];h.i=(v=h.i,w=(new $Int64(0,f)),new $Int64(v.$high+w.$high,v.$low+w.$low));return[e,f,g];};BV.prototype.ReadRune=function(){return this.$val.ReadRune();};BV.ptr.prototype.UnreadRune=function(){var e,f;e=this;if((f=e.i,(f.$high<0||(f.$high===0&&f.$low<=0)))){return F.New("strings.Reader.UnreadRune: at beginning of string");}if(e.prevRune<0){return F.New("strings.Reader.UnreadRune: previous operation was not ReadRune");}e.i=(new $Int64(0,e.prevRune));e.prevRune=-1;return $ifaceNil;};BV.prototype.UnreadRune=function(){return this.$val.UnreadRune();};BV.ptr.prototype.Seek=function(e,f){var e,f,g,h,i,j,k;g=this;g.prevRune=-1;h=new $Int64(0,0);i=f;if(i===(0)){h=e;}else if(i===(1)){h=(j=g.i,new $Int64(j.$high+e.$high,j.$low+e.$low));}else if(i===(2)){h=(k=(new $Int64(0,g.s.length)),new $Int64(k.$high+e.$high,k.$low+e.$low));}else{return[new $Int64(0,0),F.New("strings.Reader.Seek: invalid whence")];}if((h.$high<0||(h.$high===0&&h.$low<0))){return[new $Int64(0,0),F.New("strings.Reader.Seek: negative position")];}g.i=h;return[h,$ifaceNil];};BV.prototype.Seek=function(e,f){return this.$val.Seek(e,f);};BV.ptr.prototype.WriteTo=function(e){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=new $Int64(0,0);g=$ifaceNil;h=this;h.prevRune=-1;if((i=h.i,j=(new $Int64(0,h.s.length)),(i.$high>j.$high||(i.$high===j.$high&&i.$low>=j.$low)))){k=new $Int64(0,0);l=$ifaceNil;f=k;g=l;$s=-1;return[f,g];}m=$substring(h.s,$flatten64(h.i));o=D.WriteString(e,m);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];g=n[1];if(p>m.length){$panic(new $String("strings.Reader.WriteTo: invalid WriteString count"));}h.i=(q=h.i,r=(new $Int64(0,p)),new $Int64(q.$high+r.$high,q.$low+r.$low));f=(new $Int64(0,p));if(!((p===m.length))&&$interfaceIsEqual(g,$ifaceNil)){g=D.ErrShortWrite;}$s=-1;return[f,g];}return;}if($f===undefined){$f={$blk:BV.ptr.prototype.WriteTo};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};BV.prototype.WriteTo=function(e){return this.$val.WriteTo(e);};BV.ptr.prototype.Reset=function(e){var e,f;f=this;BV.copy(f,new BV.ptr(e,new $Int64(0,0),-1));};BV.prototype.Reset=function(e){return this.$val.Reset(e);};BW=function(e){var e;return new BV.ptr(e,new $Int64(0,0),-1);};$pkg.NewReader=BW;BX=function(e,f){var e,f;return $parseInt(e.indexOf($global.String.fromCharCode(f)))>>0;};$pkg.IndexByte=BX;BY=function(e,f){var e,f;return $parseInt(e.indexOf(f))>>0;};$pkg.Index=BY;CA=function(e,f){var e,f,g,h;g=0;if((f.length===0)){return C.RuneCountInString(e)+1>>0;}else if(f.length>e.length){return 0;}else if((f.length===e.length)){if(f===e){return 1;}return 0;}while(true){h=BY(e,f);if(h===-1){break;}g=g+(1)>>0;e=$substring(e,(h+f.length>>0));}return g;};$pkg.Count=CA;CC.ptr.prototype.String=function(){var e;e=this;return($bytesToString(e.buf));};CC.prototype.String=function(){return this.$val.String();};CC.ptr.prototype.copyCheck=function(){var e;e=this;if(e.addr===CI.nil){e.addr=e;}else if(!(e.addr===e)){$panic(new $String("strings: illegal use of non-zero Builder copied by value"));}};CC.prototype.copyCheck=function(){return this.$val.copyCheck();};CB=function(e,f){var e,f;if(e===f){return 0;}if(e<f){return-1;}return 1;};$pkg.Compare=CB;CC.ptr.prototype.Len=function(){var e;e=this;return e.buf.$length;};CC.prototype.Len=function(){return this.$val.Len();};CC.ptr.prototype.Cap=function(){var e;e=this;return e.buf.$capacity;};CC.prototype.Cap=function(){return this.$val.Cap();};CC.ptr.prototype.Reset=function(){var e;e=this;e.addr=CI.nil;e.buf=CJ.nil;};CC.prototype.Reset=function(){return this.$val.Reset();};CC.ptr.prototype.grow=function(e){var e,f,g;f=this;g=$makeSlice(CJ,f.buf.$length,(($imul(2,f.buf.$capacity))+e>>0));$copySlice(g,f.buf);f.buf=g;};CC.prototype.grow=function(e){return this.$val.grow(e);};CC.ptr.prototype.Grow=function(e){var e,f;f=this;f.copyCheck();if(e<0){$panic(new $String("strings.Builder.Grow: negative count"));}if((f.buf.$capacity-f.buf.$length>>0)<e){f.grow(e);}};CC.prototype.Grow=function(e){return this.$val.Grow(e);};CC.ptr.prototype.Write=function(e){var e,f;f=this;f.copyCheck();f.buf=$appendSlice(f.buf,e);return[e.$length,$ifaceNil];};CC.prototype.Write=function(e){return this.$val.Write(e);};CC.ptr.prototype.WriteByte=function(e){var e,f;f=this;f.copyCheck();f.buf=$append(f.buf,e);return $ifaceNil;};CC.prototype.WriteByte=function(e){return this.$val.WriteByte(e);};CC.ptr.prototype.WriteRune=function(e){var e,f,g,h;f=this;f.copyCheck();if(((e>>>0))<128){f.buf=$append(f.buf,((e<<24>>>24)));return[1,$ifaceNil];}g=f.buf.$length;if((f.buf.$capacity-g>>0)<4){f.grow(4);}h=C.EncodeRune($subslice(f.buf,g,(g+4>>0)),e);f.buf=$subslice(f.buf,0,(g+h>>0));return[h,$ifaceNil];};CC.prototype.WriteRune=function(e){return this.$val.WriteRune(e);};CC.ptr.prototype.WriteString=function(e){var e,f;f=this;f.copyCheck();f.buf=$appendSlice(f.buf,e);return[e.length,$ifaceNil];};CC.prototype.WriteString=function(e){return this.$val.WriteString(e);};CF.methods=[{prop:"contains",name:"contains",pkg:"strings",typ:$funcType([$Uint8],[$Bool],false)}];CY.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([CJ],[$Int,$error],false)},{prop:"ReadAt",name:"ReadAt",pkg:"",typ:$funcType([CJ,$Int64],[$Int,$error],false)},{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"UnreadByte",name:"UnreadByte",pkg:"",typ:$funcType([],[$error],false)},{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)},{prop:"Seek",name:"Seek",pkg:"",typ:$funcType([$Int64,$Int],[$Int64,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([D.Writer],[$Int64,$error],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([$String],[],false)}];CI.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"copyCheck",name:"copyCheck",pkg:"strings",typ:$funcType([],[],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Cap",name:"Cap",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"grow",name:"grow",pkg:"strings",typ:$funcType([$Int],[],false)},{prop:"Grow",name:"Grow",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([CJ],[$Int,$error],false)},{prop:"WriteByte",name:"WriteByte",pkg:"",typ:$funcType([$Uint8],[$error],false)},{prop:"WriteRune",name:"WriteRune",pkg:"",typ:$funcType([$Int32],[$Int,$error],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[$Int,$error],false)}];AS.init($Uint32,8);BV.init("strings",[{prop:"s",name:"s",embedded:false,exported:false,typ:$String,tag:""},{prop:"i",name:"i",embedded:false,exported:false,typ:$Int64,tag:""},{prop:"prevRune",name:"prevRune",embedded:false,exported:false,typ:$Int,tag:""}]);CC.init("strings",[{prop:"addr",name:"addr",embedded:false,exported:false,typ:CI,tag:""},{prop:"buf",name:"buf",embedded:false,exported:false,typ:CJ,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=F.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}U=$toNativeArray($kindUint8,[0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["unicode/utf16"]=(function(){var $pkg={},$init,A,B;A=function(a){var a;return 55296<=a&&a<57344;};$pkg.IsSurrogate=A;B=function(a,b){var a,b;if(55296<=a&&a<56320&&56320<=b&&b<57344){return((((a-55296>>0))<<10>>0)|((b-56320>>0)))+65536>>0;}return 65533;};$pkg.DecodeRune=B;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["encoding/json"]=(function(){var $pkg={},$init,C,H,I,D,J,G,E,K,L,M,F,A,N,O,B,P,T,Y,Z,AA,AD,AE,CA,CB,CC,CE,CG,CJ,CL,CM,DB,DI,DJ,DL,DO,DQ,DS,DU,DY,DZ,EA,EG,EH,EJ,EK,EL,EM,EN,EV,EW,EX,EY,EZ,FA,FB,FC,FE,FF,FG,FH,FI,FJ,FK,FL,FM,FN,FO,FP,FQ,FR,FS,FU,FV,FW,FX,FZ,GA,GB,GC,GD,GF,GG,R,S,AF,CF,CH,CN,CQ,CR,DC,DD,ED,EP,EQ,ER,a,b,c,Q,U,V,AC,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,CI,CK,CO,CP,CS,CT,CU,CV,CW,CX,CY,CZ,DA,DE,DF,DG,DH,DK,DM,DN,DP,DR,DT,DV,DW,DX,EB,EC,EE,EF,EO,ES,ET,EU;C=$packages["bytes"];H=$packages["encoding"];I=$packages["encoding/base64"];D=$packages["errors"];J=$packages["fmt"];G=$packages["github.com/gopherjs/gopherjs/nosync"];E=$packages["io"];K=$packages["math"];L=$packages["reflect"];M=$packages["sort"];F=$packages["strconv"];A=$packages["strings"];N=$packages["unicode"];O=$packages["unicode/utf16"];B=$packages["unicode/utf8"];P=$pkg.tagOptions=$newType(8,$kindString,"json.tagOptions",true,"encoding/json",false,null);T=$pkg.Decoder=$newType(0,$kindStruct,"json.Decoder",true,"encoding/json",true,function(r_,buf_,d_,scanp_,scanned_,scan_,err_,tokenState_,tokenStack_){this.$val=this;if(arguments.length===0){this.r=$ifaceNil;this.buf=FA.nil;this.d=new EM.ptr(FA.nil,0,0,new AE.ptr($throwNilPointerError,false,EX.nil,$ifaceNil,new $Int64(0,0)),FC.nil,$ifaceNil,false,false);this.scanp=0;this.scanned=new $Int64(0,0);this.scan=new AE.ptr($throwNilPointerError,false,EX.nil,$ifaceNil,new $Int64(0,0));this.err=$ifaceNil;this.tokenState=0;this.tokenStack=EX.nil;return;}this.r=r_;this.buf=buf_;this.d=d_;this.scanp=scanp_;this.scanned=scanned_;this.scan=scan_;this.err=err_;this.tokenState=tokenState_;this.tokenStack=tokenStack_;});Y=$pkg.RawMessage=$newType(12,$kindSlice,"json.RawMessage",true,"encoding/json",true,null);Z=$pkg.Token=$newType(8,$kindInterface,"json.Token",true,"encoding/json",true,null);AA=$pkg.Delim=$newType(4,$kindInt32,"json.Delim",true,"encoding/json",true,null);AD=$pkg.SyntaxError=$newType(0,$kindStruct,"json.SyntaxError",true,"encoding/json",true,function(msg_,Offset_){this.$val=this;if(arguments.length===0){this.msg="";this.Offset=new $Int64(0,0);return;}this.msg=msg_;this.Offset=Offset_;});AE=$pkg.scanner=$newType(0,$kindStruct,"json.scanner",true,"encoding/json",false,function(step_,endTop_,parseState_,err_,bytes_){this.$val=this;if(arguments.length===0){this.step=$throwNilPointerError;this.endTop=false;this.parseState=EX.nil;this.err=$ifaceNil;this.bytes=new $Int64(0,0);return;}this.step=step_;this.endTop=endTop_;this.parseState=parseState_;this.err=err_;this.bytes=bytes_;});CA=$pkg.Marshaler=$newType(8,$kindInterface,"json.Marshaler",true,"encoding/json",true,null);CB=$pkg.UnsupportedTypeError=$newType(0,$kindStruct,"json.UnsupportedTypeError",true,"encoding/json",true,function(Type_){this.$val=this;if(arguments.length===0){this.Type=$ifaceNil;return;}this.Type=Type_;});CC=$pkg.UnsupportedValueError=$newType(0,$kindStruct,"json.UnsupportedValueError",true,"encoding/json",true,function(Value_,Str_){this.$val=this;if(arguments.length===0){this.Value=new L.Value.ptr(FO.nil,0,0);this.Str="";return;}this.Value=Value_;this.Str=Str_;});CE=$pkg.MarshalerError=$newType(0,$kindStruct,"json.MarshalerError",true,"encoding/json",true,function(Type_,Err_,sourceFunc_){this.$val=this;if(arguments.length===0){this.Type=$ifaceNil;this.Err=$ifaceNil;this.sourceFunc="";return;}this.Type=Type_;this.Err=Err_;this.sourceFunc=sourceFunc_;});CG=$pkg.encodeState=$newType(0,$kindStruct,"json.encodeState",true,"encoding/json",false,function(Buffer_,scratch_,ptrLevel_,ptrSeen_){this.$val=this;if(arguments.length===0){this.Buffer=new C.Buffer.ptr(FA.nil,0,0);this.scratch=FI.zero();this.ptrLevel=0;this.ptrSeen=false;return;}this.Buffer=Buffer_;this.scratch=scratch_;this.ptrLevel=ptrLevel_;this.ptrSeen=ptrSeen_;});CJ=$pkg.jsonError=$newType(0,$kindStruct,"json.jsonError",true,"encoding/json",false,function(error_){this.$val=this;if(arguments.length===0){this.error=$ifaceNil;return;}this.error=error_;});CL=$pkg.encOpts=$newType(0,$kindStruct,"json.encOpts",true,"encoding/json",false,function(quoted_,escapeHTML_){this.$val=this;if(arguments.length===0){this.quoted=false;this.escapeHTML=false;return;}this.quoted=quoted_;this.escapeHTML=escapeHTML_;});CM=$pkg.encoderFunc=$newType(4,$kindFunc,"json.encoderFunc",true,"encoding/json",false,null);DB=$pkg.floatEncoder=$newType(4,$kindInt,"json.floatEncoder",true,"encoding/json",false,null);DI=$pkg.structEncoder=$newType(0,$kindStruct,"json.structEncoder",true,"encoding/json",false,function(fields_){this.$val=this;if(arguments.length===0){this.fields=new DJ.ptr(FJ.nil,false);return;}this.fields=fields_;});DJ=$pkg.structFields=$newType(0,$kindStruct,"json.structFields",true,"encoding/json",false,function(list_,nameIndex_){this.$val=this;if(arguments.length===0){this.list=FJ.nil;this.nameIndex=false;return;}this.list=list_;this.nameIndex=nameIndex_;});DL=$pkg.mapEncoder=$newType(0,$kindStruct,"json.mapEncoder",true,"encoding/json",false,function(elemEnc_){this.$val=this;if(arguments.length===0){this.elemEnc=$throwNilPointerError;return;}this.elemEnc=elemEnc_;});DO=$pkg.sliceEncoder=$newType(0,$kindStruct,"json.sliceEncoder",true,"encoding/json",false,function(arrayEnc_){this.$val=this;if(arguments.length===0){this.arrayEnc=$throwNilPointerError;return;}this.arrayEnc=arrayEnc_;});DQ=$pkg.arrayEncoder=$newType(0,$kindStruct,"json.arrayEncoder",true,"encoding/json",false,function(elemEnc_){this.$val=this;if(arguments.length===0){this.elemEnc=$throwNilPointerError;return;}this.elemEnc=elemEnc_;});DS=$pkg.ptrEncoder=$newType(0,$kindStruct,"json.ptrEncoder",true,"encoding/json",false,function(elemEnc_){this.$val=this;if(arguments.length===0){this.elemEnc=$throwNilPointerError;return;}this.elemEnc=elemEnc_;});DU=$pkg.condAddrEncoder=$newType(0,$kindStruct,"json.condAddrEncoder",true,"encoding/json",false,function(canAddrEnc_,elseEnc_){this.$val=this;if(arguments.length===0){this.canAddrEnc=$throwNilPointerError;this.elseEnc=$throwNilPointerError;return;}this.canAddrEnc=canAddrEnc_;this.elseEnc=elseEnc_;});DY=$pkg.reflectWithString=$newType(0,$kindStruct,"json.reflectWithString",true,"encoding/json",false,function(k_,v_,ks_){this.$val=this;if(arguments.length===0){this.k=new L.Value.ptr(FO.nil,0,0);this.v=new L.Value.ptr(FO.nil,0,0);this.ks="";return;}this.k=k_;this.v=v_;this.ks=ks_;});DZ=$pkg.field=$newType(0,$kindStruct,"json.field",true,"encoding/json",false,function(name_,nameBytes_,equalFold_,nameNonEsc_,nameEscHTML_,tag_,index_,typ_,omitEmpty_,quoted_,encoder_){this.$val=this;if(arguments.length===0){this.name="";this.nameBytes=FA.nil;this.equalFold=$throwNilPointerError;this.nameNonEsc="";this.nameEscHTML="";this.tag=false;this.index=EX.nil;this.typ=$ifaceNil;this.omitEmpty=false;this.quoted=false;this.encoder=$throwNilPointerError;return;}this.name=name_;this.nameBytes=nameBytes_;this.equalFold=equalFold_;this.nameNonEsc=nameNonEsc_;this.nameEscHTML=nameEscHTML_;this.tag=tag_;this.index=index_;this.typ=typ_;this.omitEmpty=omitEmpty_;this.quoted=quoted_;this.encoder=encoder_;});EA=$pkg.byIndex=$newType(12,$kindSlice,"json.byIndex",true,"encoding/json",false,null);EG=$pkg.Unmarshaler=$newType(8,$kindInterface,"json.Unmarshaler",true,"encoding/json",true,null);EH=$pkg.UnmarshalTypeError=$newType(0,$kindStruct,"json.UnmarshalTypeError",true,"encoding/json",true,function(Value_,Type_,Offset_,Struct_,Field_){this.$val=this;if(arguments.length===0){this.Value="";this.Type=$ifaceNil;this.Offset=new $Int64(0,0);this.Struct="";this.Field="";return;}this.Value=Value_;this.Type=Type_;this.Offset=Offset_;this.Struct=Struct_;this.Field=Field_;});EJ=$pkg.InvalidUnmarshalError=$newType(0,$kindStruct,"json.InvalidUnmarshalError",true,"encoding/json",true,function(Type_){this.$val=this;if(arguments.length===0){this.Type=$ifaceNil;return;}this.Type=Type_;});EK=$pkg.Number=$newType(8,$kindString,"json.Number",true,"encoding/json",true,null);EL=$pkg.errorContext=$newType(0,$kindStruct,"json.errorContext",true,"encoding/json",false,function(Struct_,FieldStack_){this.$val=this;if(arguments.length===0){this.Struct=$ifaceNil;this.FieldStack=FQ.nil;return;}this.Struct=Struct_;this.FieldStack=FieldStack_;});EM=$pkg.decodeState=$newType(0,$kindStruct,"json.decodeState",true,"encoding/json",false,function(data_,off_,opcode_,scan_,errorContext_,savedError_,useNumber_,disallowUnknownFields_){this.$val=this;if(arguments.length===0){this.data=FA.nil;this.off=0;this.opcode=0;this.scan=new AE.ptr($throwNilPointerError,false,EX.nil,$ifaceNil,new $Int64(0,0));this.errorContext=FC.nil;this.savedError=$ifaceNil;this.useNumber=false;this.disallowUnknownFields=false;return;}this.data=data_;this.off=off_;this.opcode=opcode_;this.scan=scan_;this.errorContext=errorContext_;this.savedError=savedError_;this.useNumber=useNumber_;this.disallowUnknownFields=disallowUnknownFields_;});EN=$pkg.unquotedValue=$newType(0,$kindStruct,"json.unquotedValue",true,"encoding/json",false,function(){this.$val=this;if(arguments.length===0){return;}});EV=$sliceType($emptyInterface);EW=$ptrType(Y);EX=$sliceType($Int);EY=$ptrType(CA);EZ=$ptrType(H.TextMarshaler);FA=$sliceType($Uint8);FB=$ptrType(H.TextUnmarshaler);FC=$ptrType(EL);FE=$ptrType($String);FF=$ptrType($emptyInterface);FG=$ptrType(AE);FH=$ptrType(CG);FI=$arrayType($Uint8,64);FJ=$sliceType(DZ);FK=$structType("",[]);FL=$sliceType(DY);FM=$structType("encoding/json",[{prop:"ptr",name:"ptr",embedded:false,exported:false,typ:$Uintptr,tag:""},{prop:"len",name:"len",embedded:false,exported:false,typ:$Int,tag:""}]);FN=$ptrType(EH);FO=$ptrType(L.rtype);FP=$mapType($String,$emptyInterface);FQ=$sliceType($String);FR=$ptrType(DZ);FS=$ptrType(T);FU=$ptrType(AD);FV=$funcType([FG,$Uint8],[$Int],false);FW=$ptrType(CB);FX=$ptrType(CC);FZ=$ptrType(CE);GA=$mapType($emptyInterface,FK);GB=$mapType($String,$Int);GC=$ptrType(DY);GD=$funcType([FA,FA],[$Bool],false);GF=$ptrType(EJ);GG=$ptrType(EM);Q=function(d){var d,e;e=A.Index(d,",");if(!((e===-1))){return[$substring(d,0,e),($substring(d,(e+1>>0)))];}return[d,""];};P.prototype.Contains=function(d){var d,e,f,g,h,i,j;e=this.$val;if(e.length===0){return false;}f=(e);while(true){if(!(!(f===""))){break;}g="";h=A.Index(f,",");if(h>=0){i=$substring(f,0,h);j=$substring(f,(h+1>>0));f=i;g=j;}if(f===d){return true;}f=g;}return false;};$ptrType(P).prototype.Contains=function(d){return new P(this.$get()).Contains(d);};U=function(d){var d;return new T.ptr(d,FA.nil,new EM.ptr(FA.nil,0,0,new AE.ptr($throwNilPointerError,false,EX.nil,$ifaceNil,new $Int64(0,0)),FC.nil,$ifaceNil,false,false),0,new $Int64(0,0),new AE.ptr($throwNilPointerError,false,EX.nil,$ifaceNil,new $Int64(0,0)),$ifaceNil,0,EX.nil);};$pkg.NewDecoder=U;T.ptr.prototype.UseNumber=function(){var d;d=this;d.d.useNumber=true;};T.prototype.UseNumber=function(){return this.$val.UseNumber();};T.ptr.prototype.DisallowUnknownFields=function(){var d;d=this;d.d.disallowUnknownFields=true;};T.prototype.DisallowUnknownFields=function(){return this.$val.DisallowUnknownFields();};T.ptr.prototype.Decode=function(d){var d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;if(!($interfaceIsEqual(e.err,$ifaceNil))){$s=-1;return e.err;}f=e.tokenPrepareForDecode();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(!($interfaceIsEqual(g,$ifaceNil))){$s=-1;return g;}if(!e.tokenValueAllowed()){$s=-1;return new AD.ptr("not at beginning of value",e.InputOffset());}i=e.readValue();$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=h[0];k=h[1];if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return k;}e.d.init($subslice(e.buf,e.scanp,(e.scanp+j>>0)));e.scanp=e.scanp+(j)>>0;l=e.d.unmarshal(d);$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;e.tokenValueEnd();$s=-1;return k;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.Decode};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.Decode=function(d){return this.$val.Decode(d);};T.ptr.prototype.Buffered=function(){var d;d=this;return C.NewReader($subslice(d.buf,d.scanp));};T.prototype.Buffered=function(){return this.$val.Buffered();};T.ptr.prototype.readValue=function(){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;d.scan.reset();e=d.scanp;f=$ifaceNil;case 1:if(!(e>=0)){$s=2;continue;}case 3:if(!(e<d.buf.$length)){$s=4;continue;}h=(g=d.buf,((e<0||e>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+e]));d.scan.bytes=(i=d.scan.bytes,j=new $Int64(0,1),new $Int64(i.$high+j.$high,i.$low+j.$low));k=d.scan.step(d.scan,h);$s=6;case 6:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(l===(10)){d.scan.bytes=(m=d.scan.bytes,n=new $Int64(0,1),new $Int64(m.$high-n.$high,m.$low-n.$low));$s=2;continue s;}else if((l===(5))||(l===(8))){if(AN(d.scan,32)===10){e=e+(1)>>0;$s=2;continue s;}}else if(l===(11)){d.err=d.scan.err;$s=-1;return[0,d.scan.err];}case 5:e=e+(1)>>0;$s=3;continue;case 4:if(!($interfaceIsEqual(f,$ifaceNil))){$s=7;continue;}$s=8;continue;case 7:if($interfaceIsEqual(f,E.EOF)){$s=9;continue;}$s=10;continue;case 9:o=d.scan.step(d.scan,32);$s=13;case 13:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}if(o===10){$s=11;continue;}$s=12;continue;case 11:$s=2;continue s;case 12:if(V(d.buf)){f=E.ErrUnexpectedEOF;}case 10:d.err=f;$s=-1;return[0,f];case 8:p=e-d.scanp>>0;q=d.refill();$s=14;case 14:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}f=q;e=d.scanp+p>>0;$s=1;continue;case 2:$s=-1;return[e-d.scanp>>0,$ifaceNil];}return;}if($f===undefined){$f={$blk:T.ptr.prototype.readValue};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.readValue=function(){return this.$val.readValue();};T.ptr.prototype.refill=function(){var d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(d.scanp>0){d.scanned=(e=d.scanned,f=(new $Int64(0,d.scanp)),new $Int64(e.$high+f.$high,e.$low+f.$low));g=$copySlice(d.buf,$subslice(d.buf,d.scanp));d.buf=$subslice(d.buf,0,g);d.scanp=0;}if((d.buf.$capacity-d.buf.$length>>0)<512){h=$makeSlice(FA,d.buf.$length,(($imul(2,d.buf.$capacity))+512>>0));$copySlice(h,d.buf);d.buf=h;}j=d.r.Read($subslice(d.buf,d.buf.$length,d.buf.$capacity));$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];d.buf=$subslice(d.buf,0,(d.buf.$length+k>>0));$s=-1;return l;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.refill};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.refill=function(){return this.$val.refill();};V=function(d){var d,e,f,g;e=d;f=0;while(true){if(!(f<e.$length)){break;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if(!AI(g)){return true;}f++;}return false;};Y.prototype.MarshalJSON=function(){var d;d=this;if(d===Y.nil){return[(new FA($stringToBytes("null"))),$ifaceNil];}return[$convertSliceType(d,FA),$ifaceNil];};$ptrType(Y).prototype.MarshalJSON=function(){return this.$get().MarshalJSON();};$ptrType(Y).prototype.UnmarshalJSON=function(d){var d,e;e=this;if(e===EW.nil){return D.New("json.RawMessage: UnmarshalJSON on nil pointer");}e.$set($appendSlice($subslice((e.$get()),0,0),d));return $ifaceNil;};T.ptr.prototype.tokenPrepareForDecode=function(){var d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.tokenState;if(e===(3)){$s=2;continue;}if(e===(6)){$s=3;continue;}$s=4;continue;case 2:g=d.peek();$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];if(!($interfaceIsEqual(i,$ifaceNil))){$s=-1;return i;}if(!((h===44))){$s=-1;return new AD.ptr("expected comma after array element",d.InputOffset());}d.scanp=d.scanp+(1)>>0;d.tokenState=2;$s=4;continue;case 3:k=d.peek();$s=6;case 6:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];if(!($interfaceIsEqual(m,$ifaceNil))){$s=-1;return m;}if(!((l===58))){$s=-1;return new AD.ptr("expected colon after object key",d.InputOffset());}d.scanp=d.scanp+(1)>>0;d.tokenState=7;case 4:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.tokenPrepareForDecode};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.tokenPrepareForDecode=function(){return this.$val.tokenPrepareForDecode();};T.ptr.prototype.tokenValueAllowed=function(){var d,e;d=this;e=d.tokenState;if((e===(0))||(e===(1))||(e===(2))||(e===(7))){return true;}return false;};T.prototype.tokenValueAllowed=function(){return this.$val.tokenValueAllowed();};T.ptr.prototype.tokenValueEnd=function(){var d,e;d=this;e=d.tokenState;if((e===(1))||(e===(2))){d.tokenState=3;}else if(e===(7)){d.tokenState=8;}};T.prototype.tokenValueEnd=function(){return this.$val.tokenValueEnd();};AA.prototype.String=function(){var d;d=this.$val;return($encodeRune(d));};$ptrType(AA).prototype.String=function(){return new AA(this.$get()).String();};T.ptr.prototype.Token=function(){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;case 1:e=[e];f=[f];h=d.peek();$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return[$ifaceNil,j];}k=i;if(k===(91)){$s=5;continue;}if(k===(93)){$s=6;continue;}if(k===(123)){$s=7;continue;}if(k===(125)){$s=8;continue;}if(k===(58)){$s=9;continue;}if(k===(44)){$s=10;continue;}if(k===(34)){$s=11;continue;}$s=12;continue;case 5:if(!d.tokenValueAllowed()){$s=-1;return d.tokenError(i);}d.scanp=d.scanp+(1)>>0;d.tokenStack=$append(d.tokenStack,d.tokenState);d.tokenState=1;$s=-1;return[new AA(91),$ifaceNil];case 6:if(!((d.tokenState===1))&&!((d.tokenState===3))){$s=-1;return d.tokenError(i);}d.scanp=d.scanp+(1)>>0;d.tokenState=(l=d.tokenStack,m=d.tokenStack.$length-1>>0,((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]));d.tokenStack=$subslice(d.tokenStack,0,(d.tokenStack.$length-1>>0));d.tokenValueEnd();$s=-1;return[new AA(93),$ifaceNil];case 7:if(!d.tokenValueAllowed()){$s=-1;return d.tokenError(i);}d.scanp=d.scanp+(1)>>0;d.tokenStack=$append(d.tokenStack,d.tokenState);d.tokenState=4;$s=-1;return[new AA(123),$ifaceNil];case 8:if(!((d.tokenState===4))&&!((d.tokenState===8))){$s=-1;return d.tokenError(i);}d.scanp=d.scanp+(1)>>0;d.tokenState=(n=d.tokenStack,o=d.tokenStack.$length-1>>0,((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]));d.tokenStack=$subslice(d.tokenStack,0,(d.tokenStack.$length-1>>0));d.tokenValueEnd();$s=-1;return[new AA(125),$ifaceNil];case 9:if(!((d.tokenState===6))){$s=-1;return d.tokenError(i);}d.scanp=d.scanp+(1)>>0;d.tokenState=7;$s=1;continue;$s=13;continue;case 10:if(d.tokenState===3){d.scanp=d.scanp+(1)>>0;d.tokenState=2;$s=1;continue;}if(d.tokenState===8){d.scanp=d.scanp+(1)>>0;d.tokenState=5;$s=1;continue;}$s=-1;return d.tokenError(i);case 11:if((d.tokenState===4)||(d.tokenState===5)){$s=14;continue;}$s=15;continue;case 14:e[0]="";p=d.tokenState;d.tokenState=0;q=d.Decode((e.$ptr||(e.$ptr=new FE(function(){return this.$target[0];},function($v){this.$target[0]=$v;},e))));$s=16;case 16:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;d.tokenState=p;if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return[$ifaceNil,r];}d.tokenState=6;$s=-1;return[new $String(e[0]),$ifaceNil];case 15:if(!d.tokenValueAllowed()){$s=-1;return d.tokenError(i);}f[0]=$ifaceNil;s=d.Decode((f.$ptr||(f.$ptr=new FF(function(){return this.$target[0];},function($v){this.$target[0]=$v;},f))));$s=17;case 17:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;if(!($interfaceIsEqual(t,$ifaceNil))){$s=-1;return[$ifaceNil,t];}$s=-1;return[f[0],$ifaceNil];case 12:if(!d.tokenValueAllowed()){$s=-1;return d.tokenError(i);}f[0]=$ifaceNil;u=d.Decode((f.$ptr||(f.$ptr=new FF(function(){return this.$target[0];},function($v){this.$target[0]=$v;},f))));$s=18;case 18:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;if(!($interfaceIsEqual(t,$ifaceNil))){$s=-1;return[$ifaceNil,t];}$s=-1;return[f[0],$ifaceNil];case 13:case 4:$s=1;continue;case 2:$s=-1;return[$ifaceNil,$ifaceNil];}return;}if($f===undefined){$f={$blk:T.ptr.prototype.Token};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.Token=function(){return this.$val.Token();};T.ptr.prototype.tokenError=function(d){var d,e,f,g;e=this;f="";g=e.tokenState;if(g===(0)){f=" looking for beginning of value";}else if((g===(1))||(g===(2))||(g===(7))){f=" looking for beginning of value";}else if(g===(3)){f=" after array element";}else if(g===(5)){f=" looking for beginning of object key string";}else if(g===(6)){f=" after object key";}else if(g===(8)){f=" after object key:value pair";}return[$ifaceNil,new AD.ptr("invalid character "+BO(d)+f,e.InputOffset())];};T.prototype.tokenError=function(d){return this.$val.tokenError(d);};T.ptr.prototype.More=function(){var d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=d.peek();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];$s=-1;return $interfaceIsEqual(h,$ifaceNil)&&!((g===93))&&!((g===125));}return;}if($f===undefined){$f={$blk:T.ptr.prototype.More};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.More=function(){return this.$val.More();};T.ptr.prototype.peek=function(){var d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$ifaceNil;case 1:f=d.scanp;while(true){if(!(f<d.buf.$length)){break;}h=(g=d.buf,((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]));if(AI(h)){f=f+(1)>>0;continue;}d.scanp=f;$s=-1;return[h,$ifaceNil];}if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[0,e];}i=d.refill();$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}e=i;$s=1;continue;case 2:$s=-1;return[0,$ifaceNil];}return;}if($f===undefined){$f={$blk:T.ptr.prototype.peek};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.peek=function(){return this.$val.peek();};T.ptr.prototype.InputOffset=function(){var d,e,f;d=this;return(e=d.scanned,f=(new $Int64(0,d.scanp)),new $Int64(e.$high+f.$high,e.$low+f.$low));};T.prototype.InputOffset=function(){return this.$val.InputOffset();};AC=function(d,e){var d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e.reset();f=d;g=0;case 1:if(!(g<f.$length)){$s=2;continue;}h=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);e.bytes=(i=e.bytes,j=new $Int64(0,1),new $Int64(i.$high+j.$high,i.$low+j.$low));k=e.step(e,h);$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(k===11){$s=3;continue;}$s=4;continue;case 3:$s=-1;return e.err;case 4:g++;$s=1;continue;case 2:l=e.eof();$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(l===11){$s=6;continue;}$s=7;continue;case 6:$s=-1;return e.err;case 7:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AC};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AD.ptr.prototype.Error=function(){var d;d=this;return d.msg;};AD.prototype.Error=function(){return this.$val.Error();};AG=function(){var d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=AF.Get();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$assertType(d,FG);e.bytes=new $Int64(0,0);e.reset();$s=-1;return e;}return;}if($f===undefined){$f={$blk:AG};}$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AH=function(d){var d;if(d.parseState.$length>1024){d.parseState=EX.nil;}AF.Put(d);};AE.ptr.prototype.reset=function(){var d;d=this;d.step=AK;d.parseState=$subslice(d.parseState,0,0);d.err=$ifaceNil;d.endTop=false;};AE.prototype.reset=function(){return this.$val.reset();};AE.ptr.prototype.eof=function(){var d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(!($interfaceIsEqual(d.err,$ifaceNil))){$s=-1;return 11;}if(d.endTop){$s=-1;return 10;}e=d.step(d,32);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;if(d.endTop){$s=-1;return 10;}if($interfaceIsEqual(d.err,$ifaceNil)){d.err=new AD.ptr("unexpected end of JSON input",d.bytes);}$s=-1;return 11;}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.eof};}$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.eof=function(){return this.$val.eof();};AE.ptr.prototype.pushParseState=function(d,e,f){var d,e,f,g;g=this;g.parseState=$append(g.parseState,e);if(g.parseState.$length<=10000){return f;}return g.error(d,"exceeded max depth");};AE.prototype.pushParseState=function(d,e,f){return this.$val.pushParseState(d,e,f);};AE.ptr.prototype.popParseState=function(){var d,e;d=this;e=d.parseState.$length-1>>0;d.parseState=$subslice(d.parseState,0,e);if(e===0){d.step=AO;d.endTop=true;}else{d.step=AN;}};AE.prototype.popParseState=function(){return this.$val.popParseState();};AI=function(d){var d;return d<=32&&((d===32)||(d===9)||(d===13)||(d===10));};AJ=function(d,e){var d,e;if(AI(e)){return 9;}if(e===93){return AN(d,e);}return AK(d,e);};AK=function(d,e){var d,e,f;if(AI(e)){return 9;}f=e;if(f===(123)){d.step=AL;return d.pushParseState(e,0,2);}else if(f===(91)){d.step=AJ;return d.pushParseState(e,2,6);}else if(f===(34)){d.step=AP;return 1;}else if(f===(45)){d.step=AV;return 1;}else if(f===(48)){d.step=AX;return 1;}else if(f===(116)){d.step=BD;return 1;}else if(f===(102)){d.step=BG;return 1;}else if(f===(110)){d.step=BK;return 1;}if(49<=e&&e<=57){d.step=AW;return 1;}return d.error(e,"looking for beginning of value");};AL=function(d,e){var d,e,f,g,h;if(AI(e)){return 9;}if(e===125){f=d.parseState.$length;(g=d.parseState,h=f-1>>0,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]=1));return AN(d,e);}return AM(d,e);};AM=function(d,e){var d,e;if(AI(e)){return 9;}if(e===34){d.step=AP;return 1;}return d.error(e,"looking for beginning of object key string");};AN=function(d,e){var d,e,f,g,h,i,j,k,l,m,n;f=d.parseState.$length;if(f===0){d.step=AO;d.endTop=true;return AO(d,e);}if(AI(e)){d.step=AN;return 9;}i=(g=d.parseState,h=f-1>>0,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]));j=i;if(j===(0)){if(e===58){(k=d.parseState,l=f-1>>0,((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]=1));d.step=AK;return 3;}return d.error(e,"after object key");}else if(j===(1)){if(e===44){(m=d.parseState,n=f-1>>0,((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]=0));d.step=AM;return 4;}if(e===125){d.popParseState();return 5;}return d.error(e,"after object key:value pair");}else if(j===(2)){if(e===44){d.step=AK;return 7;}if(e===93){d.popParseState();return 8;}return d.error(e,"after array element");}return d.error(e,"");};AO=function(d,e){var d,e;if(!AI(e)){d.error(e,"after top-level value");}return 10;};AP=function(d,e){var d,e;if(e===34){d.step=AN;return 0;}if(e===92){d.step=AQ;return 0;}if(e<32){return d.error(e,"in string literal");}return 0;};AQ=function(d,e){var d,e,f;f=e;if((f===(98))||(f===(102))||(f===(110))||(f===(114))||(f===(116))||(f===(92))||(f===(47))||(f===(34))){d.step=AP;return 0;}else if(f===(117)){d.step=AR;return 0;}return d.error(e,"in string escape code");};AR=function(d,e){var d,e;if(48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70){d.step=AS;return 0;}return d.error(e,"in \\u hexadecimal character escape");};AS=function(d,e){var d,e;if(48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70){d.step=AT;return 0;}return d.error(e,"in \\u hexadecimal character escape");};AT=function(d,e){var d,e;if(48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70){d.step=AU;return 0;}return d.error(e,"in \\u hexadecimal character escape");};AU=function(d,e){var d,e;if(48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70){d.step=AP;return 0;}return d.error(e,"in \\u hexadecimal character escape");};AV=function(d,e){var d,e;if(e===48){d.step=AX;return 0;}if(49<=e&&e<=57){d.step=AW;return 0;}return d.error(e,"in numeric literal");};AW=function(d,e){var d,e;if(48<=e&&e<=57){d.step=AW;return 0;}return AX(d,e);};AX=function(d,e){var d,e;if(e===46){d.step=AY;return 0;}if((e===101)||(e===69)){d.step=BA;return 0;}return AN(d,e);};AY=function(d,e){var d,e;if(48<=e&&e<=57){d.step=AZ;return 0;}return d.error(e,"after decimal point in numeric literal");};AZ=function(d,e){var d,e;if(48<=e&&e<=57){return 0;}if((e===101)||(e===69)){d.step=BA;return 0;}return AN(d,e);};BA=function(d,e){var d,e;if((e===43)||(e===45)){d.step=BB;return 0;}return BB(d,e);};BB=function(d,e){var d,e;if(48<=e&&e<=57){d.step=BC;return 0;}return d.error(e,"in exponent of numeric literal");};BC=function(d,e){var d,e;if(48<=e&&e<=57){return 0;}return AN(d,e);};BD=function(d,e){var d,e;if(e===114){d.step=BE;return 0;}return d.error(e,"in literal true (expecting 'r')");};BE=function(d,e){var d,e;if(e===117){d.step=BF;return 0;}return d.error(e,"in literal true (expecting 'u')");};BF=function(d,e){var d,e;if(e===101){d.step=AN;return 0;}return d.error(e,"in literal true (expecting 'e')");};BG=function(d,e){var d,e;if(e===97){d.step=BH;return 0;}return d.error(e,"in literal false (expecting 'a')");};BH=function(d,e){var d,e;if(e===108){d.step=BI;return 0;}return d.error(e,"in literal false (expecting 'l')");};BI=function(d,e){var d,e;if(e===115){d.step=BJ;return 0;}return d.error(e,"in literal false (expecting 's')");};BJ=function(d,e){var d,e;if(e===101){d.step=AN;return 0;}return d.error(e,"in literal false (expecting 'e')");};BK=function(d,e){var d,e;if(e===117){d.step=BL;return 0;}return d.error(e,"in literal null (expecting 'u')");};BL=function(d,e){var d,e;if(e===108){d.step=BM;return 0;}return d.error(e,"in literal null (expecting 'l')");};BM=function(d,e){var d,e;if(e===108){d.step=AN;return 0;}return d.error(e,"in literal null (expecting 'l')");};BN=function(d,e){var d,e;return 11;};AE.ptr.prototype.error=function(d,e){var d,e,f;f=this;f.step=BN;f.err=new AD.ptr("invalid character "+BO(d)+" "+e,f.bytes);return 11;};AE.prototype.error=function(d,e){return this.$val.error(d,e);};BO=function(d){var d,e;if(d===39){return"'\\''";}if(d===34){return"'\"'";}e=F.Quote(($encodeRune(d)));return"'"+$substring(e,1,(e.length-1>>0))+"'";};BQ=function(d,e,f){var aa,ab,ac,ad,ae,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);g=d.Len();h=AG();$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$deferred.push([AH,[i]]);j=0;k=e;l=0;case 2:if(!(l<k.$length)){$s=3;continue;}m=l;n=((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]);if(f&&((n===60)||(n===62)||(n===38))){$s=4;continue;}$s=5;continue;case 4:if(j<m){$s=6;continue;}$s=7;continue;case 6:o=d.Write($subslice(e,j,m));$s=8;case 8:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;case 7:p=d.WriteString("\\u00");$s=9;case 9:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;q=d.WriteByte(CF.charCodeAt((n>>>4<<24>>>24)));$s=10;case 10:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;r=d.WriteByte(CF.charCodeAt(((n&15)>>>0)));$s=11;case 11:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;j=m+1>>0;case 5:if(f&&(n===226)&&(m+2>>0)<e.$length&&((s=m+1>>0,((s<0||s>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+s]))===128)&&((((t=m+2>>0,((t<0||t>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+t]))&~1)<<24>>>24)===168)){$s=12;continue;}$s=13;continue;case 12:if(j<m){$s=14;continue;}$s=15;continue;case 14:u=d.Write($subslice(e,j,m));$s=16;case 16:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}u;case 15:v=d.WriteString("\\u202");$s=17;case 17:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}v;x=d.WriteByte(CF.charCodeAt((((w=m+2>>0,((w<0||w>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+w]))&15)>>>0)));$s=18;case 18:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;j=m+3>>0;case 13:y=i.step(i,n);$s=19;case 19:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;if(z>=9){$s=20;continue;}$s=21;continue;case 20:if(z===11){$s=3;continue;}if(j<m){$s=22;continue;}$s=23;continue;case 22:aa=d.Write($subslice(e,j,m));$s=24;case 24:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}aa;case 23:j=m+1>>0;case 21:l++;$s=2;continue;case 3:ab=i.eof();$s=27;case 27:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}if(ab===11){$s=25;continue;}$s=26;continue;case 25:d.Truncate(g);ac=i.err;$s=28;case 28:return ac;case 26:if(j<e.$length){$s=29;continue;}$s=30;continue;case 29:ad=d.Write($subslice(e,j));$s=31;case 31:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ad;case 30:ae=$ifaceNil;$s=32;case 32:return ae;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:BQ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};BR=function(d,e,f,g){var d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=d.WriteByte(10);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;i=d.WriteString(e);$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;j=0;case 3:if(!(j<g)){$s=4;continue;}k=d.WriteString(f);$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;j=j+(1)>>0;$s=3;continue;case 4:$s=-1;return;}return;}if($f===undefined){$f={$blk:BR};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BS=function(d,e,f,g){var aa,ab,ac,ad,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);h=d.Len();i=AG();$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$deferred.push([AH,[j]]);k=false;l=0;m=e;n=0;case 2:if(!(n<m.$length)){$s=3;continue;}o=((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);j.bytes=(p=j.bytes,q=new $Int64(0,1),new $Int64(p.$high+q.$high,p.$low+q.$low));r=j.step(j,o);$s=4;case 4:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;if(s===9){n++;$s=2;continue;}if(s===11){$s=3;continue;}if(k&&!((s===5))&&!((s===8))){$s=5;continue;}$s=6;continue;case 5:k=false;l=l+(1)>>0;$r=BR(d,f,g,l);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:if(s===0){$s=8;continue;}$s=9;continue;case 8:t=d.WriteByte(o);$s=10;case 10:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}t;n++;$s=2;continue;case 9:u=o;if((u===(123))||(u===(91))){$s=12;continue;}if(u===(44)){$s=13;continue;}if(u===(58)){$s=14;continue;}if((u===(125))||(u===(93))){$s=15;continue;}$s=16;continue;case 12:k=true;v=d.WriteByte(o);$s=18;case 18:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}v;$s=17;continue;case 13:w=d.WriteByte(o);$s=19;case 19:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}w;$r=BR(d,f,g,l);$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=17;continue;case 14:x=d.WriteByte(o);$s=21;case 21:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;y=d.WriteByte(32);$s=22;case 22:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}y;$s=17;continue;case 15:if(k){$s=23;continue;}$s=24;continue;case 23:k=false;$s=25;continue;case 24:l=l-(1)>>0;$r=BR(d,f,g,l);$s=26;case 26:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 25:z=d.WriteByte(o);$s=27;case 27:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}z;$s=17;continue;case 16:aa=d.WriteByte(o);$s=28;case 28:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}aa;case 17:case 11:n++;$s=2;continue;case 3:ab=j.eof();$s=31;case 31:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}if(ab===11){$s=29;continue;}$s=30;continue;case 29:d.Truncate(h);ac=j.err;$s=32;case 32:return ac;case 30:ad=$ifaceNil;$s=33;case 33:return ad;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:BS};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};$pkg.Indent=BS;BT=function(d){var d,e,f,g,h,i,j;e=false;f=false;g=d;h=0;while(true){if(!(h<g.$length)){break;}i=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);if(i>=128){return C.EqualFold;}j=(i&223)>>>0;if(j<65||j>90){e=true;}else if((j===75)||(j===83)){f=true;}h++;}if(f){return BU;}if(e){return BV;}return BW;};BU=function(d,e){var d,e,f,g,h,i,j,k,l,m,n;f=d;g=0;while(true){if(!(g<f.$length)){break;}h=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(e.$length===0){return false;}i=(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]);if(i<128){if(!((h===i))){j=(h&223)>>>0;if(65<=j&&j<=90){if(!((j===((i&223)>>>0)))){return false;}}else{return false;}}e=$subslice(e,1);g++;continue;}k=B.DecodeRune(e);l=k[0];m=k[1];n=h;if((n===(115))||(n===(83))){if(!((l===383))){return false;}}else if((n===(107))||(n===(75))){if(!((l===8490))){return false;}}else{return false;}e=$subslice(e,m);g++;}if(e.$length>0){return false;}return true;};BV=function(d,e){var d,e,f,g,h,i,j;if(!((d.$length===e.$length))){return false;}f=d;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);j=((h<0||h>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+h]);if(i===j){g++;continue;}if((97<=i&&i<=122)||(65<=i&&i<=90)){if(!((((i&223)>>>0)===((j&223)>>>0)))){return false;}}else{return false;}g++;}return true;};BW=function(d,e){var d,e,f,g,h,i;if(!((d.$length===e.$length))){return false;}f=d;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(!((((i&223)>>>0)===((((h<0||h>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+h])&223)>>>0)))){return false;}g++;}return true;};BX=function(d){var d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=CI();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=f.marshal(d,new CL.ptr(false,true));$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[FA.nil,h];}i=$appendSlice((FA.nil),f.Buffer.Bytes());CH.Put(f);$s=-1;return[i,$ifaceNil];}return;}if($f===undefined){$f={$blk:BX};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Marshal=BX;BY=function(d,e,f){var d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=[g];i=BX(d);$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=h[0];k=h[1];if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return[FA.nil,k];}g[0]=new C.Buffer.ptr(FA.nil,0,0);l=BS(g[0],j,e,f);$s=2;case 2:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return[FA.nil,k];}$s=-1;return[g[0].Bytes(),$ifaceNil];}return;}if($f===undefined){$f={$blk:BY};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$pkg.MarshalIndent=BY;BZ=function(d,e){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=0;g=e;h=0;case 1:if(!(h<g.$length)){$s=2;continue;}i=h;j=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);if((j===60)||(j===62)||(j===38)){$s=3;continue;}$s=4;continue;case 3:if(f<i){$s=5;continue;}$s=6;continue;case 5:k=d.Write($subslice(e,f,i));$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;case 6:l=d.WriteString("\\u00");$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;m=d.WriteByte(CF.charCodeAt((j>>>4<<24>>>24)));$s=9;case 9:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;n=d.WriteByte(CF.charCodeAt(((j&15)>>>0)));$s=10;case 10:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n;f=i+1>>0;case 4:if((j===226)&&(i+2>>0)<e.$length&&((o=i+1>>0,((o<0||o>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+o]))===128)&&((((p=i+2>>0,((p<0||p>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+p]))&~1)<<24>>>24)===168)){$s=11;continue;}$s=12;continue;case 11:if(f<i){$s=13;continue;}$s=14;continue;case 13:q=d.Write($subslice(e,f,i));$s=15;case 15:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;case 14:r=d.WriteString("\\u202");$s=16;case 16:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;t=d.WriteByte(CF.charCodeAt((((s=i+2>>0,((s<0||s>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+s]))&15)>>>0)));$s=17;case 17:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}t;f=i+3>>0;case 12:h++;$s=1;continue;case 2:if(f<e.$length){$s=18;continue;}$s=19;continue;case 18:u=d.Write($subslice(e,f));$s=20;case 20:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}u;case 19:$s=-1;return;}return;}if($f===undefined){$f={$blk:BZ};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};$pkg.HTMLEscape=BZ;CB.ptr.prototype.Error=function(){var d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.Type.String();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f="json: unsupported type: "+e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:CB.ptr.prototype.Error};}$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};CB.prototype.Error=function(){return this.$val.Error();};CC.ptr.prototype.Error=function(){var d;d=this;return"json: unsupported value: "+d.Str;};CC.prototype.Error=function(){return this.$val.Error();};CE.ptr.prototype.Error=function(){var d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.sourceFunc;if(e===""){e="MarshalJSON";}f=d.Type.String();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=d.Err.Error();$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h="json: error calling "+e+" for type "+f+": "+g;$s=3;case 3:return h;}return;}if($f===undefined){$f={$blk:CE.ptr.prototype.Error};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};CE.prototype.Error=function(){return this.$val.Error();};CE.ptr.prototype.Unwrap=function(){var d;d=this;return d.Err;};CE.prototype.Unwrap=function(){return this.$val.Unwrap();};CI=function(){var d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=CH.Get();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){f=$assertType(e,FH);f.Buffer.Reset();if($keys(f.ptrSeen).length>0){$panic(new $String("ptrEncoder.encode should have emptied ptrSeen via defers"));}f.ptrLevel=0;$s=-1;return f;}$s=-1;return new CG.ptr(new C.Buffer.ptr(FA.nil,0,0),FI.zero(),0,{});}return;}if($f===undefined){$f={$blk:CI};}$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};CG.ptr.prototype.marshal=function(d,e){var d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);f=[f];f[0]=$ifaceNil;g=this;$deferred.push([(function(f){return function(){var h,i,j,k;h=$recover();if(!($interfaceIsEqual(h,$ifaceNil))){i=$assertType(h,CJ,true);j=$clone(i[0],CJ);k=i[1];if(k){f[0]=j.error;}else{$panic(h);}}};})(f),[]]);h=L.ValueOf(d);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$r=g.reflectValue($clone(h,L.Value),$clone(e,CL));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f[0]=$ifaceNil;i=f[0];$s=3;case 3:return i;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return f[0];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:CG.ptr.prototype.marshal};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};CG.prototype.marshal=function(d,e){return this.$val.marshal(d,e);};CG.ptr.prototype.error=function(d){var d,e,f;e=this;$panic((f=new CJ.ptr(d),new f.constructor.elem(f)));};CG.prototype.error=function(d){return this.$val.error(d);};CK=function(d){var d,e,f,g;e=$clone(d,L.Value).Kind();if((e===(17))||(e===(21))||(e===(23))||(e===(24))){return $clone(d,L.Value).Len()===0;}else if(e===(1)){return!$clone(d,L.Value).Bool();}else if((e===(2))||(e===(3))||(e===(4))||(e===(5))||(e===(6))){return(f=$clone(d,L.Value).Int(),(f.$high===0&&f.$low===0));}else if((e===(7))||(e===(8))||(e===(9))||(e===(10))||(e===(11))||(e===(12))){return(g=$clone(d,L.Value).Uint(),(g.$high===0&&g.$low===0));}else if((e===(13))||(e===(14))){return $clone(d,L.Value).Float()===0;}else if((e===(20))||(e===(22))){return $clone(d,L.Value).IsNil();}return false;};CG.ptr.prototype.reflectValue=function(d,e){var d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;g=CO($clone(d,L.Value));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$r=g(f,$clone(d,L.Value),$clone(e,CL));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:CG.ptr.prototype.reflectValue};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};CG.prototype.reflectValue=function(d,e){return this.$val.reflectValue(d,e);};CO=function(d){var d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(d,L.Value).IsValid()){$s=-1;return CT;}e=CP($clone(d,L.Value).Type());$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:CO};}$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};CP=function(d){var d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=[e];f=[f];g=CN.Load(d);h=g[0];i=g[1];if(i){$s=-1;return $assertType(h,CM);}f[0]=new G.WaitGroup.ptr(0);e[0]=$throwNilPointerError;f[0].Add(1);j=CN.LoadOrStore(d,new CM(((function(e,f){return function $b(k,l,m){var k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f[0].Wait();$r=e[0](k,$clone(l,L.Value),$clone(m,CL));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};})(e,f))));k=j[0];l=j[1];if(l){$s=-1;return $assertType(k,CM);}m=CS(d,true);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}e[0]=m;f[0].Done();CN.Store(d,new CM(e[0]));$s=-1;return e[0];}return;}if($f===undefined){$f={$blk:CP};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};CS=function(d,e){var aa,ab,ac,ad,ae,af,ag,ah,ai,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=d.Kind();$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}if(!(!((g===22))&&e)){f=false;$s=3;continue s;}h=L.PtrTo(d).Implements(CQ);$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}f=h;case 3:if(f){$s=1;continue;}$s=2;continue;case 1:i=CV;j=CS(d,false);$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;l=DV(i,k);$s=7;case 7:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=8;case 8:return m;case 2:n=d.Implements(CQ);$s=11;case 11:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(n){$s=9;continue;}$s=10;continue;case 9:$s=-1;return CU;case 10:p=d.Kind();$s=15;case 15:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}if(!(!((p===22))&&e)){o=false;$s=14;continue s;}q=L.PtrTo(d).Implements(CR);$s=16;case 16:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}o=q;case 14:if(o){$s=12;continue;}$s=13;continue;case 12:r=CX;s=CS(d,false);$s=17;case 17:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;u=DV(r,t);$s=18;case 18:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;$s=19;case 19:return v;case 13:w=d.Implements(CR);$s=22;case 22:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}if(w){$s=20;continue;}$s=21;continue;case 20:$s=-1;return CW;case 21:x=d.Kind();$s=24;case 24:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;if(y===(1)){$s=25;continue;}if((y===(2))||(y===(3))||(y===(4))||(y===(5))||(y===(6))){$s=26;continue;}if((y===(7))||(y===(8))||(y===(9))||(y===(10))||(y===(11))||(y===(12))){$s=27;continue;}if(y===(13)){$s=28;continue;}if(y===(14)){$s=29;continue;}if(y===(24)){$s=30;continue;}if(y===(20)){$s=31;continue;}if(y===(25)){$s=32;continue;}if(y===(21)){$s=33;continue;}if(y===(23)){$s=34;continue;}if(y===(17)){$s=35;continue;}if(y===(22)){$s=36;continue;}$s=37;continue;case 25:$s=-1;return CY;case 26:$s=-1;return CZ;case 27:$s=-1;return DA;case 28:$s=-1;return DC;case 29:$s=-1;return DD;case 30:$s=-1;return DE;case 31:$s=-1;return DG;case 32:z=DK(d);$s=39;case 39:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;$s=40;case 40:return aa;case 33:ab=DM(d);$s=41;case 41:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;$s=42;case 42:return ac;case 34:ad=DP(d);$s=43;case 43:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=44;case 44:return ae;case 35:af=DR(d);$s=45;case 45:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;$s=46;case 46:return ag;case 36:ah=DT(d);$s=47;case 47:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=48;case 48:return ai;case 37:$s=-1;return DH;case 38:case 23:$s=-1;return $throwNilPointerError;}return;}if($f===undefined){$f={$blk:CS};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CT=function(d,e,f){var d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=d.Buffer.WriteString("null");$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;$s=-1;return;}return;}if($f===undefined){$f={$blk:CT};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};CU=function(d,e,f){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(($clone(e,L.Value).Kind()===22)&&$clone(e,L.Value).IsNil()){$s=1;continue;}$s=2;continue;case 1:g=d.Buffer.WriteString("null");$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;$s=-1;return;case 2:i=$clone(e,L.Value).Interface();$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=$assertType(i,CA,true);j=h[0];k=h[1];if(!k){$s=5;continue;}$s=6;continue;case 5:l=d.Buffer.WriteString("null");$s=7;case 7:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;$s=-1;return;case 6:n=j.MarshalJSON();$s=8;case 8:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];if($interfaceIsEqual(p,$ifaceNil)){$s=9;continue;}$s=10;continue;case 9:q=BQ(d.Buffer,o,f.escapeHTML);$s=11;case 11:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;case 10:if(!($interfaceIsEqual(p,$ifaceNil))){d.error(new CE.ptr($clone(e,L.Value).Type(),p,"MarshalJSON"));}$s=-1;return;}return;}if($f===undefined){$f={$blk:CU};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};CV=function(d,e,f){var d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=$clone(e,L.Value).Addr();if($clone(g,L.Value).IsNil()){$s=1;continue;}$s=2;continue;case 1:h=d.Buffer.WriteString("null");$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;$s=-1;return;case 2:i=$clone(g,L.Value).Interface();$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=$assertType(i,CA);l=j.MarshalJSON();$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=k[1];if($interfaceIsEqual(n,$ifaceNil)){$s=6;continue;}$s=7;continue;case 6:o=BQ(d.Buffer,m,f.escapeHTML);$s=8;case 8:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;case 7:if(!($interfaceIsEqual(n,$ifaceNil))){d.error(new CE.ptr($clone(e,L.Value).Type(),n,"MarshalJSON"));}$s=-1;return;}return;}if($f===undefined){$f={$blk:CV};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};CW=function(d,e,f){var d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(($clone(e,L.Value).Kind()===22)&&$clone(e,L.Value).IsNil()){$s=1;continue;}$s=2;continue;case 1:g=d.Buffer.WriteString("null");$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;$s=-1;return;case 2:i=$clone(e,L.Value).Interface();$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=$assertType(i,H.TextMarshaler,true);j=h[0];k=h[1];if(!k){$s=5;continue;}$s=6;continue;case 5:l=d.Buffer.WriteString("null");$s=7;case 7:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;$s=-1;return;case 6:n=j.MarshalText();$s=8;case 8:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];if(!($interfaceIsEqual(p,$ifaceNil))){d.error(new CE.ptr($clone(e,L.Value).Type(),p,"MarshalText"));}$r=d.stringBytes(o,f.escapeHTML);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:CW};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};CX=function(d,e,f){var d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=$clone(e,L.Value).Addr();if($clone(g,L.Value).IsNil()){$s=1;continue;}$s=2;continue;case 1:h=d.Buffer.WriteString("null");$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;$s=-1;return;case 2:i=$clone(g,L.Value).Interface();$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=$assertType(i,H.TextMarshaler);l=j.MarshalText();$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=k[1];if(!($interfaceIsEqual(n,$ifaceNil))){d.error(new CE.ptr($clone(e,L.Value).Type(),n,"MarshalText"));}$r=d.stringBytes(m,f.escapeHTML);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:CX};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};CY=function(d,e,f){var d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(f.quoted){$s=1;continue;}$s=2;continue;case 1:g=d.Buffer.WriteByte(34);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;case 2:if($clone(e,L.Value).Bool()){$s=4;continue;}$s=5;continue;case 4:h=d.Buffer.WriteString("true");$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;$s=6;continue;case 5:i=d.Buffer.WriteString("false");$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;case 6:if(f.quoted){$s=9;continue;}$s=10;continue;case 9:j=d.Buffer.WriteByte(34);$s=11;case 11:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;case 10:$s=-1;return;}return;}if($f===undefined){$f={$blk:CY};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};CZ=function(d,e,f){var d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=F.AppendInt($subslice(new FA(d.scratch),0,0),$clone(e,L.Value).Int(),10);if(f.quoted){$s=1;continue;}$s=2;continue;case 1:h=d.Buffer.WriteByte(34);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;case 2:i=d.Buffer.Write(g);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;if(f.quoted){$s=5;continue;}$s=6;continue;case 5:j=d.Buffer.WriteByte(34);$s=7;case 7:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:CZ};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};DA=function(d,e,f){var d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=F.AppendUint($subslice(new FA(d.scratch),0,0),$clone(e,L.Value).Uint(),10);if(f.quoted){$s=1;continue;}$s=2;continue;case 1:h=d.Buffer.WriteByte(34);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;case 2:i=d.Buffer.Write(g);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;if(f.quoted){$s=5;continue;}$s=6;continue;case 5:j=d.Buffer.WriteByte(34);$s=7;case 7:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:DA};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};DB.prototype.encode=function(d,e,f){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this.$val;h=$clone(e,L.Value).Float();if(K.IsInf(h,0)||K.IsNaN(h)){d.error(new CC.ptr($clone(e,L.Value),F.FormatFloat(h,103,-1,((g>>0)))));}i=$subslice(new FA(d.scratch),0,0);j=K.Abs(h);k=102;if(!((j===0))){if((g===64)&&(j<1e-06||j>=1e+21)||(g===32)&&(($fround(j))<9.999999974752427e-07||($fround(j))>=1.0000000200408773e+21)){k=101;}}i=F.AppendFloat(i,h,k,-1,((g>>0)));if(k===101){l=i.$length;if(l>=4&&((m=l-4>>0,((m<0||m>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+m]))===101)&&((n=l-3>>0,((n<0||n>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+n]))===45)&&((o=l-2>>0,((o<0||o>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+o]))===48)){(q=l-2>>0,((q<0||q>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+q]=(p=l-1>>0,((p<0||p>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+p]))));i=$subslice(i,0,(l-1>>0));}}if(f.quoted){$s=1;continue;}$s=2;continue;case 1:r=d.Buffer.WriteByte(34);$s=3;case 3:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;case 2:s=d.Buffer.Write(i);$s=4;case 4:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}s;if(f.quoted){$s=5;continue;}$s=6;continue;case 5:t=d.Buffer.WriteByte(34);$s=7;case 7:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}t;case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:DB.prototype.encode};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(DB).prototype.encode=function(d,e,f){return new DB(this.$get()).encode(d,e,f);};DE=function(d,e,f){var d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($interfaceIsEqual($clone(e,L.Value).Type(),ER)){$s=1;continue;}$s=2;continue;case 1:g=$clone(e,L.Value).String();$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(h===""){h="0";}if(!DF(h)){$s=4;continue;}$s=5;continue;case 4:i=J.Errorf("json: invalid number literal %q",new EV([new $String(h)]));$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$r=d.error(i);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:if(f.quoted){$s=8;continue;}$s=9;continue;case 8:j=d.Buffer.WriteByte(34);$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;case 9:k=d.Buffer.WriteString(h);$s=11;case 11:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;if(f.quoted){$s=12;continue;}$s=13;continue;case 12:l=d.Buffer.WriteByte(34);$s=14;case 14:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;case 13:$s=-1;return;case 2:if(f.quoted){$s=15;continue;}$s=16;continue;case 15:m=CI();$s=18;case 18:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;o=$clone(e,L.Value).String();$s=19;case 19:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}$r=n.string(o,f.escapeHTML);$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.stringBytes(n.Buffer.Bytes(),false);$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}CH.Put(n);$s=17;continue;case 16:p=$clone(e,L.Value).String();$s=22;case 22:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$r=d.string(p,f.escapeHTML);$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 17:$s=-1;return;}return;}if($f===undefined){$f={$blk:DE};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};DF=function(d){var d;if(d===""){return false;}if(d.charCodeAt(0)===45){d=$substring(d,1);if(d===""){return false;}}if((d.charCodeAt(0)===48)){d=$substring(d,1);}else if(49<=d.charCodeAt(0)&&d.charCodeAt(0)<=57){d=$substring(d,1);while(true){if(!(d.length>0&&48<=d.charCodeAt(0)&&d.charCodeAt(0)<=57)){break;}d=$substring(d,1);}}else{return false;}if(d.length>=2&&(d.charCodeAt(0)===46)&&48<=d.charCodeAt(1)&&d.charCodeAt(1)<=57){d=$substring(d,2);while(true){if(!(d.length>0&&48<=d.charCodeAt(0)&&d.charCodeAt(0)<=57)){break;}d=$substring(d,1);}}if(d.length>=2&&((d.charCodeAt(0)===101)||(d.charCodeAt(0)===69))){d=$substring(d,1);if((d.charCodeAt(0)===43)||(d.charCodeAt(0)===45)){d=$substring(d,1);if(d===""){return false;}}while(true){if(!(d.length>0&&48<=d.charCodeAt(0)&&d.charCodeAt(0)<=57)){break;}d=$substring(d,1);}}return d==="";};DG=function(d,e,f){var d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($clone(e,L.Value).IsNil()){$s=1;continue;}$s=2;continue;case 1:g=d.Buffer.WriteString("null");$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;$s=-1;return;case 2:h=$clone(e,L.Value).Elem();$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$r=d.reflectValue($clone(h,L.Value),$clone(f,CL));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:DG};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};DH=function(d,e,f){var d,e,f;d.error(new CB.ptr($clone(e,L.Value).Type()));};DI.ptr.prototype.encode=function(d,e,f){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this;h=123;i=g.fields.list;j=0;case 1:if(!(j<i.$length)){$s=2;continue;}k=j;m=(l=g.fields.list,((k<0||k>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+k]));n=e;o=m.index;p=0;case 3:if(!(p<o.$length)){$s=4;continue;}q=((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]);if($clone(n,L.Value).Kind()===22){$s=5;continue;}$s=6;continue;case 5:if($clone(n,L.Value).IsNil()){j++;$s=1;continue s;}r=$clone(n,L.Value).Elem();$s=7;case 7:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}n=r;case 6:s=$clone(n,L.Value).Field(q);$s=8;case 8:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}n=s;p++;$s=3;continue;case 4:if(m.omitEmpty&&CK($clone(n,L.Value))){j++;$s=1;continue;}t=d.Buffer.WriteByte(h);$s=9;case 9:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}t;h=44;if(f.escapeHTML){$s=10;continue;}$s=11;continue;case 10:u=d.Buffer.WriteString(m.nameEscHTML);$s=13;case 13:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}u;$s=12;continue;case 11:v=d.Buffer.WriteString(m.nameNonEsc);$s=14;case 14:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}v;case 12:f.quoted=m.quoted;$r=m.encoder(d,$clone(n,L.Value),$clone(f,CL));$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}j++;$s=1;continue;case 2:if(h===123){$s=16;continue;}$s=17;continue;case 16:w=d.Buffer.WriteString("{}");$s=19;case 19:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}w;$s=18;continue;case 17:x=d.Buffer.WriteByte(125);$s=20;case 20:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;case 18:$s=-1;return;}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.encode};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.encode=function(d,e,f){return this.$val.encode(d,e,f);};DK=function(d){var d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=EE(d);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=new DI.ptr($clone(e,DJ));$s=-1;return $methodVal($clone(f,DI),"encode");}return;}if($f===undefined){$f={$blk:DK};}$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};DL.ptr.prototype.encode=function(d,e,f){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);g=[g];h=this;if($clone(e,L.Value).IsNil()){$s=1;continue;}$s=2;continue;case 1:i=d.Buffer.WriteString("null");$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;$s=4;case 4:return;case 2:d.ptrLevel=d.ptrLevel+(1)>>>0;if(d.ptrLevel>1000){$s=5;continue;}$s=6;continue;case 5:j=$clone(e,L.Value).Pointer();k=(l=d.ptrSeen[$emptyInterface.keyFor(new $Uintptr(j))],l!==undefined?[l.v,true]:[new FK.ptr(),false]);m=k[1];if(m){$s=7;continue;}$s=8;continue;case 7:n=J.Sprintf("encountered a cycle via %s",new EV([$clone(e,L.Value).Type()]));$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$r=d.error(new CC.ptr($clone(e,L.Value),n));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:o=new $Uintptr(j);(d.ptrSeen||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(o)]={k:o,v:new FK.ptr()};$deferred.push([function(p,q){delete p[$emptyInterface.keyFor(q)];},[d.ptrSeen,new $Uintptr(j)]]);case 6:r=d.Buffer.WriteByte(123);$s=11;case 11:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;g[0]=$makeSlice(FL,$clone(e,L.Value).Len());s=$clone(e,L.Value).MapRange();t=0;case 12:u=s.Next();$s=14;case 14:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}if(!(u)){$s=13;continue;}v=s.Key();$s=15;case 15:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}((t<0||t>=g[0].$length)?($throwRuntimeError("index out of range"),undefined):g[0].$array[g[0].$offset+t]).k=v;w=s.Value();$s=16;case 16:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}((t<0||t>=g[0].$length)?($throwRuntimeError("index out of range"),undefined):g[0].$array[g[0].$offset+t]).v=w;x=((t<0||t>=g[0].$length)?($throwRuntimeError("index out of range"),undefined):g[0].$array[g[0].$offset+t]).resolve();$s=17;case 17:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;if(!($interfaceIsEqual(y,$ifaceNil))){$s=18;continue;}$s=19;continue;case 18:z=$clone(e,L.Value).Type().String();$s=20;case 20:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=new $String(z);ab=y.Error();$s=21;case 21:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=new $String(ab);ad=J.Errorf("json: encoding error for type %q: %q",new EV([aa,ac]));$s=22;case 22:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}$r=d.error(ad);$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 19:t=t+(1)>>0;$s=12;continue;case 13:$r=M.Slice(g[0],(function(g){return function(ae,af){var ae,af;return((ae<0||ae>=g[0].$length)?($throwRuntimeError("index out of range"),undefined):g[0].$array[g[0].$offset+ae]).ks<((af<0||af>=g[0].$length)?($throwRuntimeError("index out of range"),undefined):g[0].$array[g[0].$offset+af]).ks;};})(g));$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ae=g[0];af=0;case 25:if(!(af<ae.$length)){$s=26;continue;}ag=af;ah=$clone(((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]),DY);if(ag>0){$s=27;continue;}$s=28;continue;case 27:ai=d.Buffer.WriteByte(44);$s=29;case 29:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ai;case 28:$r=d.string(ah.ks,f.escapeHTML);$s=30;case 30:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aj=d.Buffer.WriteByte(58);$s=31;case 31:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}aj;$r=h.elemEnc(d,$clone(ah.v,L.Value),$clone(f,CL));$s=32;case 32:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}af++;$s=25;continue;case 26:ak=d.Buffer.WriteByte(125);$s=33;case 33:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}ak;d.ptrLevel=d.ptrLevel-(1)>>>0;$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:DL.ptr.prototype.encode};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};DL.prototype.encode=function(d,e,f){return this.$val.encode(d,e,f);};DM=function(d){var d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=d.Key();$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e.Kind();$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if((g===(24))||(g===(2))||(g===(3))||(g===(4))||(g===(5))||(g===(6))||(g===(7))||(g===(8))||(g===(9))||(g===(10))||(g===(11))||(g===(12))){$s=4;continue;}h=d.Key();$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h.Implements(CR);$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(!i){$s=5;continue;}$s=6;continue;case 4:$s=6;continue;case 5:$s=-1;return DH;case 6:case 1:j=d.Elem();$s=9;case 9:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=CP(j);$s=10;case 10:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=new DL.ptr(k);$s=-1;return $methodVal($clone(l,DL),"encode");}return;}if($f===undefined){$f={$blk:DM};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};DN=function(d,e,f){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($clone(e,L.Value).IsNil()){$s=1;continue;}$s=2;continue;case 1:g=d.Buffer.WriteString("null");$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;$s=-1;return;case 2:h=$clone(e,L.Value).Bytes();$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;j=d.Buffer.WriteByte(34);$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;k=I.StdEncoding.EncodedLen(i.$length);if(k<=64){$s=6;continue;}if(k<=1024){$s=7;continue;}$s=8;continue;case 6:l=$subslice(new FA(d.scratch),0,k);I.StdEncoding.Encode(l,i);m=d.Buffer.Write(l);$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;$s=9;continue;case 7:n=$makeSlice(FA,k);I.StdEncoding.Encode(n,i);o=d.Buffer.Write(n);$s=11;case 11:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;$s=9;continue;case 8:p=I.NewEncoder(I.StdEncoding,d);q=p.Write(i);$s=12;case 12:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;r=p.Close();$s=13;case 13:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;case 9:s=d.Buffer.WriteByte(34);$s=14;case 14:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}s;$s=-1;return;}return;}if($f===undefined){$f={$blk:DN};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};DO.ptr.prototype.encode=function(d,e,f){var d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);g=this;if($clone(e,L.Value).IsNil()){$s=1;continue;}$s=2;continue;case 1:h=d.Buffer.WriteString("null");$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;$s=4;case 4:return;case 2:d.ptrLevel=d.ptrLevel+(1)>>>0;if(d.ptrLevel>1000){$s=5;continue;}$s=6;continue;case 5:i=new FM.ptr($clone(e,L.Value).Pointer(),$clone(e,L.Value).Len());j=(k=d.ptrSeen[$emptyInterface.keyFor(new i.constructor.elem(i))],k!==undefined?[k.v,true]:[new FK.ptr(),false]);l=j[1];if(l){$s=7;continue;}$s=8;continue;case 7:m=J.Sprintf("encountered a cycle via %s",new EV([$clone(e,L.Value).Type()]));$s=9;case 9:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$r=d.error(new CC.ptr($clone(e,L.Value),m));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:n=new i.constructor.elem(i);(d.ptrSeen||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(n)]={k:n,v:new FK.ptr()};$deferred.push([function(o,p){delete o[$emptyInterface.keyFor(p)];},[d.ptrSeen,new i.constructor.elem(i)]]);case 6:$r=g.arrayEnc(d,$clone(e,L.Value),$clone(f,CL));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.ptrLevel=d.ptrLevel-(1)>>>0;$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:DO.ptr.prototype.encode};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};DO.prototype.encode=function(d,e,f){return this.$val.encode(d,e,f);};DP=function(d){var d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=d.Elem();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e.Kind();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(f===8){$s=1;continue;}$s=2;continue;case 1:g=d.Elem();$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=L.PtrTo(g);$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;k=i.Implements(CQ);$s=10;case 10:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(!(!k)){j=false;$s=9;continue s;}l=i.Implements(CR);$s=11;case 11:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}j=!l;case 9:if(j){$s=7;continue;}$s=8;continue;case 7:$s=-1;return DN;case 8:case 2:m=DR(d);$s=12;case 12:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=new DO.ptr(m);$s=-1;return $methodVal($clone(n,DO),"encode");}return;}if($f===undefined){$f={$blk:DP};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};DQ.ptr.prototype.encode=function(d,e,f){var d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this;h=d.Buffer.WriteByte(91);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;i=$clone(e,L.Value).Len();j=0;case 2:if(!(j<i)){$s=3;continue;}if(j>0){$s=4;continue;}$s=5;continue;case 4:k=d.Buffer.WriteByte(44);$s=6;case 6:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;case 5:l=d;m=$clone(e,L.Value).Index(j);$s=7;case 7:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=$clone(m,L.Value);o=$clone(f,CL);$r=g.elemEnc(l,n,o);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}j=j+(1)>>0;$s=2;continue;case 3:p=d.Buffer.WriteByte(93);$s=9;case 9:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;$s=-1;return;}return;}if($f===undefined){$f={$blk:DQ.ptr.prototype.encode};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};DQ.prototype.encode=function(d,e,f){return this.$val.encode(d,e,f);};DR=function(d){var d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=d.Elem();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=CP(e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=new DQ.ptr(f);$s=-1;return $methodVal($clone(g,DQ),"encode");}return;}if($f===undefined){$f={$blk:DR};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};DS.ptr.prototype.encode=function(d,e,f){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);g=this;if($clone(e,L.Value).IsNil()){$s=1;continue;}$s=2;continue;case 1:h=d.Buffer.WriteString("null");$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;$s=4;case 4:return;case 2:d.ptrLevel=d.ptrLevel+(1)>>>0;if(d.ptrLevel>1000){$s=5;continue;}$s=6;continue;case 5:i=$clone(e,L.Value).Interface();$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;k=(l=d.ptrSeen[$emptyInterface.keyFor(j)],l!==undefined?[l.v,true]:[new FK.ptr(),false]);m=k[1];if(m){$s=8;continue;}$s=9;continue;case 8:n=J.Sprintf("encountered a cycle via %s",new EV([$clone(e,L.Value).Type()]));$s=10;case 10:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$r=d.error(new CC.ptr($clone(e,L.Value),n));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 9:o=j;(d.ptrSeen||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(o)]={k:o,v:new FK.ptr()};$deferred.push([function(p,q){delete p[$emptyInterface.keyFor(q)];},[d.ptrSeen,j]]);case 6:r=d;s=$clone(e,L.Value).Elem();$s=12;case 12:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=$clone(s,L.Value);u=$clone(f,CL);$r=g.elemEnc(r,t,u);$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.ptrLevel=d.ptrLevel-(1)>>>0;$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:DS.ptr.prototype.encode};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};DS.prototype.encode=function(d,e,f){return this.$val.encode(d,e,f);};DT=function(d){var d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=d.Elem();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=CP(e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=new DS.ptr(f);$s=-1;return $methodVal($clone(g,DS),"encode");}return;}if($f===undefined){$f={$blk:DT};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};DU.ptr.prototype.encode=function(d,e,f){var d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this;if($clone(e,L.Value).CanAddr()){$s=1;continue;}$s=2;continue;case 1:$r=g.canAddrEnc(d,$clone(e,L.Value),$clone(f,CL));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=3;continue;case 2:$r=g.elseEnc(d,$clone(e,L.Value),$clone(f,CL));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:$s=-1;return;}return;}if($f===undefined){$f={$blk:DU.ptr.prototype.encode};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};DU.prototype.encode=function(d,e,f){return this.$val.encode(d,e,f);};DV=function(d,e){var d,e,f;f=new DU.ptr(d,e);return $methodVal($clone(f,DU),"encode");};DW=function(d){var d,e,f,g,h;if(d===""){return false;}e=d;f=0;while(true){if(!(f<e.length)){break;}g=$decodeRune(e,f);h=g[0];if(A.ContainsRune("!#$%&()*+-./:;<=>?@[]^_{|}~ ",h)){}else if(!N.IsLetter(h)&&!N.IsDigit(h)){return false;}f+=g[1];}return true;};DX=function(d,e){var d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=e;g=0;case 1:if(!(g<f.$length)){$s=2;continue;}h=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);i=d.Kind();$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(i===22){$s=3;continue;}$s=4;continue;case 3:j=d.Elem();$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}d=j;case 4:k=d.Field(h);$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}d=k.Type;g++;$s=1;continue;case 2:$s=-1;return d;}return;}if($f===undefined){$f={$blk:DX};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};DY.ptr.prototype.resolve=function(){var d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($clone(d.k,L.Value).Kind()===24){$s=1;continue;}$s=2;continue;case 1:e=$clone(d.k,L.Value).String();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d.ks=e;$s=-1;return $ifaceNil;case 2:g=$clone(d.k,L.Value).Interface();$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=$assertType(g,H.TextMarshaler,true);h=f[0];i=f[1];if(i){$s=5;continue;}$s=6;continue;case 5:if(($clone(d.k,L.Value).Kind()===22)&&$clone(d.k,L.Value).IsNil()){$s=-1;return $ifaceNil;}k=h.MarshalText();$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];d.ks=($bytesToString(l));$s=-1;return m;case 6:n=$clone(d.k,L.Value).Kind();if((n===(2))||(n===(3))||(n===(4))||(n===(5))||(n===(6))){d.ks=F.FormatInt($clone(d.k,L.Value).Int(),10);$s=-1;return $ifaceNil;}else if((n===(7))||(n===(8))||(n===(9))||(n===(10))||(n===(11))||(n===(12))){d.ks=F.FormatUint($clone(d.k,L.Value).Uint(),10);$s=-1;return $ifaceNil;}$panic(new $String("unexpected map key type"));$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:DY.ptr.prototype.resolve};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};DY.prototype.resolve=function(){return this.$val.resolve();};CG.ptr.prototype.string=function(d,e){var aa,ab,ac,ad,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;g=f.Buffer.WriteByte(34);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;h=0;i=0;case 2:if(!(i<d.length)){$s=3;continue;}j=d.charCodeAt(i);if(j<128){$s=4;continue;}$s=5;continue;case 4:if(((j<0||j>=S.length)?($throwRuntimeError("index out of range"),undefined):S[j])||(!e&&((j<0||j>=R.length)?($throwRuntimeError("index out of range"),undefined):R[j]))){i=i+(1)>>0;$s=2;continue;}if(h<i){$s=6;continue;}$s=7;continue;case 6:k=f.Buffer.WriteString($substring(d,h,i));$s=8;case 8:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;case 7:l=f.Buffer.WriteByte(92);$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;m=j;if((m===(92))||(m===(34))){$s=11;continue;}if(m===(10)){$s=12;continue;}if(m===(13)){$s=13;continue;}if(m===(9)){$s=14;continue;}$s=15;continue;case 11:n=f.Buffer.WriteByte(j);$s=17;case 17:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n;$s=16;continue;case 12:o=f.Buffer.WriteByte(110);$s=18;case 18:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;$s=16;continue;case 13:p=f.Buffer.WriteByte(114);$s=19;case 19:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;$s=16;continue;case 14:q=f.Buffer.WriteByte(116);$s=20;case 20:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;$s=16;continue;case 15:r=f.Buffer.WriteString("u00");$s=21;case 21:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;s=f.Buffer.WriteByte(CF.charCodeAt((j>>>4<<24>>>24)));$s=22;case 22:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}s;t=f.Buffer.WriteByte(CF.charCodeAt(((j&15)>>>0)));$s=23;case 23:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}t;case 16:case 10:i=i+(1)>>0;h=i;$s=2;continue;case 5:u=B.DecodeRuneInString($substring(d,i));v=u[0];w=u[1];if((v===65533)&&(w===1)){$s=24;continue;}$s=25;continue;case 24:if(h<i){$s=26;continue;}$s=27;continue;case 26:x=f.Buffer.WriteString($substring(d,h,i));$s=28;case 28:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;case 27:y=f.Buffer.WriteString("\\ufffd");$s=29;case 29:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}y;i=i+(w)>>0;h=i;$s=2;continue;case 25:if((v===8232)||(v===8233)){$s=30;continue;}$s=31;continue;case 30:if(h<i){$s=32;continue;}$s=33;continue;case 32:z=f.Buffer.WriteString($substring(d,h,i));$s=34;case 34:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}z;case 33:aa=f.Buffer.WriteString("\\u202");$s=35;case 35:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}aa;ab=f.Buffer.WriteByte(CF.charCodeAt((v&15)));$s=36;case 36:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ab;i=i+(w)>>0;h=i;$s=2;continue;case 31:i=i+(w)>>0;$s=2;continue;case 3:if(h<d.length){$s=37;continue;}$s=38;continue;case 37:ac=f.Buffer.WriteString($substring(d,h));$s=39;case 39:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ac;case 38:ad=f.Buffer.WriteByte(34);$s=40;case 40:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ad;$s=-1;return;}return;}if($f===undefined){$f={$blk:CG.ptr.prototype.string};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CG.prototype.string=function(d,e){return this.$val.string(d,e);};CG.ptr.prototype.stringBytes=function(d,e){var aa,ab,ac,ad,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;g=f.Buffer.WriteByte(34);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;h=0;i=0;case 2:if(!(i<d.$length)){$s=3;continue;}j=((i<0||i>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+i]);if(j<128){$s=4;continue;}$s=5;continue;case 4:if(((j<0||j>=S.length)?($throwRuntimeError("index out of range"),undefined):S[j])||(!e&&((j<0||j>=R.length)?($throwRuntimeError("index out of range"),undefined):R[j]))){i=i+(1)>>0;$s=2;continue;}if(h<i){$s=6;continue;}$s=7;continue;case 6:k=f.Buffer.Write($subslice(d,h,i));$s=8;case 8:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;case 7:l=f.Buffer.WriteByte(92);$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;m=j;if((m===(92))||(m===(34))){$s=11;continue;}if(m===(10)){$s=12;continue;}if(m===(13)){$s=13;continue;}if(m===(9)){$s=14;continue;}$s=15;continue;case 11:n=f.Buffer.WriteByte(j);$s=17;case 17:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n;$s=16;continue;case 12:o=f.Buffer.WriteByte(110);$s=18;case 18:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;$s=16;continue;case 13:p=f.Buffer.WriteByte(114);$s=19;case 19:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;$s=16;continue;case 14:q=f.Buffer.WriteByte(116);$s=20;case 20:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;$s=16;continue;case 15:r=f.Buffer.WriteString("u00");$s=21;case 21:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;s=f.Buffer.WriteByte(CF.charCodeAt((j>>>4<<24>>>24)));$s=22;case 22:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}s;t=f.Buffer.WriteByte(CF.charCodeAt(((j&15)>>>0)));$s=23;case 23:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}t;case 16:case 10:i=i+(1)>>0;h=i;$s=2;continue;case 5:u=B.DecodeRune($subslice(d,i));v=u[0];w=u[1];if((v===65533)&&(w===1)){$s=24;continue;}$s=25;continue;case 24:if(h<i){$s=26;continue;}$s=27;continue;case 26:x=f.Buffer.Write($subslice(d,h,i));$s=28;case 28:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;case 27:y=f.Buffer.WriteString("\\ufffd");$s=29;case 29:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}y;i=i+(w)>>0;h=i;$s=2;continue;case 25:if((v===8232)||(v===8233)){$s=30;continue;}$s=31;continue;case 30:if(h<i){$s=32;continue;}$s=33;continue;case 32:z=f.Buffer.Write($subslice(d,h,i));$s=34;case 34:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}z;case 33:aa=f.Buffer.WriteString("\\u202");$s=35;case 35:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}aa;ab=f.Buffer.WriteByte(CF.charCodeAt((v&15)));$s=36;case 36:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ab;i=i+(w)>>0;h=i;$s=2;continue;case 31:i=i+(w)>>0;$s=2;continue;case 3:if(h<d.$length){$s=37;continue;}$s=38;continue;case 37:ac=f.Buffer.Write($subslice(d,h));$s=39;case 39:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ac;case 38:ad=f.Buffer.WriteByte(34);$s=40;case 40:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ad;$s=-1;return;}return;}if($f===undefined){$f={$blk:CG.ptr.prototype.stringBytes};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CG.prototype.stringBytes=function(d,e){return this.$val.stringBytes(d,e);};EA.prototype.Len=function(){var d;d=this;return d.$length;};$ptrType(EA).prototype.Len=function(){return this.$get().Len();};EA.prototype.Swap=function(d,e){var d,e,f,g,h;f=this;g=$clone(((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]),DZ);h=$clone(((d<0||d>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+d]),DZ);DZ.copy(((d<0||d>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+d]),g);DZ.copy(((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]),h);};$ptrType(EA).prototype.Swap=function(d,e){return this.$get().Swap(d,e);};EA.prototype.Less=function(d,e){var d,e,f,g,h,i,j,k,l;f=this;g=((d<0||d>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+d]).index;h=0;while(true){if(!(h<g.$length)){break;}i=h;j=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);if(i>=((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]).index.$length){return false;}if(!((j===(k=((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]).index,((i<0||i>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+i]))))){return j<(l=((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]).index,((i<0||i>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+i]));}h++;}return((d<0||d>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+d]).index.$length<((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]).index.$length;};$ptrType(EA).prototype.Less=function(d,e){return this.$get().Less(d,e);};EB=function(d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=[e];f=[f];g=new FJ([]);h=new FJ([new DZ.ptr("",FA.nil,$throwNilPointerError,"","",false,EX.nil,d,false,false,$throwNilPointerError)]);i=false;j=false;k=i;l=j;m=$makeMap(L.Type.keyFor,[]);e[0]=FJ.nil;f[0]=new C.Buffer.ptr(FA.nil,0,0);case 1:if(!(h.$length>0)){$s=2;continue;}n=h;o=$subslice(g,0,0);g=n;h=o;p=l;q=$makeMap(L.Type.keyFor,[]);k=p;l=q;r=g;s=0;case 3:if(!(s<r.$length)){$s=4;continue;}t=$clone(((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]),DZ);if((u=m[L.Type.keyFor(t.typ)],u!==undefined?u.v:false)){s++;$s=3;continue;}v=t.typ;(m||$throwRuntimeError("assignment to entry in nil map"))[L.Type.keyFor(v)]={k:v,v:true};w=0;case 5:x=t.typ.NumField();$s=7;case 7:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}if(!(w<x)){$s=6;continue;}y=t.typ.Field(w);$s=8;case 8:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=$clone(y,L.StructField);if(z.Anonymous){$s=9;continue;}if(!$clone(z,L.StructField).IsExported()){$s=10;continue;}$s=11;continue;case 9:aa=z.Type;ab=aa.Kind();$s=14;case 14:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}if(ab===22){$s=12;continue;}$s=13;continue;case 12:ac=aa.Elem();$s=15;case 15:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}aa=ac;case 13:if(!(!$clone(z,L.StructField).IsExported())){ad=false;$s=18;continue s;}ae=aa.Kind();$s=19;case 19:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=!((ae===25));case 18:if(ad){$s=16;continue;}$s=17;continue;case 16:w=w+(1)>>0;$s=5;continue;case 17:$s=11;continue;case 10:w=w+(1)>>0;$s=5;continue;case 11:af=new L.StructTag(z.Tag).Get("json");if(af==="-"){w=w+(1)>>0;$s=5;continue;}ag=Q(af);ah=ag[0];ai=ag[1];if(!DW(ah)){ah="";}aj=$makeSlice(EX,(t.index.$length+1>>0));$copySlice(aj,t.index);(ak=t.index.$length,((ak<0||ak>=aj.$length)?($throwRuntimeError("index out of range"),undefined):aj.$array[aj.$offset+ak]=w));al=z.Type;an=al.Name();$s=23;case 23:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}if(!(an==="")){am=false;$s=22;continue s;}ao=al.Kind();$s=24;case 24:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}am=ao===22;case 22:if(am){$s=20;continue;}$s=21;continue;case 20:ap=al.Elem();$s=25;case 25:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}al=ap;case 21:aq=false;if(new P(ai).Contains("string")){$s=26;continue;}$s=27;continue;case 26:ar=al.Kind();$s=29;case 29:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=ar;if((as===(1))||(as===(2))||(as===(3))||(as===(4))||(as===(5))||(as===(6))||(as===(7))||(as===(8))||(as===(9))||(as===(10))||(as===(11))||(as===(12))||(as===(13))||(as===(14))||(as===(24))){aq=true;}case 28:case 27:if(!(ah==="")||!z.Anonymous){at=true;$s=32;continue s;}au=al.Kind();$s=33;case 33:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}at=!((au===25));case 32:if(at){$s=30;continue;}$s=31;continue;case 30:av=!(ah==="");if(ah===""){ah=z.Name;}aw=new DZ.ptr(ah,FA.nil,$throwNilPointerError,"","",av,aj,al,new P(ai).Contains("omitempty"),aq,$throwNilPointerError);aw.nameBytes=(new FA($stringToBytes(aw.name)));aw.equalFold=BT(aw.nameBytes);f[0].Reset();ax=f[0].WriteString("\"");$s=34;case 34:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ax;$r=BZ(f[0],aw.nameBytes);$s=35;case 35:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ay=f[0].WriteString("\":");$s=36;case 36:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}ay;aw.nameEscHTML=f[0].String();aw.nameNonEsc="\""+aw.name+"\":";e[0]=$append(e[0],aw);if((az=k[L.Type.keyFor(t.typ)],az!==undefined?az.v:0)>1){e[0]=$append(e[0],(ba=e[0].$length-1>>0,((ba<0||ba>=e[0].$length)?($throwRuntimeError("index out of range"),undefined):e[0].$array[e[0].$offset+ba])));}w=w+(1)>>0;$s=5;continue;case 31:bb=al;(l||$throwRuntimeError("assignment to entry in nil map"))[L.Type.keyFor(bb)]={k:bb,v:(bc=l[L.Type.keyFor(al)],bc!==undefined?bc.v:0)+(1)>>0};if((bd=l[L.Type.keyFor(al)],bd!==undefined?bd.v:0)===1){$s=37;continue;}$s=38;continue;case 37:be=al.Name();$s=39;case 39:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}h=$append(h,new DZ.ptr(be,FA.nil,$throwNilPointerError,"","",false,aj,al,false,false,$throwNilPointerError));case 38:w=w+(1)>>0;$s=5;continue;case 6:s++;$s=3;continue;case 4:$s=1;continue;case 2:$r=M.Slice(e[0],(function(e,f){return function(bf,bg){var bf,bg,bh;bh=e[0];if(!(((bf<0||bf>=bh.$length)?($throwRuntimeError("index out of range"),undefined):bh.$array[bh.$offset+bf]).name===((bg<0||bg>=bh.$length)?($throwRuntimeError("index out of range"),undefined):bh.$array[bh.$offset+bg]).name)){return((bf<0||bf>=bh.$length)?($throwRuntimeError("index out of range"),undefined):bh.$array[bh.$offset+bf]).name<((bg<0||bg>=bh.$length)?($throwRuntimeError("index out of range"),undefined):bh.$array[bh.$offset+bg]).name;}if(!((((bf<0||bf>=bh.$length)?($throwRuntimeError("index out of range"),undefined):bh.$array[bh.$offset+bf]).index.$length===((bg<0||bg>=bh.$length)?($throwRuntimeError("index out of range"),undefined):bh.$array[bh.$offset+bg]).index.$length))){return((bf<0||bf>=bh.$length)?($throwRuntimeError("index out of range"),undefined):bh.$array[bh.$offset+bf]).index.$length<((bg<0||bg>=bh.$length)?($throwRuntimeError("index out of range"),undefined):bh.$array[bh.$offset+bg]).index.$length;}if(!(((bf<0||bf>=bh.$length)?($throwRuntimeError("index out of range"),undefined):bh.$array[bh.$offset+bf]).tag===((bg<0||bg>=bh.$length)?($throwRuntimeError("index out of range"),undefined):bh.$array[bh.$offset+bg]).tag)){return((bf<0||bf>=bh.$length)?($throwRuntimeError("index out of range"),undefined):bh.$array[bh.$offset+bf]).tag;}return($convertSliceType(bh,EA)).Less(bf,bg);};})(e,f));$s=40;case 40:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bf=$subslice(e[0],0,0);bg=0;bh=0;bi=bg;bj=bh;while(true){if(!(bj<e[0].$length)){break;}bk=$clone(((bj<0||bj>=e[0].$length)?($throwRuntimeError("index out of range"),undefined):e[0].$array[e[0].$offset+bj]),DZ);bl=bk.name;bi=1;while(true){if(!((bj+bi>>0)<e[0].$length)){break;}bn=$clone((bm=bj+bi>>0,((bm<0||bm>=e[0].$length)?($throwRuntimeError("index out of range"),undefined):e[0].$array[e[0].$offset+bm])),DZ);if(!(bn.name===bl)){break;}bi=bi+(1)>>0;}if(bi===1){bf=$append(bf,bk);bj=bj+(bi)>>0;continue;}bo=EC($subslice(e[0],bj,(bj+bi>>0)));bp=$clone(bo[0],DZ);bq=bo[1];if(bq){bf=$append(bf,bp);}bj=bj+(bi)>>0;}e[0]=bf;$r=M.Sort(($convertSliceType(e[0],EA)));$s=41;case 41:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}br=e[0];bs=0;case 42:if(!(bs<br.$length)){$s=43;continue;}bt=bs;bu=((bt<0||bt>=e[0].$length)?($throwRuntimeError("index out of range"),undefined):e[0].$array[e[0].$offset+bt]);bv=DX(d,bu.index);$s=44;case 44:if($c){$c=false;bv=bv.$blk();}if(bv&&bv.$blk!==undefined){break s;}bw=CP(bv);$s=45;case 45:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}bu.encoder=bw;bs++;$s=42;continue;case 43:by=(bx=e[0].$length,((bx<0||bx>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));bz=e[0];ca=0;while(true){if(!(ca<bz.$length)){break;}cb=ca;cc=$clone(((ca<0||ca>=bz.$length)?($throwRuntimeError("index out of range"),undefined):bz.$array[bz.$offset+ca]),DZ);cd=cc.name;(by||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(cd)]={k:cd,v:cb};ca++;}$s=-1;return new DJ.ptr(e[0],by);}return;}if($f===undefined){$f={$blk:EB};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EC=function(d){var d;if(d.$length>1&&((0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]).index.$length===(1>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+1]).index.$length)&&(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]).tag===(1>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+1]).tag){return[new DZ.ptr("",FA.nil,$throwNilPointerError,"","",false,EX.nil,$ifaceNil,false,false,$throwNilPointerError),false];}return[(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]),true];};EE=function(d){var d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=ED.Load(d);f=e[0];g=e[1];if(g){$s=-1;return $assertType(f,DJ);}i=d;k=EB(d);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=(j=k,new j.constructor.elem(j));m=ED.LoadOrStore(i,l);$s=2;case 2:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}h=m;n=h[0];$s=-1;return $assertType(n,DJ);}return;}if($f===undefined){$f={$blk:EE};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};EF=function(d,e){var d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=new EM.ptr(FA.nil,0,0,new AE.ptr($throwNilPointerError,false,EX.nil,$ifaceNil,new $Int64(0,0)),FC.nil,$ifaceNil,false,false);g=AC(d,f.scan);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!($interfaceIsEqual(h,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:i=J.Println(new EV([new $String("not valid")]));$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;$s=-1;return h;case 3:f.init(d);j=f.unmarshal(e);$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=6;case 6:return k;}return;}if($f===undefined){$f={$blk:EF};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Unmarshal=EF;EH.ptr.prototype.Error=function(){var d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(!(d.Struct==="")||!(d.Field==="")){$s=1;continue;}$s=2;continue;case 1:e=d.Type.String();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f="json: cannot unmarshal "+d.Value+" into Go struct field "+d.Struct+"."+d.Field+" of type "+e;$s=4;case 4:return f;case 2:g=d.Type.String();$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h="json: cannot unmarshal "+d.Value+" into Go value of type "+g;$s=6;case 6:return h;}return;}if($f===undefined){$f={$blk:EH.ptr.prototype.Error};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};EH.prototype.Error=function(){return this.$val.Error();};EJ.ptr.prototype.Error=function(){var d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($interfaceIsEqual(d.Type,$ifaceNil)){$s=-1;return"json: Unmarshal(nil)";}e=d.Type.Kind();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(!((e===22))){$s=1;continue;}$s=2;continue;case 1:f=d.Type.String();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g="json: Unmarshal(non-pointer "+f+")";$s=5;case 5:return g;case 2:h=d.Type.String();$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i="json: Unmarshal(nil "+h+")";$s=7;case 7:return i;}return;}if($f===undefined){$f={$blk:EJ.ptr.prototype.Error};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};EJ.prototype.Error=function(){return this.$val.Error();};EM.ptr.prototype.unmarshal=function(d){var d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=L.ValueOf(d);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(!(($clone(g,L.Value).Kind()===22))||$clone(g,L.Value).IsNil()){$s=-1;return new EJ.ptr(L.TypeOf(d));}e.scan.reset();$r=e.scanWhile(9);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h=e.value($clone(g,L.Value));$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;if(!($interfaceIsEqual(i,$ifaceNil))){$s=4;continue;}$s=5;continue;case 4:j=e.addErrorContext(i);$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=7;case 7:return k;case 5:$s=-1;return e.savedError;}return;}if($f===undefined){$f={$blk:EM.ptr.prototype.unmarshal};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};EM.prototype.unmarshal=function(d){return this.$val.unmarshal(d);};EK.prototype.String=function(){var d;d=this.$val;return(d);};$ptrType(EK).prototype.String=function(){return new EK(this.$get()).String();};EK.prototype.Float64=function(){var d;d=this.$val;return F.ParseFloat((d),64);};$ptrType(EK).prototype.Float64=function(){return new EK(this.$get()).Float64();};EK.prototype.Int64=function(){var d;d=this.$val;return F.ParseInt((d),10,64);};$ptrType(EK).prototype.Int64=function(){return new EK(this.$get()).Int64();};EM.ptr.prototype.readIndex=function(){var d;d=this;return d.off-1>>0;};EM.prototype.readIndex=function(){return this.$val.readIndex();};EM.ptr.prototype.init=function(d){var d,e;e=this;e.data=d;e.off=0;e.savedError=$ifaceNil;if(!(e.errorContext===FC.nil)){e.errorContext.Struct=$ifaceNil;e.errorContext.FieldStack=$subslice(e.errorContext.FieldStack,0,0);}return e;};EM.prototype.init=function(d){return this.$val.init(d);};EM.ptr.prototype.saveError=function(d){var d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;if($interfaceIsEqual(e.savedError,$ifaceNil)){$s=1;continue;}$s=2;continue;case 1:f=e.addErrorContext(d);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e.savedError=f;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:EM.ptr.prototype.saveError};}$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};EM.prototype.saveError=function(d){return this.$val.saveError(d);};EM.ptr.prototype.addErrorContext=function(d){var d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;if(!(e.errorContext===FC.nil)&&(!($interfaceIsEqual(e.errorContext.Struct,$ifaceNil))||e.errorContext.FieldStack.$length>0)){$s=1;continue;}$s=2;continue;case 1:f=d;if($assertType(f,FN,true)[1]){$s=3;continue;}$s=4;continue;case 3:g=f.$val;h=e.errorContext.Struct.Name();$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g.Struct=h;g.Field=A.Join(e.errorContext.FieldStack,".");case 4:case 2:$s=-1;return d;}return;}if($f===undefined){$f={$blk:EM.ptr.prototype.addErrorContext};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};EM.prototype.addErrorContext=function(d){return this.$val.addErrorContext(d);};EM.ptr.prototype.skip=function(){var d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.scan;f=d.data;g=d.off;h=e;i=f;j=g;k=h.parseState.$length;case 1:l=h.step(h,((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]));$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;j=j+(1)>>0;if(h.parseState.$length<k){d.off=j;d.opcode=m;$s=-1;return;}$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:EM.ptr.prototype.skip};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};EM.prototype.skip=function(){return this.$val.skip();};EM.ptr.prototype.scanNext=function(){var d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(d.off<d.data.$length){$s=1;continue;}$s=2;continue;case 1:g=d.scan.step(d.scan,(e=d.data,f=d.off,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f])));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}d.opcode=g;d.off=d.off+(1)>>0;$s=3;continue;case 2:h=d.scan.eof();$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}d.opcode=h;d.off=d.data.$length+1>>0;case 3:$s=-1;return;}return;}if($f===undefined){$f={$blk:EM.ptr.prototype.scanNext};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};EM.prototype.scanNext=function(){return this.$val.scanNext();};EM.ptr.prototype.scanWhile=function(d){var d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=e.scan;g=e.data;h=e.off;i=f;j=g;k=h;case 1:if(!(k<j.$length)){$s=2;continue;}l=i.step(i,((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]));$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;k=k+(1)>>0;if(!((m===d))){e.opcode=m;e.off=k;$s=-1;return;}$s=1;continue;case 2:e.off=j.$length+1>>0;n=e.scan.eof();$s=4;case 4:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}e.opcode=n;$s=-1;return;}return;}if($f===undefined){$f={$blk:EM.ptr.prototype.scanWhile};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};EM.prototype.scanWhile=function(d){return this.$val.scanWhile(d);};EM.ptr.prototype.rescanLiteral=function(){var d,e,f,g,h,i,j,k,l;d=this;e=d.data;f=d.off;g=e;h=f;Switch:switch(0){default:j=(i=h-1>>0,((i<0||i>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+i]));if(j===(34)){while(true){if(!(h<g.$length)){break;}k=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);if(k===(92)){h=h+(1)>>0;}else if(k===(34)){h=h+(1)>>0;break Switch;}h=h+(1)>>0;}}else if((j===(48))||(j===(49))||(j===(50))||(j===(51))||(j===(52))||(j===(53))||(j===(54))||(j===(55))||(j===(56))||(j===(57))||(j===(45))){while(true){if(!(h<g.$length)){break;}l=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);if((l===(48))||(l===(49))||(l===(50))||(l===(51))||(l===(52))||(l===(53))||(l===(54))||(l===(55))||(l===(56))||(l===(57))||(l===(46))||(l===(101))||(l===(69))||(l===(43))||(l===(45))){}else{break Switch;}h=h+(1)>>0;}}else if(j===(116)){h=h+(3)>>0;}else if(j===(102)){h=h+(4)>>0;}else if(j===(110)){h=h+(3)>>0;}}if(h<g.$length){d.opcode=AN(d.scan,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]));}else{d.opcode=10;}d.off=h+1>>0;};EM.prototype.rescanLiteral=function(){return this.$val.rescanLiteral();};EM.ptr.prototype.value=function(d){var d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=e.opcode;if(f===(6)){$s=2;continue;}if(f===(2)){$s=3;continue;}if(f===(1)){$s=4;continue;}$s=5;continue;case 2:if($clone(d,L.Value).IsValid()){$s=7;continue;}$s=8;continue;case 7:g=e.array($clone(d,L.Value));$s=10;case 10:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return h;}$s=9;continue;case 8:$r=e.skip();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 9:$r=e.scanNext();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=6;continue;case 3:if($clone(d,L.Value).IsValid()){$s=13;continue;}$s=14;continue;case 13:i=e.object($clone(d,L.Value));$s=16;case 16:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return j;}$s=15;continue;case 14:$r=e.skip();$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 15:$r=e.scanNext();$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=6;continue;case 4:k=e.readIndex();e.rescanLiteral();if($clone(d,L.Value).IsValid()){$s=19;continue;}$s=20;continue;case 19:l=e.literalStore($subslice(e.data,k,e.readIndex()),$clone(d,L.Value),false);$s=21;case 21:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(!($interfaceIsEqual(m,$ifaceNil))){$s=-1;return m;}case 20:$s=6;continue;case 5:$panic(new $String("JSON decoder out of sync - data changing underfoot?"));case 6:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:EM.ptr.prototype.value};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};EM.prototype.value=function(d){return this.$val.value(d);};EM.ptr.prototype.valueQuoted=function(){var d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.opcode;if((e===(6))||(e===(2))){$s=2;continue;}if(e===(1)){$s=3;continue;}$s=4;continue;case 2:$r=d.skip();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.scanNext();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 3:f=d.literalInterface();$s=8;case 8:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;h=g;if(h===$ifaceNil||$assertType(h,$String,true)[1]){$s=-1;return g;}$s=5;continue;case 4:$panic(new $String("JSON decoder out of sync - data changing underfoot?"));case 5:case 1:$s=-1;return(i=new EN.ptr(),new i.constructor.elem(i));}return;}if($f===undefined){$f={$blk:EM.ptr.prototype.valueQuoted};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};EM.prototype.valueQuoted=function(){return this.$val.valueQuoted();};EO=function(d,e){var aa,ab,ac,ad,ae,af,ag,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=d;g=false;if(!(!(($clone(d,L.Value).Kind()===22)))){h=false;$s=3;continue s;}i=$clone(d,L.Value).Type().Name();$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=!(i==="");case 3:if(h&&$clone(d,L.Value).CanAddr()){$s=1;continue;}$s=2;continue;case 1:g=true;d=$clone(d,L.Value).Addr();case 2:case 5:if(($clone(d,L.Value).Kind()===20)&&!$clone(d,L.Value).IsNil()){$s=7;continue;}$s=8;continue;case 7:j=$clone(d,L.Value).Elem();$s=9;case 9:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(!(($clone(k,L.Value).Kind()===22)&&!$clone(k,L.Value).IsNil())){l=false;$s=12;continue s;}if(!e){m=true;$s=13;continue s;}n=$clone(k,L.Value).Elem();$s=14;case 14:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=$clone(n,L.Value).Kind();$s=15;case 15:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}m=o===22;case 13:l=m;case 12:if(l){$s=10;continue;}$s=11;continue;case 10:g=false;d=k;$s=5;continue;case 11:case 8:if(!(($clone(d,L.Value).Kind()===22))){$s=6;continue;}if(e&&$clone(d,L.Value).CanSet()){$s=6;continue;}q=$clone(d,L.Value).Elem();$s=19;case 19:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=$clone(q,L.Value).Kind();$s=20;case 20:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(!(r===20)){p=false;$s=18;continue s;}s=$clone(d,L.Value).Elem();$s=21;case 21:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=$clone(s,L.Value).Elem();$s=22;case 22:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}p=$equal(t,d,L.Value);case 18:if(p){$s=16;continue;}$s=17;continue;case 16:u=$clone(d,L.Value).Elem();$s=23;case 23:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}d=u;$s=6;continue;case 17:if($clone(d,L.Value).IsNil()){$s=24;continue;}$s=25;continue;case 24:v=$clone(d,L.Value).Type().Elem();$s=26;case 26:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=L.New(v);$s=27;case 27:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}$r=$clone(d,L.Value).Set($clone(w,L.Value));$s=28;case 28:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 25:x=$clone(d,L.Value).Type().NumMethod();$s=31;case 31:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}if(x>0&&$clone(d,L.Value).CanInterface()){$s=29;continue;}$s=30;continue;case 29:z=$clone(d,L.Value).Interface();$s=32;case 32:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=$assertType(z,EG,true);aa=y[0];ab=y[1];if(ab){$s=-1;return[aa,$ifaceNil,new L.Value.ptr(FO.nil,0,0)];}if(!e){$s=33;continue;}$s=34;continue;case 33:ad=$clone(d,L.Value).Interface();$s=35;case 35:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,H.TextUnmarshaler,true);ae=ac[0];af=ac[1];if(af){$s=-1;return[$ifaceNil,ae,new L.Value.ptr(FO.nil,0,0)];}case 34:case 30:if(g){$s=36;continue;}$s=37;continue;case 36:d=f;g=false;$s=38;continue;case 37:ag=$clone(d,L.Value).Elem();$s=39;case 39:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}d=ag;case 38:$s=5;continue;case 6:$s=-1;return[$ifaceNil,$ifaceNil,d];}return;}if($f===undefined){$f={$blk:EO};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EM.ptr.prototype.array=function(d){var aa,ab,ac,ad,ae,af,ag,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;g=EO($clone(d,L.Value),false);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];j=f[2];if(!($interfaceIsEqual(h,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:k=e.readIndex();$r=e.skip();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=h.UnmarshalJSON($subslice(e.data,k,e.off));$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=6;case 6:return m;case 3:if(!($interfaceIsEqual(i,$ifaceNil))){$s=7;continue;}$s=8;continue;case 7:$r=e.saveError(new EH.ptr("array",$clone(d,L.Value).Type(),(new $Int64(0,e.off)),"",""));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=e.skip();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 8:d=j;n=$clone(d,L.Value).Kind();if(n===(20)){$s=12;continue;}if((n===(17))||(n===(23))){$s=13;continue;}$s=14;continue;case 12:if($clone(d,L.Value).NumMethod()===0){$s=16;continue;}$s=17;continue;case 16:o=e.arrayInterface();$s=18;case 18:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;q=L.ValueOf(p);$s=19;case 19:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}$r=$clone(d,L.Value).Set($clone(q,L.Value));$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 17:$r=e.saveError(new EH.ptr("array",$clone(d,L.Value).Type(),(new $Int64(0,e.off)),"",""));$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=e.skip();$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 13:$s=11;continue;$s=15;continue;case 14:$r=e.saveError(new EH.ptr("array",$clone(d,L.Value).Type(),(new $Int64(0,e.off)),"",""));$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=e.skip();$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 15:case 11:r=0;case 25:$r=e.scanWhile(9);$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(e.opcode===8){$s=26;continue;}if($clone(d,L.Value).Kind()===23){$s=28;continue;}$s=29;continue;case 28:if(r>=$clone(d,L.Value).Cap()){$s=30;continue;}$s=31;continue;case 30:t=$clone(d,L.Value).Cap()+(s=$clone(d,L.Value).Cap()/2,(s===s&&s!==1/0&&s!==-1/0)?s>>0:$throwRuntimeError("integer divide by zero"))>>0;if(t<4){t=4;}u=L.MakeSlice($clone(d,L.Value).Type(),$clone(d,L.Value).Len(),t);$s=32;case 32:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;w=L.Copy($clone(v,L.Value),$clone(d,L.Value));$s=33;case 33:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}w;$r=$clone(d,L.Value).Set($clone(v,L.Value));$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 31:if(r>=$clone(d,L.Value).Len()){$clone(d,L.Value).SetLen(r+1>>0);}case 29:if(r<$clone(d,L.Value).Len()){$s=35;continue;}$s=36;continue;case 35:x=$clone(d,L.Value).Index(r);$s=38;case 38:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=e.value($clone(x,L.Value));$s=39;case 39:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;if(!($interfaceIsEqual(z,$ifaceNil))){$s=-1;return z;}$s=37;continue;case 36:aa=e.value(new L.Value.ptr(FO.nil,0,0));$s=40;case 40:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;if(!($interfaceIsEqual(ab,$ifaceNil))){$s=-1;return ab;}case 37:r=r+(1)>>0;if(e.opcode===9){$s=41;continue;}$s=42;continue;case 41:$r=e.scanWhile(9);$s=43;case 43:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 42:if(e.opcode===8){$s=26;continue;}if(!((e.opcode===7))){$panic(new $String("JSON decoder out of sync - data changing underfoot?"));}$s=25;continue;case 26:if(r<$clone(d,L.Value).Len()){$s=44;continue;}$s=45;continue;case 44:if($clone(d,L.Value).Kind()===17){$s=46;continue;}$s=47;continue;case 46:ac=$clone(d,L.Value).Type().Elem();$s=49;case 49:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=L.Zero(ac);$s=50;case 50:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;case 51:if(!(r<$clone(d,L.Value).Len())){$s=52;continue;}af=$clone(d,L.Value).Index(r);$s=53;case 53:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}$r=$clone(af,L.Value).Set($clone(ae,L.Value));$s=54;case 54:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r+(1)>>0;$s=51;continue;case 52:$s=48;continue;case 47:$clone(d,L.Value).SetLen(r);case 48:case 45:if((r===0)&&($clone(d,L.Value).Kind()===23)){$s=55;continue;}$s=56;continue;case 55:ag=L.MakeSlice($clone(d,L.Value).Type(),0,0);$s=57;case 57:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}$r=$clone(d,L.Value).Set($clone(ag,L.Value));$s=58;case 58:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 56:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:EM.ptr.prototype.array};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EM.prototype.array=function(d){return this.$val.array(d);};EM.ptr.prototype.object=function(d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,d,da,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;cr=$f.cr;cs=$f.cs;ct=$f.ct;cu=$f.cu;cv=$f.cv;cw=$f.cw;cx=$f.cx;cy=$f.cy;cz=$f.cz;d=$f.d;da=$f.da;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;g=EO($clone(d,L.Value),false);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];j=f[2];if(!($interfaceIsEqual(h,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:k=e.readIndex();$r=e.skip();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=h.UnmarshalJSON($subslice(e.data,k,e.off));$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=6;case 6:return m;case 3:if(!($interfaceIsEqual(i,$ifaceNil))){$s=7;continue;}$s=8;continue;case 7:$r=e.saveError(new EH.ptr("object",$clone(d,L.Value).Type(),(new $Int64(0,e.off)),"",""));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=e.skip();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 8:d=j;n=$clone(d,L.Value).Type();if(($clone(d,L.Value).Kind()===20)&&($clone(d,L.Value).NumMethod()===0)){$s=11;continue;}$s=12;continue;case 11:o=e.objectInterface();$s=13;case 13:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;q=L.ValueOf(new FP(p));$s=14;case 14:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}$r=$clone(d,L.Value).Set($clone(q,L.Value));$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 12:r=new DJ.ptr(FJ.nil,false);s=$clone(d,L.Value).Kind();if(s===(21)){$s=17;continue;}if(s===(25)){$s=18;continue;}$s=19;continue;case 17:t=n.Key();$s=22;case 22:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t.Kind();$s=23;case 23:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;if((v===(24))||(v===(2))||(v===(3))||(v===(4))||(v===(5))||(v===(6))||(v===(7))||(v===(8))||(v===(9))||(v===(10))||(v===(11))||(v===(12))){$s=24;continue;}w=n.Key();$s=27;case 27:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=L.PtrTo(w);$s=28;case 28:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x.Implements(EQ);$s=29;case 29:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}if(!y){$s=25;continue;}$s=26;continue;case 24:$s=26;continue;case 25:$r=e.saveError(new EH.ptr("object",n,(new $Int64(0,e.off)),"",""));$s=30;case 30:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=e.skip();$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 26:case 21:if($clone(d,L.Value).IsNil()){$s=32;continue;}$s=33;continue;case 32:z=L.MakeMap(n);$s=34;case 34:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}$r=$clone(d,L.Value).Set($clone(z,L.Value));$s=35;case 35:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 33:$s=20;continue;case 18:aa=EE(n);$s=36;case 36:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}DJ.copy(r,aa);$s=20;continue;case 19:$r=e.saveError(new EH.ptr("object",n,(new $Int64(0,e.off)),"",""));$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=e.skip();$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 20:case 16:ab=new L.Value.ptr(FO.nil,0,0);ac=new EL.ptr($ifaceNil,FQ.nil);if(!(e.errorContext===FC.nil)){EL.copy(ac,e.errorContext);}case 39:$r=e.scanWhile(9);$s=41;case 41:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(e.opcode===5){$s=40;continue;}if(!((e.opcode===1))){$panic(new $String("JSON decoder out of sync - data changing underfoot?"));}ad=e.readIndex();e.rescanLiteral();ae=$subslice(e.data,ad,e.readIndex());af=EU(ae);ag=af[0];ah=af[1];if(!ah){$panic(new $String("JSON decoder out of sync - data changing underfoot?"));}ai=new L.Value.ptr(FO.nil,0,0);aj=false;if($clone(d,L.Value).Kind()===21){$s=42;continue;}$s=43;continue;case 42:ak=n.Elem();$s=45;case 45:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=ak;if(!$clone(ab,L.Value).IsValid()){$s=46;continue;}$s=47;continue;case 46:am=$clone(L.New(al),L.Value).Elem();$s=49;case 49:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}ab=am;$s=48;continue;case 47:an=L.Zero(al);$s=50;case 50:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}$r=$clone(ab,L.Value).Set($clone(an,L.Value));$s=51;case 51:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 48:ai=ab;$s=44;continue;case 43:ao=FR.nil;ap=(aq=r.nameIndex[$String.keyFor(($bytesToString(ag)))],aq!==undefined?[aq.v,true]:[0,false]);ar=ap[0];as=ap[1];if(as){$s=52;continue;}$s=53;continue;case 52:ao=(at=r.list,((ar<0||ar>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+ar]));$s=54;continue;case 53:au=r.list;av=0;case 55:if(!(av<au.$length)){$s=56;continue;}aw=av;ay=(ax=r.list,((aw<0||aw>=ax.$length)?($throwRuntimeError("index out of range"),undefined):ax.$array[ax.$offset+aw]));az=ay.equalFold(ay.nameBytes,ag);$s=59;case 59:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}if(az){$s=57;continue;}$s=58;continue;case 57:ao=ay;$s=56;continue;case 58:av++;$s=55;continue;case 56:case 54:if(!(ao===FR.nil)){$s=60;continue;}if(e.disallowUnknownFields){$s=61;continue;}$s=62;continue;case 60:ai=d;aj=ao.quoted;ba=ao.index;bb=0;case 63:if(!(bb<ba.$length)){$s=64;continue;}bc=((bb<0||bb>=ba.$length)?($throwRuntimeError("index out of range"),undefined):ba.$array[ba.$offset+bb]);if($clone(ai,L.Value).Kind()===22){$s=65;continue;}$s=66;continue;case 65:if($clone(ai,L.Value).IsNil()){$s=67;continue;}$s=68;continue;case 67:if(!$clone(ai,L.Value).CanSet()){$s=69;continue;}$s=70;continue;case 69:bd=$clone(ai,L.Value).Type().Elem();$s=71;case 71:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}be=bd;bf=J.Errorf("json: cannot set embedded pointer to unexported struct: %v",new EV([be]));$s=72;case 72:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}$r=e.saveError(bf);$s=73;case 73:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ai=new L.Value.ptr(FO.nil,0,0);aj=false;$s=64;continue;case 70:bg=$clone(ai,L.Value).Type().Elem();$s=74;case 74:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bh=L.New(bg);$s=75;case 75:if($c){$c=false;bh=bh.$blk();}if(bh&&bh.$blk!==undefined){break s;}$r=$clone(ai,L.Value).Set($clone(bh,L.Value));$s=76;case 76:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 68:bi=$clone(ai,L.Value).Elem();$s=77;case 77:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}ai=bi;case 66:bj=$clone(ai,L.Value).Field(bc);$s=78;case 78:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}ai=bj;bb++;$s=63;continue;case 64:if(e.errorContext===FC.nil){e.errorContext=new EL.ptr($ifaceNil,FQ.nil);}e.errorContext.FieldStack=$append(e.errorContext.FieldStack,ao.name);e.errorContext.Struct=n;$s=62;continue;case 61:bk=J.Errorf("json: unknown field %q",new EV([ag]));$s=79;case 79:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}$r=e.saveError(bk);$s=80;case 80:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 62:case 44:if(e.opcode===9){$s=81;continue;}$s=82;continue;case 81:$r=e.scanWhile(9);$s=83;case 83:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 82:if(!((e.opcode===3))){$panic(new $String("JSON decoder out of sync - data changing underfoot?"));}$r=e.scanWhile(9);$s=84;case 84:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(aj){$s=85;continue;}$s=86;continue;case 85:bm=e.valueQuoted();$s=88;case 88:if($c){$c=false;bm=bm.$blk();}if(bm&&bm.$blk!==undefined){break s;}bl=bm;if(bl===$ifaceNil){$s=89;continue;}if($assertType(bl,$String,true)[1]){$s=90;continue;}$s=91;continue;case 89:bn=bl;bq=e.literalStore(EP,$clone(ai,L.Value),false);$s=93;case 93:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}br=bq;if(!($interfaceIsEqual(br,$ifaceNil))){$s=-1;return br;}$s=92;continue;case 90:bo=bl.$val;bs=e.literalStore((new FA($stringToBytes(bo))),$clone(ai,L.Value),true);$s=94;case 94:if($c){$c=false;bs=bs.$blk();}if(bs&&bs.$blk!==undefined){break s;}bt=bs;if(!($interfaceIsEqual(bt,$ifaceNil))){$s=-1;return bt;}$s=92;continue;case 91:bp=bl;bu=J.Errorf("json: invalid use of ,string struct tag, trying to unmarshal unquoted value into %v",new EV([$clone(ai,L.Value).Type()]));$s=95;case 95:if($c){$c=false;bu=bu.$blk();}if(bu&&bu.$blk!==undefined){break s;}$r=e.saveError(bu);$s=96;case 96:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 92:$s=87;continue;case 86:bv=e.value($clone(ai,L.Value));$s=97;case 97:if($c){$c=false;bv=bv.$blk();}if(bv&&bv.$blk!==undefined){break s;}bw=bv;if(!($interfaceIsEqual(bw,$ifaceNil))){$s=-1;return bw;}case 87:if($clone(d,L.Value).Kind()===21){$s=98;continue;}$s=99;continue;case 98:bx=n.Key();$s=100;case 100:if($c){$c=false;bx=bx.$blk();}if(bx&&bx.$blk!==undefined){break s;}by=bx;bz=new L.Value.ptr(FO.nil,0,0);ca=L.PtrTo(by).Implements(EQ);$s=106;case 106:if($c){$c=false;ca=ca.$blk();}if(ca&&ca.$blk!==undefined){break s;}if(ca){$s=102;continue;}cb=by.Kind();$s=107;case 107:if($c){$c=false;cb=cb.$blk();}if(cb&&cb.$blk!==undefined){break s;}if((cb===24)){$s=103;continue;}$s=104;continue;case 102:bz=L.New(by);cc=e.literalStore(ae,$clone(bz,L.Value),true);$s=108;case 108:if($c){$c=false;cc=cc.$blk();}if(cc&&cc.$blk!==undefined){break s;}cd=cc;if(!($interfaceIsEqual(cd,$ifaceNil))){$s=-1;return cd;}ce=$clone(bz,L.Value).Elem();$s=109;case 109:if($c){$c=false;ce=ce.$blk();}if(ce&&ce.$blk!==undefined){break s;}bz=ce;$s=105;continue;case 103:cf=L.ValueOf(ag);$s=110;case 110:if($c){$c=false;cf=cf.$blk();}if(cf&&cf.$blk!==undefined){break s;}cg=$clone(cf,L.Value).Convert(by);$s=111;case 111:if($c){$c=false;cg=cg.$blk();}if(cg&&cg.$blk!==undefined){break s;}bz=cg;$s=105;continue;case 104:ch=by.Kind();$s=113;case 113:if($c){$c=false;ch=ch.$blk();}if(ch&&ch.$blk!==undefined){break s;}ci=ch;if((ci===(2))||(ci===(3))||(ci===(4))||(ci===(5))||(ci===(6))){$s=114;continue;}if((ci===(7))||(ci===(8))||(ci===(9))||(ci===(10))||(ci===(11))||(ci===(12))){$s=115;continue;}$s=116;continue;case 114:cj=($bytesToString(ag));ck=F.ParseInt(cj,10,64);cl=ck[0];cm=ck[1];if(!($interfaceIsEqual(cm,$ifaceNil))){cn=true;$s=120;continue s;}co=L.Zero(by);$s=121;case 121:if($c){$c=false;co=co.$blk();}if(co&&co.$blk!==undefined){break s;}cp=$clone(co,L.Value).OverflowInt(cl);$s=122;case 122:if($c){$c=false;cp=cp.$blk();}if(cp&&cp.$blk!==undefined){break s;}cn=cp;case 120:if(cn){$s=118;continue;}$s=119;continue;case 118:$r=e.saveError(new EH.ptr("number "+cj,by,(new $Int64(0,(ad+1>>0))),"",""));$s=123;case 123:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=112;continue;case 119:cq=L.ValueOf(cl);$s=124;case 124:if($c){$c=false;cq=cq.$blk();}if(cq&&cq.$blk!==undefined){break s;}cr=$clone(cq,L.Value).Convert(by);$s=125;case 125:if($c){$c=false;cr=cr.$blk();}if(cr&&cr.$blk!==undefined){break s;}bz=cr;$s=117;continue;case 115:cs=($bytesToString(ag));ct=F.ParseUint(cs,10,64);cu=ct[0];cv=ct[1];if(!($interfaceIsEqual(cv,$ifaceNil))){cw=true;$s=128;continue s;}cx=L.Zero(by);$s=129;case 129:if($c){$c=false;cx=cx.$blk();}if(cx&&cx.$blk!==undefined){break s;}cy=$clone(cx,L.Value).OverflowUint(cu);$s=130;case 130:if($c){$c=false;cy=cy.$blk();}if(cy&&cy.$blk!==undefined){break s;}cw=cy;case 128:if(cw){$s=126;continue;}$s=127;continue;case 126:$r=e.saveError(new EH.ptr("number "+cs,by,(new $Int64(0,(ad+1>>0))),"",""));$s=131;case 131:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=112;continue;case 127:cz=L.ValueOf(cu);$s=132;case 132:if($c){$c=false;cz=cz.$blk();}if(cz&&cz.$blk!==undefined){break s;}da=$clone(cz,L.Value).Convert(by);$s=133;case 133:if($c){$c=false;da=da.$blk();}if(da&&da.$blk!==undefined){break s;}bz=da;$s=117;continue;case 116:$panic(new $String("json: Unexpected key type"));case 117:case 112:case 105:case 101:if($clone(bz,L.Value).IsValid()){$s=134;continue;}$s=135;continue;case 134:$r=$clone(d,L.Value).SetMapIndex($clone(bz,L.Value),$clone(ai,L.Value));$s=136;case 136:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 135:case 99:if(e.opcode===9){$s=137;continue;}$s=138;continue;case 137:$r=e.scanWhile(9);$s=139;case 139:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 138:if(!(e.errorContext===FC.nil)){e.errorContext.FieldStack=$subslice(e.errorContext.FieldStack,0,ac.FieldStack.$length);e.errorContext.Struct=ac.Struct;}if(e.opcode===5){$s=40;continue;}if(!((e.opcode===4))){$panic(new $String("JSON decoder out of sync - data changing underfoot?"));}$s=39;continue;case 40:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:EM.ptr.prototype.object};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.cr=cr;$f.cs=cs;$f.ct=ct;$f.cu=cu;$f.cv=cv;$f.cw=cw;$f.cx=cx;$f.cy=cy;$f.cz=cz;$f.d=d;$f.da=da;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EM.prototype.object=function(d){return this.$val.object(d);};EM.ptr.prototype.convertNumber=function(d){var d,e,f,g,h;e=this;if(e.useNumber){return[new EK((d)),$ifaceNil];}f=F.ParseFloat(d,64);g=f[0];h=f[1];if(!($interfaceIsEqual(h,$ifaceNil))){return[$ifaceNil,new EH.ptr("number "+d,L.TypeOf(new $Float64(0)),(new $Int64(0,e.off)),"","")];}return[new $Float64(g),$ifaceNil];};EM.prototype.convertNumber=function(d){return this.$val.convertNumber(d);};EM.ptr.prototype.literalStore=function(d,e,f){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this;if(d.$length===0){$s=1;continue;}$s=2;continue;case 1:h=J.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v",new EV([d,$clone(e,L.Value).Type()]));$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$r=g.saveError(h);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 2:i=(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])===110;k=EO($clone(e,L.Value),i);$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];n=j[2];if(!($interfaceIsEqual(l,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:o=l.UnmarshalJSON(d);$s=8;case 8:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;$s=9;case 9:return p;case 7:if(!($interfaceIsEqual(m,$ifaceNil))){$s=10;continue;}$s=11;continue;case 10:if(!(((0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])===34))){$s=12;continue;}$s=13;continue;case 12:if(f){$s=14;continue;}$s=15;continue;case 14:q=J.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v",new EV([d,$clone(e,L.Value).Type()]));$s=16;case 16:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}$r=g.saveError(q);$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 15:r="number";s=(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]);if(s===(110)){r="null";}else if((s===(116))||(s===(102))){r="bool";}$r=g.saveError(new EH.ptr(r,$clone(e,L.Value).Type(),(new $Int64(0,g.readIndex())),"",""));$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 13:t=EU(d);u=t[0];v=t[1];if(!v){$s=19;continue;}$s=20;continue;case 19:if(f){$s=21;continue;}$s=22;continue;case 21:w=J.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v",new EV([d,$clone(e,L.Value).Type()]));$s=23;case 23:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;$s=24;case 24:return x;case 22:$panic(new $String("JSON decoder out of sync - data changing underfoot?"));case 20:y=m.UnmarshalText(u);$s=25;case 25:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;$s=26;case 26:return z;case 11:e=n;aa=(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]);ab=aa;if(ab===(110)){$s=28;continue;}if((ab===(116))||(ab===(102))){$s=29;continue;}if(ab===(34)){$s=30;continue;}$s=31;continue;case 28:if(f&&!(($bytesToString(d))==="null")){$s=33;continue;}$s=34;continue;case 33:ac=J.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v",new EV([d,$clone(e,L.Value).Type()]));$s=35;case 35:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}$r=g.saveError(ac);$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=27;continue;case 34:ad=$clone(e,L.Value).Kind();if((ad===(20))||(ad===(22))||(ad===(21))||(ad===(23))){$s=38;continue;}$s=39;continue;case 38:ae=L.Zero($clone(e,L.Value).Type());$s=40;case 40:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}$r=$clone(e,L.Value).Set($clone(ae,L.Value));$s=41;case 41:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 39:case 37:$s=32;continue;case 29:af=(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])===116;if(f&&!(($bytesToString(d))==="true")&&!(($bytesToString(d))==="false")){$s=42;continue;}$s=43;continue;case 42:ag=J.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v",new EV([d,$clone(e,L.Value).Type()]));$s=44;case 44:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}$r=g.saveError(ag);$s=45;case 45:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=27;continue;case 43:ah=$clone(e,L.Value).Kind();if(ah===(1)){$s=47;continue;}if(ah===(20)){$s=48;continue;}if(f){$s=49;continue;}$s=50;continue;case 47:$clone(e,L.Value).SetBool(af);$s=51;continue;case 48:if($clone(e,L.Value).NumMethod()===0){$s=52;continue;}$s=53;continue;case 52:ai=L.ValueOf(new $Bool(af));$s=55;case 55:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$r=$clone(e,L.Value).Set($clone(ai,L.Value));$s=56;case 56:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=54;continue;case 53:$r=g.saveError(new EH.ptr("bool",$clone(e,L.Value).Type(),(new $Int64(0,g.readIndex())),"",""));$s=57;case 57:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 54:$s=51;continue;case 49:aj=J.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v",new EV([d,$clone(e,L.Value).Type()]));$s=58;case 58:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$r=g.saveError(aj);$s=59;case 59:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=51;continue;case 50:$r=g.saveError(new EH.ptr("bool",$clone(e,L.Value).Type(),(new $Int64(0,g.readIndex())),"",""));$s=60;case 60:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 51:case 46:$s=32;continue;case 30:ak=EU(d);al=ak[0];am=ak[1];if(!am){$s=61;continue;}$s=62;continue;case 61:if(f){$s=63;continue;}$s=64;continue;case 63:an=J.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v",new EV([d,$clone(e,L.Value).Type()]));$s=65;case 65:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=an;$s=66;case 66:return ao;case 64:$panic(new $String("JSON decoder out of sync - data changing underfoot?"));case 62:ap=$clone(e,L.Value).Kind();if(ap===(23)){$s=68;continue;}if(ap===(24)){$s=69;continue;}if(ap===(20)){$s=70;continue;}$s=71;continue;case 68:aq=$clone(e,L.Value).Type().Elem();$s=75;case 75:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=aq.Kind();$s=76;case 76:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}if(!((ar===8))){$s=73;continue;}$s=74;continue;case 73:$r=g.saveError(new EH.ptr("string",$clone(e,L.Value).Type(),(new $Int64(0,g.readIndex())),"",""));$s=77;case 77:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=67;continue;case 74:as=$makeSlice(FA,I.StdEncoding.DecodedLen(al.$length));at=I.StdEncoding.Decode(as,al);au=at[0];av=at[1];if(!($interfaceIsEqual(av,$ifaceNil))){$s=78;continue;}$s=79;continue;case 78:$r=g.saveError(av);$s=80;case 80:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=67;continue;case 79:$r=$clone(e,L.Value).SetBytes($subslice(as,0,au));$s=81;case 81:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=72;continue;case 69:if($interfaceIsEqual($clone(e,L.Value).Type(),ER)&&!DF(($bytesToString(al)))){$s=82;continue;}$s=83;continue;case 82:aw=J.Errorf("json: invalid number literal, trying to unmarshal %q into Number",new EV([d]));$s=84;case 84:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;$s=85;case 85:return ax;case 83:$clone(e,L.Value).SetString(($bytesToString(al)));$s=72;continue;case 70:if($clone(e,L.Value).NumMethod()===0){$s=86;continue;}$s=87;continue;case 86:ay=L.ValueOf(new $String(($bytesToString(al))));$s=89;case 89:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}$r=$clone(e,L.Value).Set($clone(ay,L.Value));$s=90;case 90:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=88;continue;case 87:$r=g.saveError(new EH.ptr("string",$clone(e,L.Value).Type(),(new $Int64(0,g.readIndex())),"",""));$s=91;case 91:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 88:$s=72;continue;case 71:$r=g.saveError(new EH.ptr("string",$clone(e,L.Value).Type(),(new $Int64(0,g.readIndex())),"",""));$s=92;case 92:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 72:case 67:$s=32;continue;case 31:if(!((aa===45))&&(aa<48||aa>57)){$s=93;continue;}$s=94;continue;case 93:if(f){$s=95;continue;}$s=96;continue;case 95:az=J.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v",new EV([d,$clone(e,L.Value).Type()]));$s=97;case 97:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=az;$s=98;case 98:return ba;case 96:$panic(new $String("JSON decoder out of sync - data changing underfoot?"));case 94:bb=($bytesToString(d));bc=$clone(e,L.Value).Kind();if(bc===(20)){$s=100;continue;}if((bc===(2))||(bc===(3))||(bc===(4))||(bc===(5))||(bc===(6))){$s=101;continue;}if((bc===(7))||(bc===(8))||(bc===(9))||(bc===(10))||(bc===(11))||(bc===(12))){$s=102;continue;}if((bc===(13))||(bc===(14))){$s=103;continue;}$s=104;continue;case 100:bd=g.convertNumber(bb);be=bd[0];bf=bd[1];if(!($interfaceIsEqual(bf,$ifaceNil))){$s=106;continue;}$s=107;continue;case 106:$r=g.saveError(bf);$s=108;case 108:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=99;continue;case 107:if(!(($clone(e,L.Value).NumMethod()===0))){$s=109;continue;}$s=110;continue;case 109:$r=g.saveError(new EH.ptr("number",$clone(e,L.Value).Type(),(new $Int64(0,g.readIndex())),"",""));$s=111;case 111:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=99;continue;case 110:bg=L.ValueOf(be);$s=112;case 112:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}$r=$clone(e,L.Value).Set($clone(bg,L.Value));$s=113;case 113:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=105;continue;case 101:bh=F.ParseInt(bb,10,64);bi=bh[0];bj=bh[1];if(!($interfaceIsEqual(bj,$ifaceNil))||$clone(e,L.Value).OverflowInt(bi)){$s=114;continue;}$s=115;continue;case 114:$r=g.saveError(new EH.ptr("number "+bb,$clone(e,L.Value).Type(),(new $Int64(0,g.readIndex())),"",""));$s=116;case 116:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=99;continue;case 115:$clone(e,L.Value).SetInt(bi);$s=105;continue;case 102:bk=F.ParseUint(bb,10,64);bl=bk[0];bm=bk[1];if(!($interfaceIsEqual(bm,$ifaceNil))||$clone(e,L.Value).OverflowUint(bl)){$s=117;continue;}$s=118;continue;case 117:$r=g.saveError(new EH.ptr("number "+bb,$clone(e,L.Value).Type(),(new $Int64(0,g.readIndex())),"",""));$s=119;case 119:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=99;continue;case 118:$clone(e,L.Value).SetUint(bl);$s=105;continue;case 103:bo=bb;bp=$clone(e,L.Value).Type().Bits();$s=120;case 120:if($c){$c=false;bp=bp.$blk();}if(bp&&bp.$blk!==undefined){break s;}bq=bp;br=F.ParseFloat(bo,bq);$s=121;case 121:if($c){$c=false;br=br.$blk();}if(br&&br.$blk!==undefined){break s;}bn=br;bs=bn[0];bt=bn[1];if(!($interfaceIsEqual(bt,$ifaceNil))||$clone(e,L.Value).OverflowFloat(bs)){$s=122;continue;}$s=123;continue;case 122:$r=g.saveError(new EH.ptr("number "+bb,$clone(e,L.Value).Type(),(new $Int64(0,g.readIndex())),"",""));$s=124;case 124:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=99;continue;case 123:$clone(e,L.Value).SetFloat(bs);$s=105;continue;case 104:if(($clone(e,L.Value).Kind()===24)&&$interfaceIsEqual($clone(e,L.Value).Type(),ER)){$clone(e,L.Value).SetString(bb);$s=99;continue;}if(f){$s=125;continue;}$s=126;continue;case 125:bu=J.Errorf("json: invalid use of ,string struct tag, trying to unmarshal %q into %v",new EV([d,$clone(e,L.Value).Type()]));$s=127;case 127:if($c){$c=false;bu=bu.$blk();}if(bu&&bu.$blk!==undefined){break s;}bv=bu;$s=128;case 128:return bv;case 126:$r=g.saveError(new EH.ptr("number",$clone(e,L.Value).Type(),(new $Int64(0,g.readIndex())),"",""));$s=129;case 129:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 105:case 99:case 32:case 27:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:EM.ptr.prototype.literalStore};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EM.prototype.literalStore=function(d,e,f){return this.$val.literalStore(d,e,f);};EM.ptr.prototype.valueInterface=function(){var d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=$ifaceNil;e=this;f=e.opcode;if(f===(6)){$s=2;continue;}if(f===(2)){$s=3;continue;}if(f===(1)){$s=4;continue;}$s=5;continue;case 2:g=e.arrayInterface();$s=7;case 7:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}d=g;$r=e.scanNext();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=6;continue;case 3:h=e.objectInterface();$s=9;case 9:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}d=new FP(h);$r=e.scanNext();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=6;continue;case 4:i=e.literalInterface();$s=11;case 11:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}d=i;$s=6;continue;case 5:$panic(new $String("JSON decoder out of sync - data changing underfoot?"));case 6:case 1:$s=-1;return d;}return;}if($f===undefined){$f={$blk:EM.ptr.prototype.valueInterface};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};EM.prototype.valueInterface=function(){return this.$val.valueInterface();};EM.ptr.prototype.arrayInterface=function(){var d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$makeSlice(EV,0);case 1:$r=d.scanWhile(9);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(d.opcode===8){$s=2;continue;}f=d.valueInterface();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$append(e,f);if(d.opcode===9){$s=5;continue;}$s=6;continue;case 5:$r=d.scanWhile(9);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:if(d.opcode===8){$s=2;continue;}if(!((d.opcode===7))){$panic(new $String("JSON decoder out of sync - data changing underfoot?"));}$s=1;continue;case 2:$s=-1;return e;}return;}if($f===undefined){$f={$blk:EM.ptr.prototype.arrayInterface};}$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};EM.prototype.arrayInterface=function(){return this.$val.arrayInterface();};EM.ptr.prototype.objectInterface=function(){var d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e={};case 1:$r=d.scanWhile(9);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(d.opcode===5){$s=2;continue;}if(!((d.opcode===1))){$panic(new $String("JSON decoder out of sync - data changing underfoot?"));}f=d.readIndex();d.rescanLiteral();g=$subslice(d.data,f,d.readIndex());h=ET(g);i=h[0];j=h[1];if(!j){$panic(new $String("JSON decoder out of sync - data changing underfoot?"));}if(d.opcode===9){$s=4;continue;}$s=5;continue;case 4:$r=d.scanWhile(9);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:if(!((d.opcode===3))){$panic(new $String("JSON decoder out of sync - data changing underfoot?"));}$r=d.scanWhile(9);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=d.valueInterface();$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=i;(e||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(k)]={k:k,v:l};if(d.opcode===9){$s=9;continue;}$s=10;continue;case 9:$r=d.scanWhile(9);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 10:if(d.opcode===5){$s=2;continue;}if(!((d.opcode===4))){$panic(new $String("JSON decoder out of sync - data changing underfoot?"));}$s=1;continue;case 2:$s=-1;return e;}return;}if($f===undefined){$f={$blk:EM.ptr.prototype.objectInterface};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};EM.prototype.objectInterface=function(){return this.$val.objectInterface();};EM.ptr.prototype.literalInterface=function(){var d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.readIndex();d.rescanLiteral();f=$subslice(d.data,e,d.readIndex());g=(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]);h=g;if(h===(110)){$s=2;continue;}if((h===(116))||(h===(102))){$s=3;continue;}if(h===(34)){$s=4;continue;}$s=5;continue;case 2:$s=-1;return $ifaceNil;case 3:$s=-1;return new $Bool((g===116));case 4:i=ET(f);j=i[0];k=i[1];if(!k){$panic(new $String("JSON decoder out of sync - data changing underfoot?"));}$s=-1;return new $String(j);case 5:if(!((g===45))&&(g<48||g>57)){$panic(new $String("JSON decoder out of sync - data changing underfoot?"));}l=d.convertNumber(($bytesToString(f)));m=l[0];n=l[1];if(!($interfaceIsEqual(n,$ifaceNil))){$s=7;continue;}$s=8;continue;case 7:$r=d.saveError(n);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:$s=-1;return m;case 6:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:EM.ptr.prototype.literalInterface};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};EM.prototype.literalInterface=function(){return this.$val.literalInterface();};ES=function(d){var d,e,f,g,h;if(d.$length<6||!(((0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])===92))||!(((1>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+1])===117))){return-1;}e=0;f=$subslice(d,2,6);g=0;while(true){if(!(g<f.$length)){break;}h=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(48<=h&&h<=57){h=h-48<<24>>>24;}else if(97<=h&&h<=102){h=(h-97<<24>>>24)+10<<24>>>24;}else if(65<=h&&h<=70){h=(h-65<<24>>>24)+10<<24>>>24;}else{return-1;}e=($imul(e,16))+((h>>0))>>0;g++;}return e;};ET=function(d){var d,e,f,g;e="";f=false;g=EU(d);d=g[0];f=g[1];e=($bytesToString(d));return[e,f];};EU=function(d){var aa,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;e=FA.nil;f=false;if(d.$length<2||!(((0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])===34))||!(((g=d.$length-1>>0,((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]))===34))){return[e,f];}d=$subslice(d,1,(d.$length-1>>0));h=0;while(true){if(!(h<d.$length)){break;}i=((h<0||h>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+h]);if((i===92)||(i===34)||i<32){break;}if(i<128){h=h+(1)>>0;continue;}j=B.DecodeRune($subslice(d,h));k=j[0];l=j[1];if((k===65533)&&(l===1)){break;}h=h+(l)>>0;}if(h===d.$length){m=d;n=true;e=m;f=n;return[e,f];}o=$makeSlice(FA,(d.$length+8>>0));p=$copySlice(o,$subslice(d,0,h));while(true){if(!(h<d.$length)){break;}if(p>=(o.$length-8>>0)){q=$makeSlice(FA,($imul(((o.$length+4>>0)),2)));$copySlice(q,$subslice(o,0,p));o=q;}r=((h<0||h>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+h]);if((r===92)){h=h+(1)>>0;if(h>=d.$length){return[e,f];}switch(0){default:s=((h<0||h>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+h]);if((s===(34))||(s===(92))||(s===(47))||(s===(39))){((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]=((h<0||h>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+h]));h=h+(1)>>0;p=p+(1)>>0;}else if(s===(98)){((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]=8);h=h+(1)>>0;p=p+(1)>>0;}else if(s===(102)){((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]=12);h=h+(1)>>0;p=p+(1)>>0;}else if(s===(110)){((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]=10);h=h+(1)>>0;p=p+(1)>>0;}else if(s===(114)){((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]=13);h=h+(1)>>0;p=p+(1)>>0;}else if(s===(116)){((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]=9);h=h+(1)>>0;p=p+(1)>>0;}else if(s===(117)){h=h-(1)>>0;t=ES($subslice(d,h));if(t<0){return[e,f];}h=h+(6)>>0;if(O.IsSurrogate(t)){u=ES($subslice(d,h));v=O.DecodeRune(t,u);if(!((v===65533))){h=h+(6)>>0;p=p+(B.EncodeRune($subslice(o,p),v))>>0;break;}t=65533;}p=p+(B.EncodeRune($subslice(o,p),t))>>0;}else{return[e,f];}}}else if(((r===34))||(r<32)){return[e,f];}else if(r<128){((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]=r);h=h+(1)>>0;p=p+(1)>>0;}else{w=B.DecodeRune($subslice(d,h));x=w[0];y=w[1];h=h+(y)>>0;p=p+(B.EncodeRune($subslice(o,p),x))>>0;}}z=$subslice(o,0,p);aa=true;e=z;f=aa;return[e,f];};P.methods=[{prop:"Contains",name:"Contains",pkg:"",typ:$funcType([$String],[$Bool],false)}];FS.methods=[{prop:"UseNumber",name:"UseNumber",pkg:"",typ:$funcType([],[],false)},{prop:"DisallowUnknownFields",name:"DisallowUnknownFields",pkg:"",typ:$funcType([],[],false)},{prop:"Decode",name:"Decode",pkg:"",typ:$funcType([$emptyInterface],[$error],false)},{prop:"Buffered",name:"Buffered",pkg:"",typ:$funcType([],[E.Reader],false)},{prop:"readValue",name:"readValue",pkg:"encoding/json",typ:$funcType([],[$Int,$error],false)},{prop:"refill",name:"refill",pkg:"encoding/json",typ:$funcType([],[$error],false)},{prop:"tokenPrepareForDecode",name:"tokenPrepareForDecode",pkg:"encoding/json",typ:$funcType([],[$error],false)},{prop:"tokenValueAllowed",name:"tokenValueAllowed",pkg:"encoding/json",typ:$funcType([],[$Bool],false)},{prop:"tokenValueEnd",name:"tokenValueEnd",pkg:"encoding/json",typ:$funcType([],[],false)},{prop:"Token",name:"Token",pkg:"",typ:$funcType([],[Z,$error],false)},{prop:"tokenError",name:"tokenError",pkg:"encoding/json",typ:$funcType([$Uint8],[Z,$error],false)},{prop:"More",name:"More",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"peek",name:"peek",pkg:"encoding/json",typ:$funcType([],[$Uint8,$error],false)},{prop:"InputOffset",name:"InputOffset",pkg:"",typ:$funcType([],[$Int64],false)}];Y.methods=[{prop:"MarshalJSON",name:"MarshalJSON",pkg:"",typ:$funcType([],[FA,$error],false)}];EW.methods=[{prop:"UnmarshalJSON",name:"UnmarshalJSON",pkg:"",typ:$funcType([FA],[$error],false)}];AA.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];FU.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];FG.methods=[{prop:"reset",name:"reset",pkg:"encoding/json",typ:$funcType([],[],false)},{prop:"eof",name:"eof",pkg:"encoding/json",typ:$funcType([],[$Int],false)},{prop:"pushParseState",name:"pushParseState",pkg:"encoding/json",typ:$funcType([$Uint8,$Int,$Int],[$Int],false)},{prop:"popParseState",name:"popParseState",pkg:"encoding/json",typ:$funcType([],[],false)},{prop:"error",name:"error",pkg:"encoding/json",typ:$funcType([$Uint8,$String],[$Int],false)}];FW.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];FX.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];FZ.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Unwrap",name:"Unwrap",pkg:"",typ:$funcType([],[$error],false)}];FH.methods=[{prop:"marshal",name:"marshal",pkg:"encoding/json",typ:$funcType([$emptyInterface,CL],[$error],false)},{prop:"error",name:"error",pkg:"encoding/json",typ:$funcType([$error],[],false)},{prop:"reflectValue",name:"reflectValue",pkg:"encoding/json",typ:$funcType([L.Value,CL],[],false)},{prop:"string",name:"string",pkg:"encoding/json",typ:$funcType([$String,$Bool],[],false)},{prop:"stringBytes",name:"stringBytes",pkg:"encoding/json",typ:$funcType([FA,$Bool],[],false)}];DB.methods=[{prop:"encode",name:"encode",pkg:"encoding/json",typ:$funcType([FH,L.Value,CL],[],false)}];DI.methods=[{prop:"encode",name:"encode",pkg:"encoding/json",typ:$funcType([FH,L.Value,CL],[],false)}];DL.methods=[{prop:"encode",name:"encode",pkg:"encoding/json",typ:$funcType([FH,L.Value,CL],[],false)}];DO.methods=[{prop:"encode",name:"encode",pkg:"encoding/json",typ:$funcType([FH,L.Value,CL],[],false)}];DQ.methods=[{prop:"encode",name:"encode",pkg:"encoding/json",typ:$funcType([FH,L.Value,CL],[],false)}];DS.methods=[{prop:"encode",name:"encode",pkg:"encoding/json",typ:$funcType([FH,L.Value,CL],[],false)}];DU.methods=[{prop:"encode",name:"encode",pkg:"encoding/json",typ:$funcType([FH,L.Value,CL],[],false)}];GC.methods=[{prop:"resolve",name:"resolve",pkg:"encoding/json",typ:$funcType([],[$error],false)}];EA.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)}];FN.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];GF.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];EK.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Float64",name:"Float64",pkg:"",typ:$funcType([],[$Float64,$error],false)},{prop:"Int64",name:"Int64",pkg:"",typ:$funcType([],[$Int64,$error],false)}];GG.methods=[{prop:"unmarshal",name:"unmarshal",pkg:"encoding/json",typ:$funcType([$emptyInterface],[$error],false)},{prop:"readIndex",name:"readIndex",pkg:"encoding/json",typ:$funcType([],[$Int],false)},{prop:"init",name:"init",pkg:"encoding/json",typ:$funcType([FA],[GG],false)},{prop:"saveError",name:"saveError",pkg:"encoding/json",typ:$funcType([$error],[],false)},{prop:"addErrorContext",name:"addErrorContext",pkg:"encoding/json",typ:$funcType([$error],[$error],false)},{prop:"skip",name:"skip",pkg:"encoding/json",typ:$funcType([],[],false)},{prop:"scanNext",name:"scanNext",pkg:"encoding/json",typ:$funcType([],[],false)},{prop:"scanWhile",name:"scanWhile",pkg:"encoding/json",typ:$funcType([$Int],[],false)},{prop:"rescanLiteral",name:"rescanLiteral",pkg:"encoding/json",typ:$funcType([],[],false)},{prop:"value",name:"value",pkg:"encoding/json",typ:$funcType([L.Value],[$error],false)},{prop:"valueQuoted",name:"valueQuoted",pkg:"encoding/json",typ:$funcType([],[$emptyInterface],false)},{prop:"array",name:"array",pkg:"encoding/json",typ:$funcType([L.Value],[$error],false)},{prop:"object",name:"object",pkg:"encoding/json",typ:$funcType([L.Value],[$error],false)},{prop:"convertNumber",name:"convertNumber",pkg:"encoding/json",typ:$funcType([$String],[$emptyInterface,$error],false)},{prop:"literalStore",name:"literalStore",pkg:"encoding/json",typ:$funcType([FA,L.Value,$Bool],[$error],false)},{prop:"valueInterface",name:"valueInterface",pkg:"encoding/json",typ:$funcType([],[$emptyInterface],false)},{prop:"arrayInterface",name:"arrayInterface",pkg:"encoding/json",typ:$funcType([],[EV],false)},{prop:"objectInterface",name:"objectInterface",pkg:"encoding/json",typ:$funcType([],[FP],false)},{prop:"literalInterface",name:"literalInterface",pkg:"encoding/json",typ:$funcType([],[$emptyInterface],false)}];T.init("encoding/json",[{prop:"r",name:"r",embedded:false,exported:false,typ:E.Reader,tag:""},{prop:"buf",name:"buf",embedded:false,exported:false,typ:FA,tag:""},{prop:"d",name:"d",embedded:false,exported:false,typ:EM,tag:""},{prop:"scanp",name:"scanp",embedded:false,exported:false,typ:$Int,tag:""},{prop:"scanned",name:"scanned",embedded:false,exported:false,typ:$Int64,tag:""},{prop:"scan",name:"scan",embedded:false,exported:false,typ:AE,tag:""},{prop:"err",name:"err",embedded:false,exported:false,typ:$error,tag:""},{prop:"tokenState",name:"tokenState",embedded:false,exported:false,typ:$Int,tag:""},{prop:"tokenStack",name:"tokenStack",embedded:false,exported:false,typ:EX,tag:""}]);Y.init($Uint8);Z.init([]);AD.init("encoding/json",[{prop:"msg",name:"msg",embedded:false,exported:false,typ:$String,tag:""},{prop:"Offset",name:"Offset",embedded:false,exported:true,typ:$Int64,tag:""}]);AE.init("encoding/json",[{prop:"step",name:"step",embedded:false,exported:false,typ:FV,tag:""},{prop:"endTop",name:"endTop",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"parseState",name:"parseState",embedded:false,exported:false,typ:EX,tag:""},{prop:"err",name:"err",embedded:false,exported:false,typ:$error,tag:""},{prop:"bytes",name:"bytes",embedded:false,exported:false,typ:$Int64,tag:""}]);CA.init([{prop:"MarshalJSON",name:"MarshalJSON",pkg:"",typ:$funcType([],[FA,$error],false)}]);CB.init("",[{prop:"Type",name:"Type",embedded:false,exported:true,typ:L.Type,tag:""}]);CC.init("",[{prop:"Value",name:"Value",embedded:false,exported:true,typ:L.Value,tag:""},{prop:"Str",name:"Str",embedded:false,exported:true,typ:$String,tag:""}]);CE.init("encoding/json",[{prop:"Type",name:"Type",embedded:false,exported:true,typ:L.Type,tag:""},{prop:"Err",name:"Err",embedded:false,exported:true,typ:$error,tag:""},{prop:"sourceFunc",name:"sourceFunc",embedded:false,exported:false,typ:$String,tag:""}]);CG.init("encoding/json",[{prop:"Buffer",name:"Buffer",embedded:true,exported:true,typ:C.Buffer,tag:""},{prop:"scratch",name:"scratch",embedded:false,exported:false,typ:FI,tag:""},{prop:"ptrLevel",name:"ptrLevel",embedded:false,exported:false,typ:$Uint,tag:""},{prop:"ptrSeen",name:"ptrSeen",embedded:false,exported:false,typ:GA,tag:""}]);CJ.init("encoding/json",[{prop:"error",name:"error",embedded:true,exported:false,typ:$error,tag:""}]);CL.init("encoding/json",[{prop:"quoted",name:"quoted",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"escapeHTML",name:"escapeHTML",embedded:false,exported:false,typ:$Bool,tag:""}]);CM.init([FH,L.Value,CL],[],false);DI.init("encoding/json",[{prop:"fields",name:"fields",embedded:false,exported:false,typ:DJ,tag:""}]);DJ.init("encoding/json",[{prop:"list",name:"list",embedded:false,exported:false,typ:FJ,tag:""},{prop:"nameIndex",name:"nameIndex",embedded:false,exported:false,typ:GB,tag:""}]);DL.init("encoding/json",[{prop:"elemEnc",name:"elemEnc",embedded:false,exported:false,typ:CM,tag:""}]);DO.init("encoding/json",[{prop:"arrayEnc",name:"arrayEnc",embedded:false,exported:false,typ:CM,tag:""}]);DQ.init("encoding/json",[{prop:"elemEnc",name:"elemEnc",embedded:false,exported:false,typ:CM,tag:""}]);DS.init("encoding/json",[{prop:"elemEnc",name:"elemEnc",embedded:false,exported:false,typ:CM,tag:""}]);DU.init("encoding/json",[{prop:"canAddrEnc",name:"canAddrEnc",embedded:false,exported:false,typ:CM,tag:""},{prop:"elseEnc",name:"elseEnc",embedded:false,exported:false,typ:CM,tag:""}]);DY.init("encoding/json",[{prop:"k",name:"k",embedded:false,exported:false,typ:L.Value,tag:""},{prop:"v",name:"v",embedded:false,exported:false,typ:L.Value,tag:""},{prop:"ks",name:"ks",embedded:false,exported:false,typ:$String,tag:""}]);DZ.init("encoding/json",[{prop:"name",name:"name",embedded:false,exported:false,typ:$String,tag:""},{prop:"nameBytes",name:"nameBytes",embedded:false,exported:false,typ:FA,tag:""},{prop:"equalFold",name:"equalFold",embedded:false,exported:false,typ:GD,tag:""},{prop:"nameNonEsc",name:"nameNonEsc",embedded:false,exported:false,typ:$String,tag:""},{prop:"nameEscHTML",name:"nameEscHTML",embedded:false,exported:false,typ:$String,tag:""},{prop:"tag",name:"tag",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"index",name:"index",embedded:false,exported:false,typ:EX,tag:""},{prop:"typ",name:"typ",embedded:false,exported:false,typ:L.Type,tag:""},{prop:"omitEmpty",name:"omitEmpty",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"quoted",name:"quoted",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"encoder",name:"encoder",embedded:false,exported:false,typ:CM,tag:""}]);EA.init(DZ);EG.init([{prop:"UnmarshalJSON",name:"UnmarshalJSON",pkg:"",typ:$funcType([FA],[$error],false)}]);EH.init("",[{prop:"Value",name:"Value",embedded:false,exported:true,typ:$String,tag:""},{prop:"Type",name:"Type",embedded:false,exported:true,typ:L.Type,tag:""},{prop:"Offset",name:"Offset",embedded:false,exported:true,typ:$Int64,tag:""},{prop:"Struct",name:"Struct",embedded:false,exported:true,typ:$String,tag:""},{prop:"Field",name:"Field",embedded:false,exported:true,typ:$String,tag:""}]);EJ.init("",[{prop:"Type",name:"Type",embedded:false,exported:true,typ:L.Type,tag:""}]);EL.init("",[{prop:"Struct",name:"Struct",embedded:false,exported:true,typ:L.Type,tag:""},{prop:"FieldStack",name:"FieldStack",embedded:false,exported:true,typ:FQ,tag:""}]);EM.init("encoding/json",[{prop:"data",name:"data",embedded:false,exported:false,typ:FA,tag:""},{prop:"off",name:"off",embedded:false,exported:false,typ:$Int,tag:""},{prop:"opcode",name:"opcode",embedded:false,exported:false,typ:$Int,tag:""},{prop:"scan",name:"scan",embedded:false,exported:false,typ:AE,tag:""},{prop:"errorContext",name:"errorContext",embedded:false,exported:false,typ:FC,tag:""},{prop:"savedError",name:"savedError",embedded:false,exported:false,typ:$error,tag:""},{prop:"useNumber",name:"useNumber",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"disallowUnknownFields",name:"disallowUnknownFields",embedded:false,exported:false,typ:$Bool,tag:""}]);EN.init("",[]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=N.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=O.$init();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}CH=new G.Pool.ptr(EV.nil,$throwNilPointerError);CN=new G.Map.ptr(false);ED=new G.Map.ptr(false);R=$toNativeArray($kindBool,[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]);S=$toNativeArray($kindBool,[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]);AF=new G.Pool.ptr(EV.nil,(function(){return new AE.ptr($throwNilPointerError,false,EX.nil,$ifaceNil,new $Int64(0,0));}));CF="0123456789abcdef";a=L.TypeOf((EY.nil)).Elem();$s=16;case 16:if($c){$c=false;a=a.$blk();}if(a&&a.$blk!==undefined){break s;}CQ=a;b=L.TypeOf((EZ.nil)).Elem();$s=17;case 17:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}CR=b;DC=$methodVal(new DB(32),"encode");DD=$methodVal(new DB(64),"encode");EP=(new FA($stringToBytes("null")));c=L.TypeOf((FB.nil)).Elem();$s=18;case 18:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}EQ=c;ER=L.TypeOf(new EK(""));}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["bufio"]=(function(){var $pkg={},$init,A,B,C,E,D,F,G,P,Z,AA,AB,AC,AE,S,T,H,L,M,Q,R;A=$packages["bytes"];B=$packages["errors"];C=$packages["io"];E=$packages["strings"];D=$packages["unicode/utf8"];F=$pkg.Scanner=$newType(0,$kindStruct,"bufio.Scanner",true,"bufio",true,function(r_,split_,maxTokenSize_,token_,buf_,start_,end_,err_,empties_,scanCalled_,done_){this.$val=this;if(arguments.length===0){this.r=$ifaceNil;this.split=$throwNilPointerError;this.maxTokenSize=0;this.token=Z.nil;this.buf=Z.nil;this.start=0;this.end=0;this.err=$ifaceNil;this.empties=0;this.scanCalled=false;this.done=false;return;}this.r=r_;this.split=split_;this.maxTokenSize=maxTokenSize_;this.token=token_;this.buf=buf_;this.start=start_;this.end=end_;this.err=err_;this.empties=empties_;this.scanCalled=scanCalled_;this.done=done_;});G=$pkg.SplitFunc=$newType(4,$kindFunc,"bufio.SplitFunc",true,"bufio",true,null);P=$pkg.Reader=$newType(0,$kindStruct,"bufio.Reader",true,"bufio",true,function(buf_,rd_,r_,w_,err_,lastByte_,lastRuneSize_){this.$val=this;if(arguments.length===0){this.buf=Z.nil;this.rd=$ifaceNil;this.r=0;this.w=0;this.err=$ifaceNil;this.lastByte=0;this.lastRuneSize=0;return;}this.buf=buf_;this.rd=rd_;this.r=r_;this.w=w_;this.err=err_;this.lastByte=lastByte_;this.lastRuneSize=lastRuneSize_;});Z=$sliceType($Uint8);AA=$ptrType(P);AB=$sliceType(Z);AC=$ptrType(E.Builder);AE=$ptrType(F);H=function(a){var a;return new F.ptr(a,M,65536,Z.nil,Z.nil,0,0,$ifaceNil,0,false,false);};$pkg.NewScanner=H;F.ptr.prototype.Err=function(){var a;a=this;if($interfaceIsEqual(a.err,C.EOF)){return $ifaceNil;}return a.err;};F.prototype.Err=function(){return this.$val.Err();};F.ptr.prototype.Bytes=function(){var a;a=this;return a.token;};F.prototype.Bytes=function(){return this.$val.Bytes();};F.ptr.prototype.Text=function(){var a;a=this;return($bytesToString(a.token));};F.prototype.Text=function(){return this.$val.Text();};F.ptr.prototype.Scan=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.done){$s=-1;return false;}a.scanCalled=true;case 1:if(a.end>a.start||!($interfaceIsEqual(a.err,$ifaceNil))){$s=3;continue;}$s=4;continue;case 3:c=a.split($subslice(a.buf,a.start,a.end),!($interfaceIsEqual(a.err,$ifaceNil)));$s=5;case 5:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];f=b[2];if(!($interfaceIsEqual(f,$ifaceNil))){if($interfaceIsEqual(f,$pkg.ErrFinalToken)){a.token=e;a.done=true;$s=-1;return true;}a.setErr(f);$s=-1;return false;}if(!a.advance(d)){$s=-1;return false;}a.token=e;if(!(e===Z.nil)){if($interfaceIsEqual(a.err,$ifaceNil)||d>0){a.empties=0;}else{a.empties=a.empties+(1)>>0;if(a.empties>100){$panic(new $String("bufio.Scan: too many empty tokens without progressing"));}}$s=-1;return true;}case 4:if(!($interfaceIsEqual(a.err,$ifaceNil))){a.start=0;a.end=0;$s=-1;return false;}if(a.start>0&&((a.end===a.buf.$length)||a.start>(g=a.buf.$length/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero")))){$copySlice(a.buf,$subslice(a.buf,a.start,a.end));a.end=a.end-(a.start)>>0;a.start=0;}if(a.end===a.buf.$length){if(a.buf.$length>=a.maxTokenSize||a.buf.$length>1073741823){a.setErr($pkg.ErrTooLong);$s=-1;return false;}h=$imul(a.buf.$length,2);if(h===0){h=4096;}if(h>a.maxTokenSize){h=a.maxTokenSize;}i=$makeSlice(Z,h);$copySlice(i,$subslice(a.buf,a.start,a.end));a.buf=i;a.end=a.end-(a.start)>>0;a.start=0;}j=0;case 6:l=a.r.Read($subslice(a.buf,a.end,a.buf.$length));$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=k[1];if(m<0||(a.buf.$length-a.end>>0)<m){a.setErr($pkg.ErrBadReadCount);$s=7;continue;}a.end=a.end+(m)>>0;if(!($interfaceIsEqual(n,$ifaceNil))){a.setErr(n);$s=7;continue;}if(m>0){a.empties=0;$s=7;continue;}j=j+(1)>>0;if(j>100){a.setErr(C.ErrNoProgress);$s=7;continue;}$s=6;continue;case 7:$s=1;continue;case 2:$s=-1;return false;}return;}if($f===undefined){$f={$blk:F.ptr.prototype.Scan};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};F.prototype.Scan=function(){return this.$val.Scan();};F.ptr.prototype.advance=function(a){var a,b;b=this;if(a<0){b.setErr($pkg.ErrNegativeAdvance);return false;}if(a>(b.end-b.start>>0)){b.setErr($pkg.ErrAdvanceTooFar);return false;}b.start=b.start+(a)>>0;return true;};F.prototype.advance=function(a){return this.$val.advance(a);};F.ptr.prototype.setErr=function(a){var a,b;b=this;if($interfaceIsEqual(b.err,$ifaceNil)||$interfaceIsEqual(b.err,C.EOF)){b.err=a;}};F.prototype.setErr=function(a){return this.$val.setErr(a);};F.ptr.prototype.Buffer=function(a,b){var a,b,c;c=this;if(c.scanCalled){$panic(new $String("Buffer called after Scan"));}c.buf=$subslice(a,0,a.$capacity);c.maxTokenSize=b;};F.prototype.Buffer=function(a,b){return this.$val.Buffer(a,b);};F.ptr.prototype.Split=function(a){var a,b;b=this;if(b.scanCalled){$panic(new $String("Split called after Scan"));}b.split=a;};F.prototype.Split=function(a){return this.$val.Split(a);};L=function(a){var a,b;if(a.$length>0&&((b=a.$length-1>>0,((b<0||b>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+b]))===13)){return $subslice(a,0,(a.$length-1>>0));}return a;};M=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;c=0;d=Z.nil;e=$ifaceNil;if(b&&(a.$length===0)){f=0;g=Z.nil;h=$ifaceNil;c=f;d=g;e=h;return[c,d,e];}i=A.IndexByte(a,10);if(i>=0){j=i+1>>0;k=L($subslice(a,0,i));l=$ifaceNil;c=j;d=k;e=l;return[c,d,e];}if(b){m=a.$length;n=L(a);o=$ifaceNil;c=m;d=n;e=o;return[c,d,e];}p=0;q=Z.nil;r=$ifaceNil;c=p;d=q;e=r;return[c,d,e];};$pkg.ScanLines=M;Q=function(a,b){var a,b,c,d,e,f;c=$assertType(a,AA,true);d=c[0];e=c[1];if(e&&d.buf.$length>=b){return d;}if(b<16){b=16;}f=new P.ptr(Z.nil,$ifaceNil,0,0,$ifaceNil,0,0);f.reset($makeSlice(Z,b),a);return f;};$pkg.NewReaderSize=Q;R=function(a){var a;return Q(a,4096);};$pkg.NewReader=R;P.ptr.prototype.Size=function(){var a;a=this;return a.buf.$length;};P.prototype.Size=function(){return this.$val.Size();};P.ptr.prototype.Reset=function(a){var a,b;b=this;b.reset(b.buf,a);};P.prototype.Reset=function(a){return this.$val.Reset(a);};P.ptr.prototype.reset=function(a,b){var a,b,c;c=this;P.copy(c,new P.ptr(a,b,0,0,$ifaceNil,-1,-1));};P.prototype.reset=function(a,b){return this.$val.reset(a,b);};P.ptr.prototype.fill=function(){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.r>0){$copySlice(a.buf,$subslice(a.buf,a.r,a.w));a.w=a.w-(a.r)>>0;a.r=0;}if(a.w>=a.buf.$length){$panic(new $String("bufio: tried to fill full buffer"));}b=100;case 1:if(!(b>0)){$s=2;continue;}d=a.rd.Read($subslice(a.buf,a.w));$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(e<0){$panic(S);}a.w=a.w+(e)>>0;if(!($interfaceIsEqual(f,$ifaceNil))){a.err=f;$s=-1;return;}if(e>0){$s=-1;return;}b=b-(1)>>0;$s=1;continue;case 2:a.err=C.ErrNoProgress;$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.fill};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.fill=function(){return this.$val.fill();};P.ptr.prototype.readErr=function(){var a,b;a=this;b=a.err;a.err=$ifaceNil;return b;};P.prototype.readErr=function(){return this.$val.readErr();};P.ptr.prototype.Peek=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a<0){$s=-1;return[Z.nil,$pkg.ErrNegativeCount];}b.lastByte=-1;b.lastRuneSize=-1;case 1:if(!((b.w-b.r>>0)<a&&(b.w-b.r>>0)<b.buf.$length&&$interfaceIsEqual(b.err,$ifaceNil))){$s=2;continue;}$r=b.fill();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:if(a>b.buf.$length){$s=-1;return[$subslice(b.buf,b.r,b.w),$pkg.ErrBufferFull];}c=$ifaceNil;d=b.w-b.r>>0;if(d<a){a=d;c=b.readErr();if($interfaceIsEqual(c,$ifaceNil)){c=$pkg.ErrBufferFull;}}$s=-1;return[$subslice(b.buf,b.r,(b.r+a>>0)),c];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.Peek};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.Peek=function(a){return this.$val.Peek(a);};P.ptr.prototype.Discard=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;if(a<0){e=0;f=$pkg.ErrNegativeCount;b=e;c=f;$s=-1;return[b,c];}if(a===0){$s=-1;return[b,c];}g=a;case 1:h=d.Buffered();if(h===0){$s=3;continue;}$s=4;continue;case 3:$r=d.fill();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h=d.Buffered();case 4:if(h>g){h=g;}d.r=d.r+(h)>>0;g=g-(h)>>0;if(g===0){i=a;j=$ifaceNil;b=i;c=j;$s=-1;return[b,c];}if(!($interfaceIsEqual(d.err,$ifaceNil))){k=a-g>>0;l=d.readErr();b=k;c=l;$s=-1;return[b,c];}$s=1;continue;case 2:$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.Discard};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.Discard=function(a){return this.$val.Discard(a);};P.ptr.prototype.Read=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;b=a.$length;if(b===0){if(d.Buffered()>0){e=0;f=$ifaceNil;b=e;c=f;$s=-1;return[b,c];}g=0;h=d.readErr();b=g;c=h;$s=-1;return[b,c];}if(d.r===d.w){$s=1;continue;}$s=2;continue;case 1:if(!($interfaceIsEqual(d.err,$ifaceNil))){i=0;j=d.readErr();b=i;c=j;$s=-1;return[b,c];}if(a.$length>=d.buf.$length){$s=3;continue;}$s=4;continue;case 3:l=d.rd.Read(a);$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;b=k[0];d.err=k[1];if(b<0){$panic(S);}if(b>0){d.lastByte=(((m=b-1>>0,((m<0||m>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+m]))>>0));d.lastRuneSize=-1;}n=b;o=d.readErr();b=n;c=o;$s=-1;return[b,c];case 4:d.r=0;d.w=0;q=d.rd.Read(d.buf);$s=6;case 6:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;b=p[0];d.err=p[1];if(b<0){$panic(S);}if(b===0){r=0;s=d.readErr();b=r;c=s;$s=-1;return[b,c];}d.w=d.w+(b)>>0;case 2:b=$copySlice(a,$subslice(d.buf,d.r,d.w));d.r=d.r+(b)>>0;d.lastByte=(((t=d.buf,u=d.r-1>>0,((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]))>>0));d.lastRuneSize=-1;v=b;w=$ifaceNil;b=v;c=w;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.Read};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.Read=function(a){return this.$val.Read(a);};P.ptr.prototype.ReadByte=function(){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;a.lastRuneSize=-1;case 1:if(!(a.r===a.w)){$s=2;continue;}if(!($interfaceIsEqual(a.err,$ifaceNil))){$s=-1;return[0,a.readErr()];}$r=a.fill();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:d=(b=a.buf,c=a.r,((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]));a.r=a.r+(1)>>0;a.lastByte=((d>>0));$s=-1;return[d,$ifaceNil];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.ReadByte};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.ReadByte=function(){return this.$val.ReadByte();};P.ptr.prototype.UnreadByte=function(){var a,b,c;a=this;if(a.lastByte<0||(a.r===0)&&a.w>0){return $pkg.ErrInvalidUnreadByte;}if(a.r>0){a.r=a.r-(1)>>0;}else{a.w=1;}(b=a.buf,c=a.r,((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]=((a.lastByte<<24>>>24))));a.lastByte=-1;a.lastRuneSize=-1;return $ifaceNil;};P.prototype.UnreadByte=function(){return this.$val.UnreadByte();};P.ptr.prototype.ReadRune=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=0;b=0;c=$ifaceNil;d=this;case 1:if(!((d.r+4>>0)>d.w&&!D.FullRune($subslice(d.buf,d.r,d.w))&&$interfaceIsEqual(d.err,$ifaceNil)&&(d.w-d.r>>0)<d.buf.$length)){$s=2;continue;}$r=d.fill();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:d.lastRuneSize=-1;if(d.r===d.w){e=0;f=0;g=d.readErr();a=e;b=f;c=g;$s=-1;return[a,b,c];}h=(((i=d.buf,j=d.r,((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]))>>0));k=1;a=h;b=k;if(a>=128){l=D.DecodeRune($subslice(d.buf,d.r,d.w));a=l[0];b=l[1];}d.r=d.r+(b)>>0;d.lastByte=(((m=d.buf,n=d.r-1>>0,((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]))>>0));d.lastRuneSize=b;o=a;p=b;q=$ifaceNil;a=o;b=p;c=q;$s=-1;return[a,b,c];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.ReadRune};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.ReadRune=function(){return this.$val.ReadRune();};P.ptr.prototype.UnreadRune=function(){var a;a=this;if(a.lastRuneSize<0||a.r<a.lastRuneSize){return $pkg.ErrInvalidUnreadRune;}a.r=a.r-(a.lastRuneSize)>>0;a.lastByte=-1;a.lastRuneSize=-1;return $ifaceNil;};P.prototype.UnreadRune=function(){return this.$val.UnreadRune();};P.ptr.prototype.Buffered=function(){var a;a=this;return a.w-a.r>>0;};P.prototype.Buffered=function(){return this.$val.Buffered();};P.ptr.prototype.ReadSlice=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=Z.nil;c=$ifaceNil;d=this;e=0;case 1:f=A.IndexByte($subslice(d.buf,(d.r+e>>0),d.w),a);if(f>=0){f=f+(e)>>0;b=$subslice(d.buf,d.r,((d.r+f>>0)+1>>0));d.r=d.r+((f+1>>0))>>0;$s=2;continue;}if(!($interfaceIsEqual(d.err,$ifaceNil))){b=$subslice(d.buf,d.r,d.w);d.r=d.w;c=d.readErr();$s=2;continue;}if(d.Buffered()>=d.buf.$length){d.r=d.w;b=d.buf;c=$pkg.ErrBufferFull;$s=2;continue;}e=d.w-d.r>>0;$r=d.fill();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:g=b.$length-1>>0;if(g>=0){d.lastByte=((((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])>>0));d.lastRuneSize=-1;}$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.ReadSlice};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.ReadSlice=function(a){return this.$val.ReadSlice(a);};P.ptr.prototype.ReadLine=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=Z.nil;b=false;c=$ifaceNil;d=this;f=d.ReadSlice(10);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;a=e[0];c=e[1];if($interfaceIsEqual(c,$pkg.ErrBufferFull)){if(a.$length>0&&((g=a.$length-1>>0,((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]))===13)){if(d.r===0){$panic(new $String("bufio: tried to rewind past start of buffer"));}d.r=d.r-(1)>>0;a=$subslice(a,0,(a.$length-1>>0));}h=a;i=true;j=$ifaceNil;a=h;b=i;c=j;$s=-1;return[a,b,c];}if(a.$length===0){if(!($interfaceIsEqual(c,$ifaceNil))){a=Z.nil;}$s=-1;return[a,b,c];}c=$ifaceNil;if((k=a.$length-1>>0,((k<0||k>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+k]))===10){l=1;if(a.$length>1&&((m=a.$length-2>>0,((m<0||m>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+m]))===13)){l=2;}a=$subslice(a,0,(a.$length-l>>0));}$s=-1;return[a,b,c];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.ReadLine};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.ReadLine=function(){return this.$val.ReadLine();};P.ptr.prototype.collectFragments=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=AB.nil;c=Z.nil;d=0;e=$ifaceNil;f=this;g=Z.nil;case 1:h=$ifaceNil;j=f.ReadSlice(a);$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;g=i[0];h=i[1];if($interfaceIsEqual(h,$ifaceNil)){$s=2;continue;}if(!($interfaceIsEqual(h,$pkg.ErrBufferFull))){e=h;$s=2;continue;}k=$makeSlice(Z,g.$length);$copySlice(k,g);b=$append(b,k);d=d+(k.$length)>>0;$s=1;continue;case 2:d=d+(g.$length)>>0;l=b;m=g;n=d;o=e;b=l;c=m;d=n;e=o;$s=-1;return[b,c,d,e];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.collectFragments};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.collectFragments=function(a){return this.$val.collectFragments(a);};P.ptr.prototype.ReadBytes=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=b.collectFragments(a);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];g=c[2];h=c[3];i=$makeSlice(Z,g);g=0;j=e;k=0;while(true){if(!(k<j.$length)){break;}l=k;g=g+($copySlice($subslice(i,g),((l<0||l>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+l])))>>0;k++;}$copySlice($subslice(i,g),f);$s=-1;return[i,h];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.ReadBytes};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.ReadBytes=function(a){return this.$val.ReadBytes(a);};P.ptr.prototype.ReadString=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=b.collectFragments(a);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];g=c[2];h=c[3];i=new E.Builder.ptr(AC.nil,Z.nil);i.Grow(g);j=e;k=0;while(true){if(!(k<j.$length)){break;}l=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);i.Write(l);k++;}i.Write(f);$s=-1;return[i.String(),h];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.ReadString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.ReadString=function(a){return this.$val.ReadString(a);};P.ptr.prototype.WriteTo=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new $Int64(0,0);c=$ifaceNil;d=this;f=d.writeBuf(a);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;b=e[0];c=e[1];if(!($interfaceIsEqual(c,$ifaceNil))){$s=-1;return[b,c];}g=$assertType(d.rd,C.WriterTo,true);h=g[0];i=g[1];if(i){$s=2;continue;}$s=3;continue;case 2:k=h.WriteTo(a);$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];b=(n=l,new $Int64(b.$high+n.$high,b.$low+n.$low));o=b;p=m;b=o;c=p;$s=-1;return[b,c];case 3:q=$assertType(a,C.ReaderFrom,true);r=q[0];s=q[1];if(s){$s=5;continue;}$s=6;continue;case 5:u=r.ReadFrom(d.rd);$s=7;case 7:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=t[0];w=t[1];b=(x=v,new $Int64(b.$high+x.$high,b.$low+x.$low));y=b;z=w;b=y;c=z;$s=-1;return[b,c];case 6:if((d.w-d.r>>0)<d.buf.$length){$s=8;continue;}$s=9;continue;case 8:$r=d.fill();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 9:case 11:if(!(d.r<d.w)){$s=12;continue;}ab=d.writeBuf(a);$s=13;case 13:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;ac=aa[0];ad=aa[1];b=(ae=ac,new $Int64(b.$high+ae.$high,b.$low+ae.$low));if(!($interfaceIsEqual(ad,$ifaceNil))){af=b;ag=ad;b=af;c=ag;$s=-1;return[b,c];}$r=d.fill();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=11;continue;case 12:if($interfaceIsEqual(d.err,C.EOF)){d.err=$ifaceNil;}ah=b;ai=d.readErr();b=ah;c=ai;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.WriteTo};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.WriteTo=function(a){return this.$val.WriteTo(a);};P.ptr.prototype.writeBuf=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=a.Write($subslice(b.buf,b.r,b.w));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(e<0){$panic(T);}b.r=b.r+(e)>>0;$s=-1;return[(new $Int64(0,e)),f];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.writeBuf};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.writeBuf=function(a){return this.$val.writeBuf(a);};AE.methods=[{prop:"Err",name:"Err",pkg:"",typ:$funcType([],[$error],false)},{prop:"Bytes",name:"Bytes",pkg:"",typ:$funcType([],[Z],false)},{prop:"Text",name:"Text",pkg:"",typ:$funcType([],[$String],false)},{prop:"Scan",name:"Scan",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"advance",name:"advance",pkg:"bufio",typ:$funcType([$Int],[$Bool],false)},{prop:"setErr",name:"setErr",pkg:"bufio",typ:$funcType([$error],[],false)},{prop:"Buffer",name:"Buffer",pkg:"",typ:$funcType([Z,$Int],[],false)},{prop:"Split",name:"Split",pkg:"",typ:$funcType([G],[],false)}];AA.methods=[{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([C.Reader],[],false)},{prop:"reset",name:"reset",pkg:"bufio",typ:$funcType([Z,C.Reader],[],false)},{prop:"fill",name:"fill",pkg:"bufio",typ:$funcType([],[],false)},{prop:"readErr",name:"readErr",pkg:"bufio",typ:$funcType([],[$error],false)},{prop:"Peek",name:"Peek",pkg:"",typ:$funcType([$Int],[Z,$error],false)},{prop:"Discard",name:"Discard",pkg:"",typ:$funcType([$Int],[$Int,$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([Z],[$Int,$error],false)},{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"UnreadByte",name:"UnreadByte",pkg:"",typ:$funcType([],[$error],false)},{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)},{prop:"Buffered",name:"Buffered",pkg:"",typ:$funcType([],[$Int],false)},{prop:"ReadSlice",name:"ReadSlice",pkg:"",typ:$funcType([$Uint8],[Z,$error],false)},{prop:"ReadLine",name:"ReadLine",pkg:"",typ:$funcType([],[Z,$Bool,$error],false)},{prop:"collectFragments",name:"collectFragments",pkg:"bufio",typ:$funcType([$Uint8],[AB,Z,$Int,$error],false)},{prop:"ReadBytes",name:"ReadBytes",pkg:"",typ:$funcType([$Uint8],[Z,$error],false)},{prop:"ReadString",name:"ReadString",pkg:"",typ:$funcType([$Uint8],[$String,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([C.Writer],[$Int64,$error],false)},{prop:"writeBuf",name:"writeBuf",pkg:"bufio",typ:$funcType([C.Writer],[$Int64,$error],false)}];F.init("bufio",[{prop:"r",name:"r",embedded:false,exported:false,typ:C.Reader,tag:""},{prop:"split",name:"split",embedded:false,exported:false,typ:G,tag:""},{prop:"maxTokenSize",name:"maxTokenSize",embedded:false,exported:false,typ:$Int,tag:""},{prop:"token",name:"token",embedded:false,exported:false,typ:Z,tag:""},{prop:"buf",name:"buf",embedded:false,exported:false,typ:Z,tag:""},{prop:"start",name:"start",embedded:false,exported:false,typ:$Int,tag:""},{prop:"end",name:"end",embedded:false,exported:false,typ:$Int,tag:""},{prop:"err",name:"err",embedded:false,exported:false,typ:$error,tag:""},{prop:"empties",name:"empties",embedded:false,exported:false,typ:$Int,tag:""},{prop:"scanCalled",name:"scanCalled",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"done",name:"done",embedded:false,exported:false,typ:$Bool,tag:""}]);G.init([Z,$Bool],[$Int,Z,$error],false);P.init("bufio",[{prop:"buf",name:"buf",embedded:false,exported:false,typ:Z,tag:""},{prop:"rd",name:"rd",embedded:false,exported:false,typ:C.Reader,tag:""},{prop:"r",name:"r",embedded:false,exported:false,typ:$Int,tag:""},{prop:"w",name:"w",embedded:false,exported:false,typ:$Int,tag:""},{prop:"err",name:"err",embedded:false,exported:false,typ:$error,tag:""},{prop:"lastByte",name:"lastByte",embedded:false,exported:false,typ:$Int,tag:""},{prop:"lastRuneSize",name:"lastRuneSize",embedded:false,exported:false,typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrTooLong=B.New("bufio.Scanner: token too long");$pkg.ErrNegativeAdvance=B.New("bufio.Scanner: SplitFunc returns negative advance count");$pkg.ErrAdvanceTooFar=B.New("bufio.Scanner: SplitFunc returns advance count beyond input");$pkg.ErrBadReadCount=B.New("bufio.Scanner: Read returned impossible count");$pkg.ErrFinalToken=B.New("final token");$pkg.ErrInvalidUnreadByte=B.New("bufio: invalid use of UnreadByte");$pkg.ErrInvalidUnreadRune=B.New("bufio: invalid use of UnreadRune");$pkg.ErrBufferFull=B.New("bufio: buffer full");$pkg.ErrNegativeCount=B.New("bufio: negative count");S=B.New("bufio: reader returned negative count from Read");T=B.New("bufio: writer returned negative count from Write");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/agext/levenshtein"]=(function(){var $pkg={},$init,A,H,I,J,B,C,D,E;A=$pkg.Params=$newType(0,$kindStruct,"levenshtein.Params",true,"github.com/agext/levenshtein",true,function(insCost_,subCost_,delCost_,maxCost_,minScore_,bonusPrefix_,bonusScale_,bonusThreshold_){this.$val=this;if(arguments.length===0){this.insCost=0;this.subCost=0;this.delCost=0;this.maxCost=0;this.minScore=0;this.bonusPrefix=0;this.bonusScale=0;this.bonusThreshold=0;return;}this.insCost=insCost_;this.subCost=subCost_;this.delCost=delCost_;this.maxCost=maxCost_;this.minScore=minScore_;this.bonusPrefix=bonusPrefix_;this.bonusScale=bonusScale_;this.bonusThreshold=bonusThreshold_;});H=$ptrType(A);I=$sliceType($Int);J=$sliceType($Int32);C=function(){return new A.ptr(1,1,1,0,0,4,0.1,0.7);};$pkg.NewParams=C;A.ptr.prototype.Clone=function(){var a;a=this;if(a===H.nil){return C();}return new A.ptr(a.insCost,a.subCost,a.delCost,a.maxCost,a.minScore,a.bonusPrefix,a.bonusScale,a.bonusThreshold);};A.prototype.Clone=function(){return this.$val.Clone();};A.ptr.prototype.InsCost=function(a){var a,b;b=this;if(a>=0){b.insCost=a;}return b;};A.prototype.InsCost=function(a){return this.$val.InsCost(a);};A.ptr.prototype.SubCost=function(a){var a,b;b=this;if(a>=0){b.subCost=a;}return b;};A.prototype.SubCost=function(a){return this.$val.SubCost(a);};A.ptr.prototype.DelCost=function(a){var a,b;b=this;if(a>=0){b.delCost=a;}return b;};A.prototype.DelCost=function(a){return this.$val.DelCost(a);};A.ptr.prototype.MaxCost=function(a){var a,b;b=this;if(a>=0){b.maxCost=a;}return b;};A.prototype.MaxCost=function(a){return this.$val.MaxCost(a);};A.ptr.prototype.MinScore=function(a){var a,b;b=this;if(a>=0){b.minScore=a;}return b;};A.prototype.MinScore=function(a){return this.$val.MinScore(a);};A.ptr.prototype.BonusPrefix=function(a){var a,b;b=this;if(a>=0){b.bonusPrefix=a;}return b;};A.prototype.BonusPrefix=function(a){return this.$val.BonusPrefix(a);};A.ptr.prototype.BonusScale=function(a){var a,b;b=this;if(a>=0){b.bonusScale=a;}if((b.bonusPrefix)*b.bonusScale>1){b.bonusScale=1/(b.bonusPrefix);}return b;};A.prototype.BonusScale=function(a){return this.$val.BonusScale(a);};A.ptr.prototype.BonusThreshold=function(a){var a,b;b=this;if(a>=0){b.bonusThreshold=a;}return b;};A.prototype.BonusThreshold=function(a){return this.$val.BonusThreshold(a);};D=function(a,b,c,d,e,f){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;g=0;h=0;i=0;j=a.$length;k=b.$length;l=j;m=k;while(true){if(!(h<l&&h<m)){break;}if(!((((h<0||h>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+h])===((h<0||h>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+h])))){break;}h=h+(1)>>0;}n=$subslice(a,h);o=$subslice(b,h);a=n;b=o;l=l-(h)>>0;m=m-(h)>>0;while(true){if(!(0<l&&0<m)){break;}if(!(((p=l-1>>0,((p<0||p>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+p]))===(q=m-1>>0,((q<0||q>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+q]))))){r=$subslice(a,0,l);s=$subslice(b,0,m);a=r;b=s;break;}l=l-(1)>>0;m=m-(1)>>0;i=i+(1)>>0;}if(l===0){g=$imul(m,d);return[g,h,i];}if(m===0){g=$imul(l,f);return[g,h,i];}t=0;u=0;v=0;w=0;x=t;y=u;z=v;aa=w;if(c>0){if(e<(f+d>>0)){if(c>=(($imul(l,e))+($imul(((m-l>>0)),d))>>0)){c=0;}}else{if(c>=(($imul(l,f))+($imul(m,d))>>0)){c=0;}}}if(c>0){if(l<m){ab=b;ac=a;ad=m;ae=l;af=f;ag=d;a=ab;b=ac;l=ad;m=ae;d=af;f=ag;}g=$imul(((l-m>>0)),f);if(g>c){return[g,h,i];}ah=$makeSlice(I,(l+1>>0));ai=0;aj=1;ak=ai;al=aj;am=1;an=f;x=am;y=an;while(true){if(!(x<=l&&y<=c)){break;}((x<0||x>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+x]=y);x=x+(1)>>0;y=$imul(x,f);al=al+(1)>>0;}ao=0;while(true){if(!(ao<m)){break;}ap=((ak<0||ak>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ak]);aq=((ak<0||ak>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ak])+d>>0;y=ap;((ak<0||ak>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ak]=aq);while(true){if(!(ak<l&&((ak<0||ak>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ak])>c&&al>0)){break;}if(!((((ak<0||ak>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ak])===((ao<0||ao>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+ao])))){y=y+(e)>>0;}ak=ak+(1)>>0;al=al-(1)>>0;z=((ak<0||ak>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ak])+d>>0;if(z<y){y=z;}ar=((ak<0||ak>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ak]);as=y;y=ar;((ak<0||ak>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ak]=as);}at=ak;au=(ak+al>>0)-1>>0;x=at;aa=au;while(true){if(!(x<aa)){break;}if(!((((x<0||x>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+x])===((ao<0||ao>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+ao])))){y=y+(e)>>0;}z=((x<0||x>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+x])+f>>0;if(z<y){y=z;}x=x+(1)>>0;z=((x<0||x>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+x])+d>>0;if(z<y){y=z;}av=((x<0||x>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+x]);aw=y;y=av;((x<0||x>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+x]=aw);}if(x<l){if(!((((x<0||x>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+x])===((ao<0||ao>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+ao])))){y=y+(e)>>0;}z=((x<0||x>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+x])+f>>0;if(z<y){y=z;}while(true){if(!(y<=c&&x<l)){break;}x=x+(1)>>0;al=al+(1)>>0;ax=y+f>>0;ay=y;y=ax;((x<0||x>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+x]=ay);}}if(al===0){g=c+1>>0;return[g,h,i];}ao=ao+(1)>>0;}if(((ak+al>>0)-1>>0)<l){g=c+1>>0;return[g,h,i];}g=((l<0||l>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+l]);}else{if(l>m){az=b;ba=a;bb=m;bc=l;bd=f;be=d;a=az;b=ba;l=bb;m=bc;d=bd;f=be;}bf=$makeSlice(I,(l+1>>0));x=1;while(true){if(!(x<=l)){break;}((x<0||x>=bf.$length)?($throwRuntimeError("index out of range"),undefined):bf.$array[bf.$offset+x]=($imul(x,f)));x=x+(1)>>0;}bg=0;while(true){if(!(bg<m)){break;}bh=(0>=bf.$length?($throwRuntimeError("index out of range"),undefined):bf.$array[bf.$offset+0]);bi=(0>=bf.$length?($throwRuntimeError("index out of range"),undefined):bf.$array[bf.$offset+0])+d>>0;y=bh;(0>=bf.$length?($throwRuntimeError("index out of range"),undefined):bf.$array[bf.$offset+0]=bi);x=0;while(true){if(!(x<l)){break;}if(!((((x<0||x>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+x])===((bg<0||bg>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+bg])))){y=y+(e)>>0;}z=((x<0||x>=bf.$length)?($throwRuntimeError("index out of range"),undefined):bf.$array[bf.$offset+x])+f>>0;if(z<y){y=z;}x=x+(1)>>0;z=((x<0||x>=bf.$length)?($throwRuntimeError("index out of range"),undefined):bf.$array[bf.$offset+x])+d>>0;if(z<y){y=z;}bj=((x<0||x>=bf.$length)?($throwRuntimeError("index out of range"),undefined):bf.$array[bf.$offset+x]);bk=y;y=bj;((x<0||x>=bf.$length)?($throwRuntimeError("index out of range"),undefined):bf.$array[bf.$offset+x]=bk);}bg=bg+(1)>>0;}g=((l<0||l>=bf.$length)?($throwRuntimeError("index out of range"),undefined):bf.$array[bf.$offset+l]);}return[g,h,i];};$pkg.Calculate=D;E=function(a,b,c){var a,b,c,d,e;if(c===H.nil){c=B;}d=D((new J($stringToRunes(a))),(new J($stringToRunes(b))),c.maxCost,c.insCost,c.subCost,c.delCost);e=d[0];return e;};$pkg.Distance=E;H.methods=[{prop:"Clone",name:"Clone",pkg:"",typ:$funcType([],[H],false)},{prop:"InsCost",name:"InsCost",pkg:"",typ:$funcType([$Int],[H],false)},{prop:"SubCost",name:"SubCost",pkg:"",typ:$funcType([$Int],[H],false)},{prop:"DelCost",name:"DelCost",pkg:"",typ:$funcType([$Int],[H],false)},{prop:"MaxCost",name:"MaxCost",pkg:"",typ:$funcType([$Int],[H],false)},{prop:"MinScore",name:"MinScore",pkg:"",typ:$funcType([$Float64],[H],false)},{prop:"BonusPrefix",name:"BonusPrefix",pkg:"",typ:$funcType([$Int],[H],false)},{prop:"BonusScale",name:"BonusScale",pkg:"",typ:$funcType([$Float64],[H],false)},{prop:"BonusThreshold",name:"BonusThreshold",pkg:"",typ:$funcType([$Float64],[H],false)}];A.init("github.com/agext/levenshtein",[{prop:"insCost",name:"insCost",embedded:false,exported:false,typ:$Int,tag:""},{prop:"subCost",name:"subCost",embedded:false,exported:false,typ:$Int,tag:""},{prop:"delCost",name:"delCost",embedded:false,exported:false,typ:$Int,tag:""},{prop:"maxCost",name:"maxCost",embedded:false,exported:false,typ:$Int,tag:""},{prop:"minScore",name:"minScore",embedded:false,exported:false,typ:$Float64,tag:""},{prop:"bonusPrefix",name:"bonusPrefix",embedded:false,exported:false,typ:$Int,tag:""},{prop:"bonusScale",name:"bonusScale",embedded:false,exported:false,typ:$Float64,tag:""},{prop:"bonusThreshold",name:"bonusThreshold",embedded:false,exported:false,typ:$Float64,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:B=C();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/apparentlymart/go-textseg/v13/textseg"]=(function(){var $pkg={},$init,D,E,C,B,A,BW,BX,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BT;D=$packages["bufio"];E=$packages["bytes"];C=$packages["errors"];B=$packages["unicode"];A=$packages["unicode/utf8"];BW=$sliceType($Uint8);BX=$sliceType($Int16);BR=function(a,b){var a,aa,ab,ac,ad,ae,af,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s;$s=0;s:while(true){switch($s){case 0:if(a.$length===0){$s=-1;return[0,BW.nil,$ifaceNil];}c=0;d=0;e=a.$length;f=0;g=0;h=0;i=e;$unused(f);$unused(g);$unused(h);$unused(i);j=0;k=0;c=1547;f=0;g=0;h=0;l=0;m=0;n=0;o=0;p=0;if(d===e){$s=1;continue;}$s=2;continue;case 1:$s=3;continue;case 2:if(c===0){$s=4;continue;}$s=5;continue;case 4:$s=6;continue;case 5:case 7:n=((((c<0||c>=BP.$length)?($throwRuntimeError("index out of range"),undefined):BP.$array[BP.$offset+c])>>0));o=((((n<0||n>=BF.$length)?($throwRuntimeError("index out of range"),undefined):BF.$array[BF.$offset+n])>>>0));n=n+(1)>>0;while(true){if(!(o>0)){break;}n=n+(1)>>0;r=(q=n-1>>0,((q<0||q>=BF.$length)?($throwRuntimeError("index out of range"),undefined):BF.$array[BF.$offset+q]));if(r===(4)){f=d;}o=o-(1)>>>0;}p=((((c<0||c>=BG.$length)?($throwRuntimeError("index out of range"),undefined):BG.$array[BG.$offset+c])>>0));m=((((c<0||c>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+c])>>0));l=((((c<0||c>=BI.$length)?($throwRuntimeError("index out of range"),undefined):BI.$array[BI.$offset+c])>>0));if(l>0){$s=8;continue;}$s=9;continue;case 8:s=(p);t=0;u=(((p+l>>0)-1>>0));case 10:if(u<s){$s=11;continue;}t=s+((((u-s>>0))>>1>>0))>>0;if(((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d])<((t<0||t>=BH.$length)?($throwRuntimeError("index out of range"),undefined):BH.$array[BH.$offset+t])){$s=13;continue;}if(((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d])>((t<0||t>=BH.$length)?($throwRuntimeError("index out of range"),undefined):BH.$array[BH.$offset+t])){$s=14;continue;}$s=15;continue;case 13:u=t-1>>0;$s=16;continue;case 14:s=t+1>>0;$s=16;continue;case 15:m=m+(((t-(p)>>0)))>>0;$s=17;continue;case 16:case 12:$s=10;continue;case 11:p=p+(l)>>0;m=m+(l)>>0;case 9:l=((((c<0||c>=BJ.$length)?($throwRuntimeError("index out of range"),undefined):BJ.$array[BJ.$offset+c])>>0));if(l>0){$s=18;continue;}$s=19;continue;case 18:v=(p);w=0;x=(((p+((l<<1>>0))>>0)-2>>0));case 20:if(x<v){$s=21;continue;}w=v+((((((x-v>>0))>>1>>0))&-2))>>0;if(((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d])<((w<0||w>=BH.$length)?($throwRuntimeError("index out of range"),undefined):BH.$array[BH.$offset+w])){$s=23;continue;}if(((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d])>(y=w+1>>0,((y<0||y>=BH.$length)?($throwRuntimeError("index out of range"),undefined):BH.$array[BH.$offset+y]))){$s=24;continue;}$s=25;continue;case 23:x=w-2>>0;$s=26;continue;case 24:v=w+2>>0;$s=26;continue;case 25:m=m+(((((w-(p)>>0))>>1>>0)))>>0;$s=17;continue;case 26:case 22:$s=20;continue;case 21:m=m+(l)>>0;case 19:case 17:m=((((m<0||m>=BL.$length)?($throwRuntimeError("index out of range"),undefined):BL.$array[BL.$offset+m])>>0));case 27:c=((((m<0||m>=BM.$length)?($throwRuntimeError("index out of range"),undefined):BM.$array[BM.$offset+m])>>0));if(((m<0||m>=BN.$length)?($throwRuntimeError("index out of range"),undefined):BN.$array[BN.$offset+m])===0){$s=28;continue;}$s=29;continue;case 28:$s=30;continue;case 29:n=((((m<0||m>=BN.$length)?($throwRuntimeError("index out of range"),undefined):BN.$array[BN.$offset+m])>>0));o=((((n<0||n>=BF.$length)?($throwRuntimeError("index out of range"),undefined):BF.$array[BF.$offset+n])>>>0));n=n+(1)>>0;case 31:if(!(o>0)){$s=32;continue;}n=n+(1)>>0;aa=(z=n-1>>0,((z<0||z>=BF.$length)?($throwRuntimeError("index out of range"),undefined):BF.$array[BF.$offset+z]));if(aa===(0)){$s=34;continue;}if(aa===(1)){$s=35;continue;}if(aa===(5)){$s=36;continue;}if(aa===(6)){$s=37;continue;}if(aa===(7)){$s=38;continue;}if(aa===(8)){$s=39;continue;}if(aa===(9)){$s=40;continue;}if(aa===(10)){$s=41;continue;}if(aa===(11)){$s=42;continue;}if(aa===(12)){$s=43;continue;}if(aa===(13)){$s=44;continue;}if(aa===(14)){$s=45;continue;}if(aa===(15)){$s=46;continue;}if(aa===(16)){$s=47;continue;}if(aa===(17)){$s=48;continue;}if(aa===(18)){$s=49;continue;}if(aa===(19)){$s=50;continue;}if(aa===(20)){$s=51;continue;}if(aa===(21)){$s=52;continue;}if(aa===(22)){$s=53;continue;}$s=54;continue;case 34:j=d;$s=54;continue;case 35:k=d;$s=54;continue;case 36:g=d+1>>0;$s=54;continue;case 37:h=3;$s=54;continue;case 38:h=4;$s=54;continue;case 39:g=d+1>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 40:g=d+1>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 41:g=d;d=d-(1)>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 42:g=d;d=d-(1)>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 43:g=d;d=d-(1)>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 44:g=d;d=d-(1)>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 45:g=d;d=d-(1)>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 46:g=d;d=d-(1)>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 47:d=(g)-1>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 48:d=(g)-1>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 49:d=(g)-1>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 50:d=(g)-1>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 51:d=(g)-1>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 52:d=(g)-1>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 53:ab=h;if(ab===(0)){$s=56;continue;}if(ab===(3)){$s=57;continue;}if(ab===(4)){$s=58;continue;}$s=59;continue;case 56:c=0;$s=30;continue;$s=59;continue;case 57:d=(g)-1>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 58:d=(g)-1>>0;$s=-1;return[k+1>>0,$subslice(a,j,(k+1>>0)),$ifaceNil];case 59:case 55:case 54:case 33:o=o-(1)>>>0;$s=31;continue;case 32:case 30:n=((((c<0||c>=BO.$length)?($throwRuntimeError("index out of range"),undefined):BO.$array[BO.$offset+c])>>0));o=((((n<0||n>=BF.$length)?($throwRuntimeError("index out of range"),undefined):BF.$array[BF.$offset+n])>>>0));n=n+(1)>>0;while(true){if(!(o>0)){break;}n=n+(1)>>0;ad=(ac=n-1>>0,((ac<0||ac>=BF.$length)?($throwRuntimeError("index out of range"),undefined):BF.$array[BF.$offset+ac]));if(ad===(2)){f=0;}else if(ad===(3)){h=0;}o=o-(1)>>>0;}if(c===0){$s=60;continue;}$s=61;continue;case 60:$s=6;continue;case 61:d=d+(1)>>0;if(!((d===e))){$s=62;continue;}$s=63;continue;case 62:$s=7;continue;case 63:case 3:if(d===i){$s=64;continue;}$s=65;continue;case 64:if(((c<0||c>=BQ.$length)?($throwRuntimeError("index out of range"),undefined):BQ.$array[BQ.$offset+c])>0){$s=66;continue;}$s=67;continue;case 66:m=(((((c<0||c>=BQ.$length)?($throwRuntimeError("index out of range"),undefined):BQ.$array[BQ.$offset+c])-1<<16>>16)>>0));$s=27;continue;case 67:case 65:case 6:if(!b){$s=-1;return[0,BW.nil,$ifaceNil];}ae=A.DecodeRune(a);af=ae[1];$s=-1;return[af,$subslice(a,0,af),$ifaceNil];}return;}};$pkg.ScanGraphemeClusters=BR;BT=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=D.NewScanner(E.NewReader(a));c.Split(b);d=0;case 1:e=c.Scan();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(!(e)){$s=2;continue;}d=d+(1)>>0;$s=1;continue;case 2:$s=-1;return[d,c.Err()];}return;}if($f===undefined){$f={$blk:BT};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TokenCount=BT;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=D.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}BF=new BW([0,1,0,1,4,1,10,1,11,1,12,1,13,1,14,1,15,1,16,1,17,1,18,1,19,1,20,1,21,1,22,2,1,8,2,1,9,2,2,3,2,5,1,3,0,1,9,3,5,0,1,3,5,1,6,3,5,1,7]);BG=new BX([0,0,1,3,5,7,10,15,17,20,28,31,33,35,38,68,76,78,82,85,90,95,107,119,127,132,142,145,152,156,164,174,180,188,190,198,201,203,206,208,215,217,225,226,248,252,258,263,265,269,273,275,279,281,284,288,290,297,299,301,305,309,313,315,317,325,329,334,336,338,340,341,343,345,347,349,364,368,370,372,378,382,388,390,392,396,400,402,406,413,418,422,425,426,430,437,445,446,447,449,458,460,462,464,466,500,504,506,510,514,517,521,526,529,531,537,550,552,555,557,561,565,567,569,571,577,580,585,591,594,596,600,604,611,614,620,622,627,629,631,634,638,641,642,644,650,656,662,664,668,672,677,682,692,694,696,698,699,701,702,708,710,712,712,714,721,723,725,727,730,735,737,740,748,751,753,755,758,788,796,798,802,805,810,815,827,839,847,852,862,865,872,876,884,894,900,908,910,918,921,923,926,928,935,937,945,946,968,972,978,983,985,989,993,995,999,1001,1004,1008,1010,1017,1019,1021,1025,1029,1033,1035,1037,1045,1049,1054,1056,1058,1082,1085,1086,1088,1090,1094,1097,1098,1103,1104,1107,1110,1116,1118,1122,1122,1136,1145,1150,1152,1156,1158,1160,1161,1163,1166,1169,1171,1173,1188,1192,1194,1196,1202,1206,1212,1214,1216,1220,1224,1226,1230,1237,1242,1246,1249,1250,1254,1261,1269,1270,1271,1273,1282,1284,1286,1288,1290,1324,1328,1330,1334,1338,1341,1345,1350,1353,1355,1361,1374,1376,1379,1381,1385,1389,1391,1393,1395,1401,1404,1409,1415,1418,1420,1424,1428,1435,1438,1444,1446,1451,1453,1455,1458,1462,1465,1466,1468,1474,1480,1486,1488,1492,1496,1501,1506,1516,1518,1520,1522,1562,1564,1567,1571,1576,1578,1586,1588,1590,1592,1594,1596,1598,1600,1604,1608,1612,1616,1617,1623,1625,1627,1629,1636,1637,1639,1644,1646,1648,1650,1653,1658,1660,1663,1671,1674,1676,1678,1681,1711,1719,1721,1725,1728,1733,1738,1750,1762,1770,1775,1785,1788,1795,1799,1807,1817,1823,1831,1833,1841,1844,1846,1849,1851,1858,1860,1868,1869,1891,1895,1901,1906,1908,1912,1916,1918,1922,1924,1927,1931,1933,1940,1942,1944,1948,1952,1956,1958,1960,1968,1972,1977,1979,1981,1983,1984,1986,1988,1990,1992,2007,2011,2013,2015,2021,2025,2031,2033,2035,2039,2043,2045,2049,2056,2061,2065,2068,2069,2073,2080,2088,2089,2090,2092,2101,2103,2105,2107,2109,2143,2147,2149,2153,2157,2160,2164,2169,2172,2174,2180,2193,2195,2198,2200,2204,2208,2210,2212,2214,2220,2223,2228,2234,2237,2239,2243,2247,2254,2257,2263,2265,2270,2272,2274,2277,2281,2284,2285,2287,2293,2299,2305,2307,2311,2315,2320,2325,2335,2337,2339,2341,2342,2344,2345,2351,2353,2355,2355,2357,2363,2365,2367,2369,2372,2377,2379,2382,2390,2393,2395,2397,2400,2430,2438,2440,2444,2447,2452,2457,2469,2481,2489,2494,2504,2507,2514,2518,2526,2536,2542,2550,2552,2560,2563,2565,2568,2570,2577,2579,2587,2588,2610,2614,2620,2625,2627,2631,2635,2637,2641,2643,2646,2650,2652,2659,2661,2663,2667,2671,2675,2677,2679,2687,2691,2696,2698,2700,2724,2727,2728,2730,2732,2736,2739,2740,2745,2746,2749,2752,2758,2760,2764,2764,2778,2787,2792,2794,2798,2800,2802,2803,2805,2808,2811,2813,2815,2830,2834,2836,2838,2844,2848,2854,2856,2858,2862,2866,2868,2872,2879,2884,2888,2891,2892,2896,2903,2911,2912,2913,2915,2924,2926,2928,2930,2932,2966,2970,2972,2976,2980,2983,2987,2992,2995,2997,3003,3016,3018,3021,3023,3027,3031,3033,3035,3037,3043,3046,3051,3057,3060,3062,3066,3070,3077,3080,3086,3088,3093,3095,3097,3100,3104,3107,3108,3110,3116,3122,3128,3130,3134,3138,3143,3148,3158,3160,3162,3164,3204,3206,3209,3213,3218,3220,3228,3230,3232,3234,3236,3238,3240,3242,3246,3250,3254,3258,3259,3265,3267,3269,3271,3278,3279,3281,3287,3290,3293,3297,3300,3303,3310,3312,3337,3339,3364,3366,3368,3392,3394,3396,3397,3399,3401,3403,3409,3411,3443,3447,3452,3476,3478,3480,3482,3484,3487,3489,3491,3495,3495,3551,3607,3638,3643,3647,3669,3678,3683,3687,3697,3704,3707,3718,3721,3728,3734,3738,3744,3760,3775,3784,3790,3800,3804,3808,3812,3816,3818,3838,3844,3849,3851,3853,3856,3858,3860,3864,3920,3976,4009,4014,4022,4026,4028,4033,4040,4050,4053,4056,4062,4065,4068,4071,4077,4080,4083,4087,4090,4094,4097,4101,4143,4150,4158,4167,4171,4178,4180,4182,4192,4196,4200,4204,4208,4212,4216,4220,4226,4236,4244,4249,4252,4254,4257,4262,4264,4267,4270,4274,4277,4280,4287,4289,4291,4293,4295,4298,4303,4305,4308,4316,4319,4321,4323,4326,4356,4364,4366,4370,4373,4378,4383,4395,4407,4415,4420,4430,4433,4440,4444,4452,4462,4468,4476,4478,4486,4489,4491,4494,4496,4503,4505,4513,4514,4536,4540,4546,4551,4553,4557,4561,4563,4567,4569,4572,4576,4578,4585,4587,4589,4593,4597,4601,4603,4605,4613,4617,4622,4624,4626,4650,4653,4654,4656,4658,4662,4665,4666,4671,4672,4675,4678,4684,4686,4690,4690,4704,4713,4718,4720,4724,4726,4728,4729,4731,4734,4737,4739,4741,4756,4760,4762,4764,4770,4774,4780,4782,4784,4788,4792,4794,4798,4805,4810,4814,4817,4818,4822,4829,4837,4838,4839,4841,4850,4852,4854,4856,4858,4892,4896,4898,4902,4906,4909,4913,4918,4921,4923,4929,4942,4944,4947,4949,4953,4957,4959,4961,4963,4969,4972,4977,4983,4986,4988,4992,4996,5003,5006,5012,5014,5019,5021,5023,5026,5030,5033,5034,5036,5042,5048,5054,5056,5060,5064,5069,5074,5084,5086,5088,5090,5130,5132,5135,5139,5144,5146,5154,5156,5158,5160,5162,5164,5166,5168,5172,5176,5180,5184,5185,5191,5193,5195,5197,5204,5205,5207,5232,5234,5259,5261,5263,5287,5289,5291,5292,5294,5296,5298,5304,5306,5338,5342,5347,5371,5373,5375,5377,5379,5382,5384,5386,5390,5390,5446,5502,5533,5538,5541,5563,5576,5578,5580,5582,5585,5590,5592,5595,5603,5606,5608,5610,5613,5643,5651,5653,5657,5660,5665,5670,5682,5694,5702,5707,5717,5720,5727,5731,5739,5749,5755,5763,5765,5773,5776,5778,5781,5783,5790,5792,5800,5801,5823,5827,5833,5838,5840,5844,5848,5850,5854,5856,5859,5863,5865,5872,5874,5876,5880,5884,5888,5890,5892,5900,5904,5909,5911,5913,5915,5916,5918,5920,5922,5924,5939,5943,5945,5947,5953,5957,5963,5965,5967,5971,5975,5977,5981,5988,5993,5997,6000,6001,6005,6012,6020,6021,6022,6024,6033,6035,6037,6039,6041,6075,6079,6081,6085,6089,6092,6096,6101,6104,6106,6112,6125,6127,6130,6132,6136,6140,6142,6144,6146,6152,6155,6160,6166,6169,6171,6175,6179,6186,6189,6195,6197,6202,6204,6206,6209,6213,6216,6217,6219,6225,6231,6237,6239,6243,6247,6252,6257,6267,6269,6271,6273,6274,6276,6277,6283,6285,6287,6287,6294,6298,6308,6315,6318,6329,6332,6339,6345,6349,6355,6371,6386,6395,6401,6411,6415,6419,6423,6427,6429,6449,6455,6460,6462,6464,6467,6469,6471,6475,6531,6587,6620,6625,6633,6637,6640,6647,6654,6664,6667,6670,6676,6679,6682,6685,6691,6694,6697,6703,6706,6712,6715,6721,6763,6770,6778,6787,6791,6793,6795,6797,6800,6805,6807,6810,6818,6821,6823,6825,6828,6858,6866,6868,6872,6875,6880,6885,6897,6909,6917,6922,6932,6935,6942,6946,6954,6964,6970,6978,6980,6988,6991,6993,6996,6998,7005,7007,7015,7016,7038,7042,7048,7053,7055,7059,7063,7065,7069,7071,7074,7078,7080,7087,7089,7091,7095,7099,7103,7105,7107,7115,7119,7124,7126,7128,7152,7155,7156,7158,7160,7164,7167,7168,7173,7174,7177,7180,7186,7188,7192,7192,7206,7215,7220,7222,7226,7228,7230,7231,7233,7236,7239,7241,7243,7258,7262,7264,7266,7272,7276,7282,7284,7286,7290,7294,7296,7300,7307,7312,7316,7319,7320,7324,7331,7339,7340,7341,7343,7352,7354,7356,7358,7360,7394,7398,7400,7404,7408,7411,7415,7420,7423,7425,7431,7444,7446,7449,7451,7455,7459,7461,7463,7465,7471,7474,7479,7485,7488,7490,7494,7498,7505,7508,7514,7516,7521,7523,7525,7528,7532,7535,7536,7538,7544,7550,7556,7558,7562,7566,7571,7576,7586,7588,7590,7592,7632,7634,7637,7641,7646,7648,7656,7658,7660,7662,7664,7666,7668,7670,7674,7678,7682,7686,7687,7693,7695,7697,7699,7706,7707,7709,7716,7718,7720,7730,7734,7738,7742,7746,7750,7754,7758,7764,7774,7782,7787,7790,7792,7795,7804,7808,7810,7812,7816,7816,7846,7866,7886,7907,7930,7950,7970,7991,8014,8035,8056,8077,8097,8120,8140,8161,8182,8203,8224,8244,8264,8284]);BH=new BW([10,128,255,176,255,131,137,191,145,189,135,129,130,132,133,144,154,176,139,159,150,156,159,164,167,168,170,173,145,176,255,139,255,166,176,189,171,179,160,161,163,164,165,167,169,171,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,166,170,172,178,150,153,155,163,165,167,169,173,153,155,147,161,163,255,189,132,185,144,152,161,164,255,188,129,131,190,255,133,134,137,138,142,150,152,161,164,189,191,255,131,134,137,138,142,144,146,175,178,180,182,255,134,138,142,161,164,185,192,255,188,129,131,190,191,128,132,135,136,139,141,149,151,162,163,130,190,191,151,128,130,134,136,138,141,128,132,190,255,133,137,142,148,151,161,164,255,128,132,134,136,138,141,149,150,162,163,128,131,187,188,190,255,133,137,142,150,152,161,164,255,129,131,138,150,143,148,152,159,178,179,177,179,186,135,142,177,179,188,136,141,181,183,185,152,153,190,191,177,191,128,132,134,135,141,151,153,188,134,128,129,130,141,156,157,158,159,160,162,164,168,169,170,171,172,173,174,175,176,179,183,173,183,185,190,150,153,158,160,177,180,130,141,157,132,134,157,159,146,148,178,180,146,147,178,179,180,255,148,156,158,255,139,141,169,133,134,160,171,176,187,151,155,160,162,191,149,158,165,188,176,255,129,255,128,132,180,255,133,170,180,255,128,130,161,173,166,179,164,183,173,180,144,146,148,168,183,185,128,185,187,191,128,131,179,181,183,140,141,144,176,175,177,191,160,191,128,130,170,175,153,154,153,154,155,160,162,163,164,165,166,167,168,169,170,171,175,175,178,180,189,158,159,176,177,130,134,139,172,163,167,128,129,180,255,134,159,178,190,192,255,166,173,135,147,128,131,179,255,129,164,166,255,169,182,131,188,140,141,176,178,180,183,184,190,191,129,171,175,181,182,163,170,172,173,172,184,190,158,128,143,160,175,144,145,150,155,157,158,159,135,139,141,168,171,180,186,189,189,160,182,186,191,129,131,133,134,140,143,184,186,165,166,164,167,171,172,134,144,128,129,130,132,133,134,135,136,139,140,141,144,145,146,147,150,151,152,153,154,156,160,164,165,167,168,169,170,176,178,180,181,182,187,128,130,184,255,135,190,131,175,187,255,128,130,167,180,179,133,134,128,130,179,255,141,129,136,144,255,190,172,183,159,170,128,131,187,188,190,191,151,128,132,135,136,139,141,162,163,166,172,176,180,181,191,158,128,134,132,255,175,181,184,255,129,155,158,255,171,183,157,171,172,186,176,181,183,184,187,190,128,130,131,164,145,151,154,160,129,138,179,185,187,190,135,145,155,138,153,175,182,184,191,146,167,169,182,186,177,182,188,189,191,255,134,136,255,138,142,144,145,147,151,179,182,171,172,189,190,191,176,180,176,182,143,145,255,136,142,147,255,164,176,177,178,157,158,133,134,137,168,169,170,165,169,173,178,187,255,131,132,140,169,174,255,130,132,128,182,187,255,173,180,182,255,132,155,159,161,175,128,132,139,163,165,128,134,136,152,155,161,163,164,166,170,172,175,144,150,132,138,143,187,191,160,128,129,132,135,133,134,160,255,192,255,128,191,169,173,174,128,159,160,191,0,127,176,255,131,137,191,145,189,135,129,130,132,133,144,154,176,139,159,150,156,159,164,167,168,170,173,145,176,255,139,255,166,176,189,171,179,160,161,163,164,165,167,169,171,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,166,170,172,178,150,153,155,163,165,167,169,173,153,155,147,161,163,255,189,132,185,144,152,161,164,255,188,129,131,190,255,133,134,137,138,142,150,152,161,164,189,191,255,131,134,137,138,142,144,146,175,178,180,182,255,134,138,142,161,164,185,192,255,188,129,131,190,191,128,132,135,136,139,141,149,151,162,163,130,190,191,151,128,130,134,136,138,141,128,132,190,255,133,137,142,148,151,161,164,255,128,132,134,136,138,141,149,150,162,163,128,131,187,188,190,255,133,137,142,150,152,161,164,255,129,131,138,150,143,148,152,159,178,179,177,179,186,135,142,177,179,188,136,141,181,183,185,152,153,190,191,177,191,128,132,134,135,141,151,153,188,134,128,129,130,141,156,157,158,159,160,162,164,168,169,170,171,172,173,174,175,176,179,183,173,183,185,190,150,153,158,160,177,180,130,141,157,132,134,157,159,146,148,178,180,146,147,178,179,180,255,148,156,158,255,139,141,169,133,134,160,171,176,187,151,155,160,162,191,149,158,165,188,176,255,129,255,128,132,180,255,133,170,180,255,128,130,161,173,166,179,164,183,173,180,144,146,148,168,183,185,128,185,187,191,128,131,179,181,183,140,141,169,174,128,129,131,132,134,140,142,143,147,150,151,152,153,154,155,156,157,158,164,172,173,179,181,183,140,141,188,137,144,176,162,185,148,153,169,170,168,154,155,136,143,169,179,184,186,130,182,170,171,128,187,190,128,133,135,146,148,191,128,191,128,133,144,255,147,149,134,135,151,156,158,160,162,167,169,178,181,255,132,135,140,142,151,147,149,163,167,161,176,191,149,151,180,181,133,135,155,156,144,149,175,177,191,160,191,128,130,138,189,170,176,153,154,151,153,153,154,155,160,162,163,164,165,166,167,168,169,170,171,175,175,178,180,189,158,159,176,177,130,134,139,172,163,167,128,129,180,255,134,159,178,190,192,255,166,173,135,147,128,131,179,255,129,164,166,255,169,182,131,188,140,141,176,178,180,183,184,190,191,129,171,175,181,182,163,170,172,173,172,184,190,158,128,143,160,175,144,145,150,155,157,158,159,135,139,141,168,171,180,186,189,189,160,182,186,191,129,131,133,134,140,143,184,186,165,166,164,167,171,172,134,144,128,129,130,132,133,134,135,136,139,140,141,144,145,146,147,150,151,152,153,154,156,160,164,165,167,168,169,170,176,178,180,181,182,187,128,130,184,255,135,190,131,175,187,255,128,130,167,180,179,133,134,128,130,179,255,141,129,136,144,255,190,172,183,159,170,128,131,187,188,190,191,151,128,132,135,136,139,141,162,163,166,172,176,180,181,191,158,128,134,132,255,175,181,184,255,129,155,158,255,171,183,157,171,172,186,176,181,183,184,187,190,128,130,131,164,145,151,154,160,129,138,179,185,187,190,135,145,155,138,153,175,182,184,191,146,167,169,182,186,177,182,188,189,191,255,134,136,255,138,142,144,145,147,151,179,182,171,172,189,190,191,176,180,176,182,143,145,255,136,142,147,255,164,176,177,178,157,158,133,134,137,168,169,170,165,169,173,178,187,255,131,132,140,169,174,255,130,132,128,182,187,255,173,180,182,255,132,155,159,161,175,128,132,139,163,165,128,134,136,152,155,161,163,164,166,170,172,175,144,150,132,138,128,131,132,133,134,135,136,137,139,140,141,142,143,144,145,148,149,151,152,153,157,159,160,161,162,163,164,165,168,169,176,191,129,150,154,155,166,171,177,190,192,255,175,141,143,172,177,190,191,142,145,154,173,255,166,255,154,175,129,143,178,186,188,191,137,255,190,255,134,255,144,255,180,191,149,191,140,143,136,143,154,159,136,143,174,255,140,186,188,191,128,133,135,191,160,128,129,132,135,133,134,160,255,128,130,170,175,144,145,150,155,157,158,159,143,187,191,156,128,133,134,191,128,255,176,255,131,137,191,145,189,135,129,130,132,133,144,154,176,139,159,150,156,159,164,167,168,170,173,145,176,255,139,255,166,176,189,171,179,160,161,163,164,165,167,169,171,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,166,170,172,178,150,153,155,163,165,167,169,173,153,155,147,161,163,255,189,132,185,144,152,161,164,255,188,129,131,190,255,133,134,137,138,142,150,152,161,164,189,191,255,131,134,137,138,142,144,146,175,178,180,182,255,134,138,142,161,164,185,192,255,188,129,131,190,191,128,132,135,136,139,141,149,151,162,163,130,190,191,151,128,130,134,136,138,141,128,132,190,255,133,137,142,148,151,161,164,255,128,132,134,136,138,141,149,150,162,163,128,131,187,188,190,255,133,137,142,150,152,161,164,255,129,131,138,150,143,148,152,159,178,179,177,179,186,135,142,177,179,188,136,141,181,183,185,152,153,190,191,177,191,128,132,134,135,141,151,153,188,134,128,129,130,141,156,157,158,159,160,162,164,168,169,170,171,172,173,174,175,176,179,183,173,183,185,190,150,153,158,160,177,180,130,141,157,132,134,157,159,146,148,178,180,146,147,178,179,180,255,148,156,158,255,139,141,169,133,134,160,171,176,187,151,155,160,162,191,149,158,165,188,176,255,129,255,128,132,180,255,133,170,180,255,128,130,161,173,166,179,164,183,173,180,144,146,148,168,183,185,128,185,187,191,128,131,179,181,183,140,141,144,176,175,177,191,160,191,128,130,170,175,153,154,153,154,155,160,162,163,164,165,166,167,168,169,170,171,175,175,178,180,189,158,159,176,177,130,134,139,172,163,167,128,129,180,255,134,159,178,190,192,255,166,173,135,147,128,131,179,255,129,164,166,255,169,182,131,188,140,141,176,178,180,183,184,190,191,129,171,175,181,182,163,170,172,173,172,184,190,158,128,143,160,175,144,145,150,155,157,158,159,135,139,141,168,171,180,186,189,189,160,182,186,191,129,131,133,134,140,143,184,186,165,166,164,167,171,172,134,144,128,129,130,132,133,134,135,136,139,140,141,144,145,146,147,150,151,152,153,154,156,160,164,165,167,168,169,170,176,178,180,181,182,187,128,130,184,255,135,190,131,175,187,255,128,130,167,180,179,133,134,128,130,179,255,141,129,136,144,255,190,172,183,159,170,128,131,187,188,190,191,151,128,132,135,136,139,141,162,163,166,172,176,180,181,191,158,128,134,132,255,175,181,184,255,129,155,158,255,171,183,157,171,172,186,176,181,183,184,187,190,128,130,131,164,145,151,154,160,129,138,179,185,187,190,135,145,155,138,153,175,182,184,191,146,167,169,182,186,177,182,188,189,191,255,134,136,255,138,142,144,145,147,151,179,182,171,172,189,190,191,176,180,176,182,143,145,255,136,142,147,255,164,176,177,178,157,158,133,134,137,168,169,170,165,169,173,178,187,255,131,132,140,169,174,255,130,132,128,182,187,255,173,180,182,255,132,155,159,161,175,128,132,139,163,165,128,134,136,152,155,161,163,164,166,170,172,175,144,150,132,138,143,187,191,160,128,129,132,135,133,134,160,255,192,255,128,191,169,174,160,172,175,191,128,255,176,255,131,137,191,145,189,135,129,130,132,133,144,154,176,139,159,150,156,159,164,167,168,170,173,145,176,255,139,255,166,176,189,171,179,160,161,163,164,165,167,169,171,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,166,170,172,178,150,153,155,163,165,167,169,173,153,155,147,161,163,255,189,132,185,144,152,161,164,255,188,129,131,190,255,133,134,137,138,142,150,152,161,164,189,191,255,131,134,137,138,142,144,146,175,178,180,182,255,134,138,142,161,164,185,192,255,188,129,131,190,191,128,132,135,136,139,141,149,151,162,163,130,190,191,151,128,130,134,136,138,141,128,132,190,255,133,137,142,148,151,161,164,255,128,132,134,136,138,141,149,150,162,163,128,131,187,188,190,255,133,137,142,150,152,161,164,255,129,131,138,150,143,148,152,159,178,179,177,179,186,135,142,177,179,188,136,141,181,183,185,152,153,190,191,177,191,128,132,134,135,141,151,153,188,134,128,129,130,141,156,157,158,159,160,162,164,168,169,170,171,172,173,174,175,176,179,183,173,183,185,190,150,153,158,160,177,180,130,141,157,132,134,157,159,146,148,178,180,146,147,178,179,180,255,148,156,158,255,139,141,169,133,134,160,171,176,187,151,155,160,162,191,149,158,165,188,176,255,129,255,128,132,180,255,133,170,180,255,128,130,161,173,166,179,164,183,173,180,144,146,148,168,183,185,128,185,187,191,128,131,179,181,183,140,141,169,174,128,129,131,132,134,140,142,143,147,150,151,152,153,154,155,156,157,158,164,172,173,179,181,183,140,141,188,137,144,176,162,185,148,153,169,170,168,154,155,136,143,169,179,184,186,130,182,170,171,128,187,190,128,133,135,146,148,191,128,191,128,133,144,255,147,149,134,135,151,156,158,160,162,167,169,178,181,255,132,135,140,142,151,147,149,163,167,161,176,191,149,151,180,181,133,135,155,156,144,149,175,177,191,160,191,128,130,138,189,170,176,153,154,151,153,153,154,155,160,162,163,164,165,166,167,168,169,170,171,175,175,178,180,189,158,159,176,177,130,134,139,172,163,167,128,129,180,255,134,159,178,190,192,255,166,173,135,147,128,131,179,255,129,164,166,255,169,182,131,188,140,141,176,178,180,183,184,190,191,129,171,175,181,182,163,170,172,173,172,184,190,158,128,143,160,175,144,145,150,155,157,158,159,135,139,141,168,171,180,186,189,189,160,182,186,191,129,131,133,134,140,143,184,186,165,166,164,167,171,172,134,144,128,129,130,132,133,134,135,136,139,140,141,144,145,146,147,150,151,152,153,154,156,160,164,165,167,168,169,170,176,178,180,181,182,187,128,130,184,255,135,190,131,175,187,255,128,130,167,180,179,133,134,128,130,179,255,141,129,136,144,255,190,172,183,159,170,128,131,187,188,190,191,151,128,132,135,136,139,141,162,163,166,172,176,180,181,191,158,128,134,132,255,175,181,184,255,129,155,158,255,171,183,157,171,172,186,176,181,183,184,187,190,128,130,131,164,145,151,154,160,129,138,179,185,187,190,135,145,155,138,153,175,182,184,191,146,167,169,182,186,177,182,188,189,191,255,134,136,255,138,142,144,145,147,151,179,182,171,172,189,190,191,176,180,176,182,143,145,255,136,142,147,255,164,176,177,178,157,158,133,134,137,168,169,170,165,169,173,178,187,255,131,132,140,169,174,255,130,132,128,182,187,255,173,180,182,255,132,155,159,161,175,128,132,139,163,165,128,134,136,152,155,161,163,164,166,170,172,175,144,150,132,138,128,131,132,133,134,135,136,137,139,140,141,142,143,144,145,148,149,151,152,153,157,159,160,161,162,163,164,165,168,169,176,191,129,150,154,155,166,171,177,190,192,255,175,141,143,172,177,190,191,142,145,154,173,255,166,255,154,175,129,143,178,186,188,191,137,255,190,255,134,255,144,255,180,191,149,191,140,143,136,143,154,159,136,143,174,255,140,186,188,191,128,133,135,191,160,128,129,132,135,133,134,160,255,128,130,170,175,144,145,150,155,157,158,159,143,187,191,128,133,134,155,157,191,157,128,191,143,128,191,163,181,128,191,162,128,191,142,128,191,132,133,134,135,160,128,191,128,255,128,129,130,132,133,134,141,156,157,158,159,160,162,164,168,169,170,171,172,173,174,175,176,179,183,160,255,128,129,130,133,134,135,141,156,157,158,159,160,162,164,168,169,170,171,172,173,174,175,176,179,183,160,255,168,255,128,129,130,134,135,141,156,157,158,159,160,162,164,168,169,170,171,172,173,174,175,176,179,183,168,255,192,255,159,139,187,158,159,176,255,135,138,139,187,188,255,168,255,153,154,155,160,162,163,164,165,166,167,168,169,170,171,175,177,178,179,180,181,182,184,185,186,187,188,189,191,176,190,192,255,135,147,160,188,128,156,184,129,255,128,129,130,133,134,141,156,157,158,159,160,162,164,168,169,170,171,172,173,174,175,176,179,183,158,159,135,255,148,176,140,168,132,160,188,152,180,144,172,136,164,192,255,129,130,131,132,133,134,136,137,138,139,140,141,143,144,145,146,147,148,150,151,152,153,154,155,157,158,159,160,161,162,164,165,166,167,168,169,171,172,173,174,175,176,178,179,180,181,182,183,185,186,187,188,189,190,128,191,129,130,131,132,133,134,136,137,138,139,140,141,143,144,145,146,147,148,150,151,152,153,154,155,157,158,159,160,161,162,164,165,166,167,168,169,171,172,173,174,175,176,178,179,180,181,182,183,185,186,187,188,189,190,128,191,129,130,131,132,133,134,136,137,138,139,140,141,143,144,145,146,147,148,150,151,152,153,154,155,157,158,159,128,156,160,255,136,164,175,176,255,128,141,143,191,128,129,132,134,140,142,143,147,150,151,152,153,154,155,156,157,158,164,172,173,130,191,188,128,138,140,141,144,167,175,191,137,128,159,176,191,162,185,128,191,128,147,148,153,154,168,169,170,171,191,168,128,153,154,155,156,191,136,128,191,143,128,168,169,179,180,183,184,186,187,191,130,128,191,182,128,169,170,171,172,191,128,191,129,186,187,190,134,147,128,191,128,133,134,143,144,255,147,149,134,135,151,156,158,160,162,167,169,178,181,191,192,255,132,135,140,142,150,128,146,147,151,152,162,163,167,168,191,161,176,191,128,148,149,151,152,190,128,179,180,181,182,191,128,132,133,135,136,154,155,156,157,191,144,149,128,191,128,138,129,191,176,189,128,191,151,153,128,191,128,191,165,177,178,179,180,181,182,184,185,186,187,188,189,191,128,175,176,190,192,255,128,159,160,188,189,191,128,156,184,129,255,148,176,140,168,132,160,188,152,180,144,172,136,164,192,255,129,130,131,132,133,134,136,137,138,139,140,141,143,144,145,146,147,148,150,151,152,153,154,155,157,158,159,160,161,162,164,165,166,167,168,169,171,172,173,174,175,176,178,179,180,181,182,183,185,186,187,188,189,190,128,191,129,130,131,132,133,134,136,137,138,139,140,141,143,144,145,146,147,148,150,151,152,153,154,155,157,158,159,160,161,162,164,165,166,167,168,169,171,172,173,174,175,176,178,179,180,181,182,183,185,186,187,188,189,190,128,191,129,130,131,132,133,134,136,137,138,139,140,141,143,144,145,146,147,148,150,151,152,153,154,155,157,158,159,128,156,160,191,192,255,136,164,175,176,255,135,138,139,187,188,191,192,255,187,191,128,190,128,190,188,128,175,190,191,145,147,155,157,159,128,191,130,131,135,164,165,168,170,181,128,191,189,128,191,141,128,191,128,129,130,131,132,191,191,128,190,129,128,191,186,128,191,128,131,132,137,138,191,134,128,191,144,128,191,128,175,185,191,178,128,191,128,159,164,191,133,128,191,128,178,187,191,128,131,132,133,134,135,136,137,139,140,141,142,143,144,145,148,149,151,152,153,156,157,158,159,160,161,162,163,164,165,168,169,176,191,129,150,154,171,172,175,177,190,175,128,140,141,143,144,191,128,171,172,177,178,189,190,191,142,128,144,145,154,155,172,173,255,166,191,192,255,144,145,150,155,157,158,159,135,143,166,191,128,154,175,187,129,143,144,177,178,191,128,136,137,255,187,191,192,255,190,191,192,255,128,133,134,255,144,191,192,255,128,179,180,191,128,148,149,191,128,139,140,143,144,191,128,135,136,143,144,153,154,159,160,191,128,135,136,143,144,173,174,255,187,128,139,140,191,134,128,191,128,191,160,128,191,128,129,135,132,134,128,175,157,128,191,143,128,191,163,181,128,191,162,128,191,142,128,191,132,133,134,135,160,128,191,128,255,128,255,176,255,131,137,191,145,189,135,129,130,132,133,144,154,176,139,159,150,156,159,164,167,168,170,173,145,176,255,139,255,166,176,189,171,179,160,161,163,164,165,167,169,171,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,166,170,172,178,150,153,155,163,165,167,169,173,153,155,147,161,163,255,189,132,185,144,152,161,164,255,188,129,131,190,255,133,134,137,138,142,150,152,161,164,189,191,255,131,134,137,138,142,144,146,175,178,180,182,255,134,138,142,161,164,185,192,255,188,129,131,190,191,128,132,135,136,139,141,149,151,162,163,130,190,191,151,128,130,134,136,138,141,128,132,190,255,133,137,142,148,151,161,164,255,128,132,134,136,138,141,149,150,162,163,128,131,187,188,190,255,133,137,142,150,152,161,164,255,129,131,138,150,143,148,152,159,178,179,177,179,186,135,142,177,179,188,136,141,181,183,185,152,153,190,191,177,191,128,132,134,135,141,151,153,188,134,128,129,130,141,156,157,158,159,160,162,164,168,169,170,171,172,173,174,175,176,179,183,173,183,185,190,150,153,158,160,177,180,130,141,157,132,134,157,159,146,148,178,180,146,147,178,179,180,255,148,156,158,255,139,141,169,133,134,160,171,176,187,151,155,160,162,191,149,158,165,188,176,255,129,255,128,132,180,255,133,170,180,255,128,130,161,173,166,179,164,183,173,180,144,146,148,168,183,185,128,185,187,191,128,131,179,181,183,140,141,169,174,128,129,131,132,134,140,142,143,147,150,151,152,153,154,155,156,157,158,164,172,173,179,181,183,140,141,188,137,144,176,162,185,148,153,169,170,168,154,155,136,143,169,179,184,186,130,182,170,171,128,187,190,128,133,135,146,148,191,128,191,128,133,144,255,147,149,134,135,151,156,158,160,162,167,169,178,181,255,132,135,140,142,151,147,149,163,167,161,176,191,149,151,180,181,133,135,155,156,144,149,175,177,191,160,191,128,130,138,189,170,176,153,154,151,153,153,154,155,160,162,163,164,165,166,167,168,169,170,171,175,175,178,180,189,158,159,176,177,130,134,139,172,163,167,128,129,180,255,134,159,178,190,192,255,166,173,135,147,128,131,179,255,129,164,166,255,169,182,131,188,140,141,176,178,180,183,184,190,191,129,171,175,181,182,163,170,172,173,172,184,190,158,128,143,160,175,144,145,150,155,157,158,159,135,139,141,168,171,180,186,189,189,160,182,186,191,129,131,133,134,140,143,184,186,165,166,164,167,171,172,134,144,128,129,130,132,133,134,135,136,139,140,141,144,145,146,147,150,151,152,153,154,156,160,164,165,167,168,169,170,176,178,180,181,182,187,128,130,184,255,135,190,131,175,187,255,128,130,167,180,179,133,134,128,130,179,255,141,129,136,144,255,190,172,183,159,170,128,131,187,188,190,191,151,128,132,135,136,139,141,162,163,166,172,176,180,181,191,158,128,134,132,255,175,181,184,255,129,155,158,255,171,183,157,171,172,186,176,181,183,184,187,190,128,130,131,164,145,151,154,160,129,138,179,185,187,190,135,145,155,138,153,175,182,184,191,146,167,169,182,186,177,182,188,189,191,255,134,136,255,138,142,144,145,147,151,179,182,171,172,189,190,191,176,180,176,182,143,145,255,136,142,147,255,164,176,177,178,157,158,133,134,137,168,169,170,165,169,173,178,187,255,131,132,140,169,174,255,130,132,128,182,187,255,173,180,182,255,132,155,159,161,175,128,132,139,163,165,128,134,136,152,155,161,163,164,166,170,172,175,144,150,132,138,128,131,132,133,134,135,136,137,139,140,141,142,143,144,145,148,149,151,152,153,157,159,160,161,162,163,164,165,168,169,176,191,129,150,154,155,166,171,177,190,192,255,175,141,143,172,177,190,191,142,145,154,173,255,166,255,154,175,129,143,178,186,188,191,137,255,190,255,134,255,144,255,180,191,149,191,140,143,136,143,154,159,136,143,174,255,140,186,188,191,128,133,135,191,160,128,129,132,135,133,134,160,255,128,130,170,175,144,145,150,155,157,158,159,143,187,191,128,129,130,132,133,134,141,156,157,158,159,160,162,164,168,169,170,171,172,173,174,175,176,179,183,160,255,128,129,130,133,134,135,141,156,157,158,159,160,162,164,168,169,170,171,172,173,174,175,176,179,183,160,255,168,255,128,129,130,134,135,141,156,157,158,159,160,162,164,168,169,170,171,172,173,174,175,176,179,183,168,255,192,255,159,139,187,158,159,176,255,135,138,139,187,188,255,168,255,153,154,155,160,162,163,164,165,166,167,168,169,170,171,175,177,178,179,180,181,182,184,185,186,187,188,189,191,176,190,192,255,135,147,160,188,128,156,184,129,255,128,129,130,133,134,141,156,157,158,159,160,162,164,168,169,170,171,172,173,174,175,176,179,183,158,159,135,255,148,176,140,168,132,160,188,152,180,144,172,136,164,192,255,129,130,131,132,133,134,136,137,138,139,140,141,143,144,145,146,147,148,150,151,152,153,154,155,157,158,159,160,161,162,164,165,166,167,168,169,171,172,173,174,175,176,178,179,180,181,182,183,185,186,187,188,189,190,128,191,129,130,131,132,133,134,136,137,138,139,140,141,143,144,145,146,147,148,150,151,152,153,154,155,157,158,159,160,161,162,164,165,166,167,168,169,171,172,173,174,175,176,178,179,180,181,182,183,185,186,187,188,189,190,128,191,129,130,131,132,133,134,136,137,138,139,140,141,143,144,145,146,147,148,150,151,152,153,154,155,157,158,159,128,156,160,255,136,164,175,176,255,142,128,191,128,129,132,134,140,142,143,147,150,151,152,153,154,155,156,157,158,164,172,173,130,191,139,141,188,128,140,142,143,144,167,168,174,175,191,128,255,176,255,131,137,191,145,189,135,129,130,132,133,144,154,176,139,159,150,156,159,164,167,168,170,173,145,176,255,139,255,166,176,189,171,179,160,161,163,164,165,167,169,171,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,166,170,172,178,150,153,155,163,165,167,169,173,153,155,147,161,163,255,189,132,185,144,152,161,164,255,188,129,131,190,255,133,134,137,138,142,150,152,161,164,189,191,255,131,134,137,138,142,144,146,175,178,180,182,255,134,138,142,161,164,185,192,255,188,129,131,190,191,128,132,135,136,139,141,149,151,162,163,130,190,191,151,128,130,134,136,138,141,128,132,190,255,133,137,142,148,151,161,164,255,128,132,134,136,138,141,149,150,162,163,128,131,187,188,190,255,133,137,142,150,152,161,164,255,129,131,138,150,143,148,152,159,178,179,177,179,186,135,142,177,179,188,136,141,181,183,185,152,153,190,191,177,191,128,132,134,135,141,151,153,188,134,128,129,130,141,156,157,158,159,160,162,164,168,169,170,171,172,173,174,175,176,179,183,173,183,185,190,150,153,158,160,177,180,130,141,157,132,134,157,159,146,148,178,180,146,147,178,179,180,255,148,156,158,255,139,141,169,133,134,160,171,176,187,151,155,160,162,191,149,158,165,188,176,255,129,255,128,132,180,255,133,170,180,255,128,130,161,173,166,179,164,183,173,180,144,146,148,168,183,185,128,185,187,191,128,131,179,181,183,140,141,144,176,175,177,191,160,191,128,130,170,175,153,154,153,154,155,160,162,163,164,165,166,167,168,169,170,171,175,175,178,180,189,158,159,176,177,130,134,139,172,163,167,128,129,180,255,134,159,178,190,192,255,166,173,135,147,128,131,179,255,129,164,166,255,169,182,131,188,140,141,176,178,180,183,184,190,191,129,171,175,181,182,163,170,172,173,172,184,190,158,128,143,160,175,144,145,150,155,157,158,159,135,139,141,168,171,180,186,189,189,160,182,186,191,129,131,133,134,140,143,184,186,165,166,164,167,171,172,134,144,128,129,130,132,133,134,135,136,139,140,141,144,145,146,147,150,151,152,153,154,156,160,164,165,167,168,169,170,176,178,180,181,182,187,128,130,184,255,135,190,131,175,187,255,128,130,167,180,179,133,134,128,130,179,255,141,129,136,144,255,190,172,183,159,170,128,131,187,188,190,191,151,128,132,135,136,139,141,162,163,166,172,176,180,181,191,158,128,134,132,255,175,181,184,255,129,155,158,255,171,183,157,171,172,186,176,181,183,184,187,190,128,130,131,164,145,151,154,160,129,138,179,185,187,190,135,145,155,138,153,175,182,184,191,146,167,169,182,186,177,182,188,189,191,255,134,136,255,138,142,144,145,147,151,179,182,171,172,189,190,191,176,180,176,182,143,145,255,136,142,147,255,164,176,177,178,157,158,133,134,137,168,169,170,165,169,173,178,187,255,131,132,140,169,174,255,130,132,128,182,187,255,173,180,182,255,132,155,159,161,175,128,132,139,163,165,128,134,136,152,155,161,163,164,166,170,172,175,144,150,132,138,143,187,191,160,128,129,132,135,133,134,160,255,192,255,137,128,159,160,175,176,191,162,185,128,191,128,147,148,153,154,168,169,170,171,191,168,128,153,154,155,156,191,136,128,191,143,128,168,169,179,180,183,184,186,187,191,130,128,191,182,128,169,170,171,172,191,128,191,129,186,187,190,134,147,128,191,128,133,134,143,144,255,147,149,134,135,151,156,158,160,162,167,169,178,181,191,192,255,132,135,140,142,150,128,146,147,151,152,162,163,167,168,191,161,176,191,128,148,149,151,152,190,128,179,180,181,182,191,128,132,133,135,136,154,155,156,157,191,144,149,128,191,128,138,129,191,176,189,128,191,151,153,128,191,128,191,165,177,178,179,180,181,182,184,185,186,187,188,189,191,128,175,176,190,192,255,128,159,160,188,189,191,128,156,184,129,255,148,176,140,168,132,160,188,152,180,144,172,136,164,192,255,129,130,131,132,133,134,136,137,138,139,140,141,143,144,145,146,147,148,150,151,152,153,154,155,157,158,159,160,161,162,164,165,166,167,168,169,171,172,173,174,175,176,178,179,180,181,182,183,185,186,187,188,189,190,128,191,129,130,131,132,133,134,136,137,138,139,140,141,143,144,145,146,147,148,150,151,152,153,154,155,157,158,159,160,161,162,164,165,166,167,168,169,171,172,173,174,175,176,178,179,180,181,182,183,185,186,187,188,189,190,128,191,129,130,131,132,133,134,136,137,138,139,140,141,143,144,145,146,147,148,150,151,152,153,154,155,157,158,159,128,156,160,191,192,255,136,164,175,176,255,135,138,139,187,188,191,192,255,187,191,128,190,191,128,190,188,128,175,176,189,190,191,145,147,155,157,159,128,191,130,131,135,164,165,168,170,181,128,191,189,128,191,141,128,191,128,129,130,131,132,191,191,128,190,129,128,191,186,128,191,128,131,132,137,138,191,134,128,191,144,128,191,128,175,176,184,185,191,178,128,191,128,159,160,163,164,191,133,128,191,128,178,179,186,187,191,128,131,132,133,134,135,136,137,139,140,141,142,143,144,145,148,149,151,152,153,156,157,158,159,160,161,162,163,164,165,168,169,176,191,129,150,154,171,172,175,177,190,175,128,140,141,143,144,191,128,171,172,177,178,189,190,191,142,128,144,145,154,155,172,173,255,166,191,192,255,128,255,176,255,131,137,191,145,189,135,129,130,132,133,144,154,176,139,159,150,156,159,164,167,168,170,173,145,176,255,139,255,166,176,189,171,179,160,161,163,164,165,167,169,171,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,166,170,172,178,150,153,155,163,165,167,169,173,153,155,147,161,163,255,189,132,185,144,152,161,164,255,188,129,131,190,255,133,134,137,138,142,150,152,161,164,189,191,255,131,134,137,138,142,144,146,175,178,180,182,255,134,138,142,161,164,185,192,255,188,129,131,190,191,128,132,135,136,139,141,149,151,162,163,130,190,191,151,128,130,134,136,138,141,128,132,190,255,133,137,142,148,151,161,164,255,128,132,134,136,138,141,149,150,162,163,128,131,187,188,190,255,133,137,142,150,152,161,164,255,129,131,138,150,143,148,152,159,178,179,177,179,186,135,142,177,179,188,136,141,181,183,185,152,153,190,191,177,191,128,132,134,135,141,151,153,188,134,128,129,130,141,156,157,158,159,160,162,164,168,169,170,171,172,173,174,175,176,179,183,173,183,185,190,150,153,158,160,177,180,130,141,157,132,134,157,159,146,148,178,180,146,147,178,179,180,255,148,156,158,255,139,141,169,133,134,160,171,176,187,151,155,160,162,191,149,158,165,188,176,255,129,255,128,132,180,255,133,170,180,255,128,130,161,173,166,179,164,183,173,180,144,146,148,168,183,185,128,185,187,191,128,131,179,181,183,140,141,169,174,128,129,131,132,134,140,142,143,147,150,151,152,153,154,155,156,157,158,164,172,173,179,181,183,140,141,188,137,144,176,162,185,148,153,169,170,168,154,155,136,143,169,179,184,186,130,182,170,171,128,187,190,128,133,135,146,148,191,128,191,128,133,144,255,147,149,134,135,151,156,158,160,162,167,169,178,181,255,132,135,140,142,151,147,149,163,167,161,176,191,149,151,180,181,133,135,155,156,144,149,175,177,191,160,191,128,130,138,189,170,176,153,154,151,153,153,154,155,160,162,163,164,165,166,167,168,169,170,171,175,175,178,180,189,158,159,176,177,130,134,139,172,163,167,128,129,180,255,134,159,178,190,192,255,166,173,135,147,128,131,179,255,129,164,166,255,169,182,131,188,140,141,176,178,180,183,184,190,191,129,171,175,181,182,163,170,172,173,172,184,190,158,128,143,160,175,144,145,150,155,157,158,159,135,139,141,168,171,180,186,189,189,160,182,186,191,129,131,133,134,140,143,184,186,165,166,164,167,171,172,134,144,128,129,130,132,133,134,135,136,139,140,141,144,145,146,147,150,151,152,153,154,156,160,164,165,167,168,169,170,176,178,180,181,182,187,128,130,184,255,135,190,131,175,187,255,128,130,167,180,179,133,134,128,130,179,255,141,129,136,144,255,190,172,183,159,170,128,131,187,188,190,191,151,128,132,135,136,139,141,162,163,166,172,176,180,181,191,158,128,134,132,255,175,181,184,255,129,155,158,255,171,183,157,171,172,186,176,181,183,184,187,190,128,130,131,164,145,151,154,160,129,138,179,185,187,190,135,145,155,138,153,175,182,184,191,146,167,169,182,186,177,182,188,189,191,255,134,136,255,138,142,144,145,147,151,179,182,171,172,189,190,191,176,180,176,182,143,145,255,136,142,147,255,164,176,177,178,157,158,133,134,137,168,169,170,165,169,173,178,187,255,131,132,140,169,174,255,130,132,128,182,187,255,173,180,182,255,132,155,159,161,175,128,132,139,163,165,128,134,136,152,155,161,163,164,166,170,172,175,144,150,132,138,128,131,132,133,134,135,136,137,139,140,141,142,143,144,145,148,149,151,152,153,157,159,160,161,162,163,164,165,168,169,176,191,129,150,154,155,166,171,177,190,192,255,175,141,143,172,177,190,191,142,145,154,173,255,166,255,154,175,129,143,178,186,188,191,137,255,190,255,134,255,144,255,180,191,149,191,140,143,136,143,154,159,136,143,174,255,140,186,188,191,128,133,135,191,160,128,129,132,135,133,134,160,255,128,130,170,175,144,145,150,155,157,158,159,143,187,191,144,145,150,155,157,158,159,135,143,166,191,128,154,175,187,129,143,144,177,178,191,128,136,137,255,187,191,192,255,190,191,192,255,128,133,134,255,144,191,192,255,128,179,180,191,128,148,149,191,128,139,140,143,144,191,128,135,136,143,144,153,154,159,160,191,128,135,136,143,144,173,174,255,187,128,139,140,191,134,128,191,128,191,160,128,191,128,130,131,135,191,129,134,136,190,128,159,160,191,0,127,192,255,128,175,176,255,10,13,127,194,216,219,220,224,225,226,227,234,235,236,237,239,240,243,0,31,128,191,192,223,228,238,241,247,248,255,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,239,240,243,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,239,240,243,194,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,239,240,243,194,216,219,220,224,225,226,227,234,235,236,237,239,240,243,32,126,192,223,228,238,241,247,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,239,240,243,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,239,240,243,194,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,239,240,243,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,235,236,237,239,240,243,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,237,239,240,243,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,237,239,240,243,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,237,239,240,243,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,239,240,243,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,235,236,237,239,240,243,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,239,240,243,194,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,239,240,243,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,237,239,240,243,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,237,239,240,243,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,237,239,240,243,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,239,240,243,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,239,240,243,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,239,240,243,194,204,205,210,214,215,216,217,219,220,221,222,223,224,225,226,227,234,239,240,243]);BI=new BW([0,1,0,0,0,1,1,0,1,0,1,0,0,1,26,0,0,0,1,1,1,0,0,2,1,0,1,1,0,2,0,0,2,0,2,1,0,1,0,3,0,0,1,22,0,0,3,0,0,0,0,0,0,1,0,0,3,0,0,0,0,0,0,0,2,0,5,0,0,0,1,0,2,0,0,15,0,0,0,4,0,0,0,0,0,0,0,2,1,1,0,3,1,0,7,8,1,1,0,1,0,0,0,0,34,0,0,0,0,1,0,1,1,0,0,1,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,1,1,0,0,5,0,0,1,0,1,1,0,6,0,0,0,0,0,1,5,0,0,0,0,1,0,1,4,0,0,0,0,3,0,0,0,1,1,0,1,0,1,0,0,1,26,0,0,0,1,1,1,0,0,2,1,0,1,1,0,2,0,0,2,0,2,1,0,1,0,3,0,0,1,22,0,0,3,0,0,0,0,0,0,1,0,0,3,0,0,0,0,0,0,0,2,0,5,2,2,24,3,1,0,2,0,1,1,1,1,1,1,0,0,0,0,2,5,3,0,0,2,0,1,0,3,1,0,2,15,0,0,0,4,0,0,0,0,0,0,0,2,1,1,0,3,1,0,7,8,1,1,0,1,0,0,0,0,34,0,0,0,0,1,0,1,1,0,0,1,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,1,1,0,0,5,0,0,1,0,1,1,0,6,0,0,0,0,0,1,5,0,0,0,0,32,0,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,1,4,0,2,0,7,1,0,1,0,0,0,1,1,0,1,0,1,0,0,1,26,0,0,0,1,1,1,0,0,2,1,0,1,1,0,2,0,0,2,0,2,1,0,1,0,3,0,0,1,22,0,0,3,0,0,0,0,0,0,1,0,0,3,0,0,0,0,0,0,0,2,0,5,0,0,0,1,0,2,0,0,15,0,0,0,4,0,0,0,0,0,0,0,2,1,1,0,3,1,0,7,8,1,1,0,1,0,0,0,0,34,0,0,0,0,1,0,1,1,0,0,1,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,1,1,0,0,5,0,0,1,0,1,1,0,6,0,0,0,0,0,1,5,0,0,0,0,1,0,1,4,0,0,0,0,2,0,0,0,1,1,0,1,0,1,0,0,1,26,0,0,0,1,1,1,0,0,2,1,0,1,1,0,2,0,0,2,0,2,1,0,1,0,3,0,0,1,22,0,0,3,0,0,0,0,0,0,1,0,0,3,0,0,0,0,0,0,0,2,0,5,2,2,24,3,1,0,2,0,1,1,1,1,1,1,0,0,0,0,2,5,3,0,0,2,0,1,0,3,1,0,2,15,0,0,0,4,0,0,0,0,0,0,0,2,1,1,0,3,1,0,7,8,1,1,0,1,0,0,0,0,34,0,0,0,0,1,0,1,1,0,0,1,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,1,1,0,0,5,0,0,1,0,1,1,0,6,0,0,0,0,0,1,5,0,0,0,0,32,0,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,1,4,0,2,0,7,1,0,0,1,1,2,1,1,5,0,25,0,25,0,0,24,0,0,1,0,2,0,0,0,28,0,3,24,2,0,2,2,3,2,2,2,0,54,54,27,1,0,20,1,1,2,0,1,1,1,1,1,2,2,0,2,5,3,0,0,2,2,2,2,0,14,0,3,2,2,3,2,2,2,54,54,27,1,0,2,0,1,5,8,1,1,0,1,1,1,0,1,1,0,1,0,1,0,34,1,0,1,0,7,2,0,4,0,0,0,0,0,0,0,0,0,0,1,1,0,1,3,0,1,1,2,1,1,5,0,0,0,0,1,1,0,1,0,1,0,0,1,26,0,0,0,1,1,1,0,0,2,1,0,1,1,0,2,0,0,2,0,2,1,0,1,0,3,0,0,1,22,0,0,3,0,0,0,0,0,0,1,0,0,3,0,0,0,0,0,0,0,2,0,5,2,2,24,3,1,0,2,0,1,1,1,1,1,1,0,0,0,0,2,5,3,0,0,2,0,1,0,3,1,0,2,15,0,0,0,4,0,0,0,0,0,0,0,2,1,1,0,3,1,0,7,8,1,1,0,1,0,0,0,0,34,0,0,0,0,1,0,1,1,0,0,1,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,1,1,0,0,5,0,0,1,0,1,1,0,6,0,0,0,0,0,1,5,0,0,0,0,32,0,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,1,4,0,2,0,7,1,0,25,0,25,0,0,24,0,0,1,0,2,0,0,0,28,0,3,24,2,0,2,2,3,2,2,2,0,54,54,27,1,1,20,3,0,0,0,1,1,0,1,0,1,0,0,1,26,0,0,0,1,1,1,0,0,2,1,0,1,1,0,2,0,0,2,0,2,1,0,1,0,3,0,0,1,22,0,0,3,0,0,0,0,0,0,1,0,0,3,0,0,0,0,0,0,0,2,0,5,0,0,0,1,0,2,0,0,15,0,0,0,4,0,0,0,0,0,0,0,2,1,1,0,3,1,0,7,8,1,1,0,1,0,0,0,0,34,0,0,0,0,1,0,1,1,0,0,1,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,1,1,0,0,5,0,0,1,0,1,1,0,6,0,0,0,0,0,1,5,0,0,0,0,1,0,1,4,0,0,0,1,2,0,1,1,1,1,1,2,2,0,2,5,3,0,0,2,2,2,2,0,14,0,3,2,2,3,2,2,2,54,54,27,1,0,2,1,1,5,8,1,1,0,1,1,1,0,1,1,0,1,0,1,0,34,1,0,1,0,0,0,0,1,1,0,1,0,1,0,0,1,26,0,0,0,1,1,1,0,0,2,1,0,1,1,0,2,0,0,2,0,2,1,0,1,0,3,0,0,1,22,0,0,3,0,0,0,0,0,0,1,0,0,3,0,0,0,0,0,0,0,2,0,5,2,2,24,3,1,0,2,0,1,1,1,1,1,1,0,0,0,0,2,5,3,0,0,2,0,1,0,3,1,0,2,15,0,0,0,4,0,0,0,0,0,0,0,2,1,1,0,3,1,0,7,8,1,1,0,1,0,0,0,0,34,0,0,0,0,1,0,1,1,0,0,1,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,1,1,0,0,5,0,0,1,0,1,1,0,6,0,0,0,0,0,1,5,0,0,0,0,32,0,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,1,4,0,2,0,7,1,0,7,2,0,4,0,0,0,0,0,0,0,0,0,0,1,1,0,1,5,0,0,0,0,0,18,20,20,21,15,20,20,21,23,21,21,21,20,23,20,21,21,21,21,20,20,20,21]);BJ=new BW([0,0,1,1,1,1,2,1,1,4,1,1,1,1,2,4,1,2,1,2,2,6,6,3,2,5,1,3,2,3,5,3,3,1,3,1,1,1,1,2,1,4,0,0,2,3,1,1,2,2,1,2,1,1,2,1,2,1,1,2,2,2,1,1,3,2,0,1,1,1,0,1,0,1,1,0,2,1,1,1,2,3,1,1,2,2,1,1,3,2,2,0,0,2,0,0,0,0,1,4,1,1,1,1,0,2,1,2,2,1,2,2,1,1,3,6,1,1,1,2,2,1,1,1,3,1,2,3,1,1,2,2,3,1,3,1,0,1,1,1,2,1,0,1,0,3,3,1,2,2,2,0,5,1,1,1,0,1,0,1,1,1,0,1,2,1,1,1,1,2,1,1,4,1,1,1,1,2,4,1,2,1,2,2,6,6,3,2,5,1,3,2,3,5,3,3,1,3,1,1,1,1,2,1,4,0,0,2,3,1,1,2,2,1,2,1,1,2,1,2,1,1,2,2,2,1,1,3,2,0,0,0,0,0,0,1,0,2,1,0,2,0,1,1,3,1,2,0,6,2,1,1,2,0,1,0,1,0,1,1,0,0,2,1,1,1,2,3,1,1,2,2,1,1,3,2,2,0,0,2,0,0,0,0,1,4,1,1,1,1,0,2,1,2,2,1,2,2,1,1,3,6,1,1,1,2,2,1,1,1,3,1,2,3,1,1,2,2,3,1,3,1,0,1,1,1,2,1,0,1,0,3,3,1,2,2,2,0,5,1,1,1,4,1,1,2,2,1,3,1,1,1,1,1,1,1,2,2,2,2,0,1,1,0,1,0,0,1,2,1,1,1,1,2,1,1,4,1,1,1,1,2,4,1,2,1,2,2,6,6,3,2,5,1,3,2,3,5,3,3,1,3,1,1,1,1,2,1,4,0,0,2,3,1,1,2,2,1,2,1,1,2,1,2,1,1,2,2,2,1,1,3,2,0,1,1,1,0,1,0,1,1,0,2,1,1,1,2,3,1,1,2,2,1,1,3,2,2,0,0,2,0,0,0,0,1,4,1,1,1,1,0,2,1,2,2,1,2,2,1,1,3,6,1,1,1,2,2,1,1,1,3,1,2,3,1,1,2,2,3,1,3,1,0,1,1,1,2,1,0,1,0,3,3,1,2,2,2,0,5,1,1,1,0,1,0,1,1,1,0,1,2,1,1,1,1,2,1,1,4,1,1,1,1,2,4,1,2,1,2,2,6,6,3,2,5,1,3,2,3,5,3,3,1,3,1,1,1,1,2,1,4,0,0,2,3,1,1,2,2,1,2,1,1,2,1,2,1,1,2,2,2,1,1,3,2,0,0,0,0,0,0,1,0,2,1,0,2,0,1,1,3,1,2,0,6,2,1,1,2,0,1,0,1,0,1,1,0,0,2,1,1,1,2,3,1,1,2,2,1,1,3,2,2,0,0,2,0,0,0,0,1,4,1,1,1,1,0,2,1,2,2,1,2,2,1,1,3,6,1,1,1,2,2,1,1,1,3,1,2,3,1,1,2,2,3,1,3,1,0,1,1,1,2,1,0,1,0,3,3,1,2,2,2,0,5,1,1,1,4,1,1,2,2,1,3,1,1,1,1,1,1,1,2,2,2,2,0,1,1,0,1,0,0,1,3,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,0,1,0,1,3,1,2,2,1,0,0,1,0,0,0,0,0,1,0,1,1,2,2,2,1,4,2,1,5,3,1,5,1,3,2,1,3,7,5,3,3,5,1,1,1,1,1,3,3,1,0,0,0,0,0,1,1,1,3,2,4,1,1,2,1,1,1,1,3,1,1,1,3,1,1,2,1,2,1,2,4,3,4,4,2,0,0,1,3,2,2,2,2,2,2,2,3,5,4,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,4,1,1,1,1,2,4,1,2,1,2,2,6,6,3,2,5,1,3,2,3,5,3,3,1,3,1,1,1,1,2,1,4,0,0,2,3,1,1,2,2,1,2,1,1,2,1,2,1,1,2,2,2,1,1,3,2,0,0,0,0,0,0,1,0,2,1,0,2,0,1,1,3,1,2,0,6,2,1,1,2,0,1,0,1,0,1,1,0,0,2,1,1,1,2,3,1,1,2,2,1,1,3,2,2,0,0,2,0,0,0,0,1,4,1,1,1,1,0,2,1,2,2,1,2,2,1,1,3,6,1,1,1,2,2,1,1,1,3,1,2,3,1,1,2,2,3,1,3,1,0,1,1,1,2,1,0,1,0,3,3,1,2,2,2,0,5,1,1,1,4,1,1,2,2,1,3,1,1,1,1,1,1,1,2,2,2,2,0,1,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,3,1,2,2,1,0,0,1,0,0,0,0,0,1,0,1,1,2,2,1,1,5,1,1,1,1,2,1,1,4,1,1,1,1,2,4,1,2,1,2,2,6,6,3,2,5,1,3,2,3,5,3,3,1,3,1,1,1,1,2,1,4,0,0,2,3,1,1,2,2,1,2,1,1,2,1,2,1,1,2,2,2,1,1,3,2,0,1,1,1,0,1,0,1,1,0,2,1,1,1,2,3,1,1,2,2,1,1,3,2,2,0,0,2,0,0,0,0,1,4,1,1,1,1,0,2,1,2,2,1,2,2,1,1,3,6,1,1,1,2,2,1,1,1,3,1,2,3,1,1,2,2,3,1,3,1,0,1,1,1,2,1,0,1,0,3,3,1,2,2,2,0,5,1,1,1,0,1,0,1,1,1,0,3,1,5,3,1,5,1,3,2,1,3,7,5,3,3,5,1,1,1,1,1,3,3,1,0,0,0,0,0,1,1,1,3,2,4,1,1,3,1,1,1,1,3,1,1,1,3,1,1,3,1,3,1,3,4,3,4,4,2,1,1,1,1,2,1,1,4,1,1,1,1,2,4,1,2,1,2,2,6,6,3,2,5,1,3,2,3,5,3,3,1,3,1,1,1,1,2,1,4,0,0,2,3,1,1,2,2,1,2,1,1,2,1,2,1,1,2,2,2,1,1,3,2,0,0,0,0,0,0,1,0,2,1,0,2,0,1,1,3,1,2,0,6,2,1,1,2,0,1,0,1,0,1,1,0,0,2,1,1,1,2,3,1,1,2,2,1,1,3,2,2,0,0,2,0,0,0,0,1,4,1,1,1,1,0,2,1,2,2,1,2,2,1,1,3,6,1,1,1,2,2,1,1,1,3,1,2,3,1,1,2,2,3,1,3,1,0,1,1,1,2,1,0,1,0,3,3,1,2,2,2,0,5,1,1,1,4,1,1,2,2,1,3,1,1,1,1,1,1,1,2,2,2,2,0,1,1,0,1,0,0,1,0,0,1,3,2,2,2,2,2,2,2,3,5,4,2,1,1,1,2,2,1,1,2,0,6,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);BK=new BX([0,0,2,4,6,8,11,15,17,20,25,28,30,32,35,64,69,71,74,77,81,85,92,99,105,109,115,118,123,126,132,138,142,148,150,156,159,161,164,166,172,174,179,181,204,207,211,216,218,221,224,226,229,231,234,237,239,245,247,249,252,255,258,260,262,268,271,277,279,281,283,285,287,290,292,294,310,313,315,317,323,326,330,332,334,337,340,342,346,351,355,358,362,364,367,375,384,386,388,390,396,398,400,402,404,439,442,444,447,450,453,456,460,463,465,469,477,479,482,484,487,490,492,494,496,500,503,507,511,514,516,519,522,527,530,534,536,542,544,546,549,552,555,557,559,566,570,574,576,579,582,586,592,598,600,602,604,606,608,610,616,618,620,621,623,629,631,633,635,638,642,644,647,652,655,657,659,662,691,696,698,701,704,708,712,719,726,732,736,742,745,750,753,759,765,769,775,777,783,786,788,791,793,799,801,806,808,831,834,838,843,845,848,851,853,856,858,861,864,866,872,874,876,879,882,885,887,889,895,898,904,907,910,935,939,941,943,946,949,952,954,958,960,963,966,970,972,975,976,985,993,998,1000,1003,1006,1008,1010,1012,1016,1019,1021,1024,1040,1043,1045,1047,1053,1056,1060,1062,1064,1067,1070,1072,1076,1081,1085,1088,1092,1094,1097,1105,1114,1116,1118,1120,1126,1128,1130,1132,1134,1169,1172,1174,1177,1180,1183,1186,1190,1193,1195,1199,1207,1209,1212,1214,1217,1220,1222,1224,1226,1230,1233,1237,1241,1244,1246,1249,1252,1257,1260,1264,1266,1272,1274,1276,1279,1282,1285,1287,1289,1296,1300,1304,1306,1309,1312,1316,1322,1328,1330,1332,1334,1371,1373,1376,1379,1383,1385,1391,1393,1395,1397,1399,1401,1403,1405,1408,1411,1414,1417,1419,1425,1427,1430,1432,1440,1442,1444,1448,1450,1452,1454,1457,1461,1463,1466,1471,1474,1476,1478,1481,1510,1515,1517,1520,1523,1527,1531,1538,1545,1551,1555,1561,1564,1569,1572,1578,1584,1588,1594,1596,1602,1605,1607,1610,1612,1618,1620,1625,1627,1650,1653,1657,1662,1664,1667,1670,1672,1675,1677,1680,1683,1685,1691,1693,1695,1698,1701,1704,1706,1708,1714,1717,1723,1725,1727,1729,1731,1733,1736,1738,1740,1756,1759,1761,1763,1769,1772,1776,1778,1780,1783,1786,1788,1792,1797,1801,1804,1808,1810,1813,1821,1830,1832,1834,1836,1842,1844,1846,1848,1850,1885,1888,1890,1893,1896,1899,1902,1906,1909,1911,1915,1923,1925,1928,1930,1933,1936,1938,1940,1942,1946,1949,1953,1957,1960,1962,1965,1968,1973,1976,1980,1982,1988,1990,1992,1995,1998,2001,2003,2005,2012,2016,2020,2022,2025,2028,2032,2038,2044,2046,2048,2050,2052,2054,2056,2062,2064,2066,2067,2069,2074,2076,2078,2080,2083,2087,2089,2092,2097,2100,2102,2104,2107,2136,2141,2143,2146,2149,2153,2157,2164,2171,2177,2181,2187,2190,2195,2198,2204,2210,2214,2220,2222,2228,2231,2233,2236,2238,2244,2246,2251,2253,2276,2279,2283,2288,2290,2293,2296,2298,2301,2303,2306,2309,2311,2317,2319,2321,2324,2327,2330,2332,2334,2340,2343,2349,2352,2355,2380,2384,2386,2388,2391,2394,2397,2399,2403,2405,2408,2411,2415,2417,2420,2421,2430,2438,2443,2445,2448,2451,2453,2455,2457,2461,2464,2466,2469,2485,2488,2490,2492,2498,2501,2505,2507,2509,2512,2515,2517,2521,2526,2530,2533,2537,2539,2542,2550,2559,2561,2563,2565,2571,2573,2575,2577,2579,2614,2617,2619,2622,2625,2628,2631,2635,2638,2640,2644,2652,2654,2657,2659,2662,2665,2667,2669,2671,2675,2678,2682,2686,2689,2691,2694,2697,2702,2705,2709,2711,2717,2719,2721,2724,2727,2730,2732,2734,2741,2745,2749,2751,2754,2757,2761,2767,2773,2775,2777,2779,2816,2818,2821,2824,2828,2830,2836,2838,2840,2842,2844,2846,2848,2850,2853,2856,2859,2862,2864,2870,2872,2875,2877,2885,2887,2889,2893,2896,2899,2903,2906,2909,2916,2918,2944,2946,2972,2974,2976,3001,3003,3005,3007,3009,3012,3014,3018,3020,3051,3054,3059,3084,3087,3089,3092,3095,3099,3102,3105,3109,3110,3166,3222,3252,3256,3259,3281,3287,3291,3295,3301,3306,3309,3316,3319,3324,3329,3333,3337,3347,3358,3365,3369,3375,3379,3383,3387,3391,3393,3411,3415,3420,3423,3426,3430,3433,3436,3440,3496,3552,3583,3587,3592,3596,3598,3602,3609,3619,3622,3625,3629,3632,3635,3638,3642,3645,3648,3651,3654,3657,3660,3663,3702,3707,3712,3718,3721,3729,3732,3734,3742,3745,3748,3751,3754,3757,3760,3763,3767,3773,3778,3782,3785,3787,3790,3795,3797,3800,3803,3807,3810,3813,3820,3822,3824,3826,3828,3831,3835,3837,3840,3845,3848,3850,3852,3855,3884,3889,3891,3894,3897,3901,3905,3912,3919,3925,3929,3935,3938,3943,3946,3952,3958,3962,3968,3970,3976,3979,3981,3984,3986,3992,3994,3999,4001,4024,4027,4031,4036,4038,4041,4044,4046,4049,4051,4054,4057,4059,4065,4067,4069,4072,4075,4078,4080,4082,4088,4091,4097,4100,4103,4128,4132,4134,4136,4139,4142,4145,4147,4151,4153,4156,4159,4163,4165,4168,4169,4178,4186,4191,4193,4196,4199,4201,4203,4205,4209,4212,4214,4217,4233,4236,4238,4240,4246,4249,4253,4255,4257,4260,4263,4265,4269,4274,4278,4281,4285,4287,4290,4298,4307,4309,4311,4313,4319,4321,4323,4325,4327,4362,4365,4367,4370,4373,4376,4379,4383,4386,4388,4392,4400,4402,4405,4407,4410,4413,4415,4417,4419,4423,4426,4430,4434,4437,4439,4442,4445,4450,4453,4457,4459,4465,4467,4469,4472,4475,4478,4480,4482,4489,4493,4497,4499,4502,4505,4509,4515,4521,4523,4525,4527,4564,4566,4569,4572,4576,4578,4584,4586,4588,4590,4592,4594,4596,4598,4601,4604,4607,4610,4612,4618,4620,4623,4625,4633,4635,4637,4663,4665,4691,4693,4695,4720,4722,4724,4726,4728,4731,4733,4737,4739,4770,4773,4778,4803,4806,4808,4811,4814,4818,4821,4824,4828,4829,4885,4941,4971,4975,4978,5000,5009,5011,5013,5015,5018,5022,5024,5027,5032,5035,5037,5039,5042,5071,5076,5078,5081,5084,5088,5092,5099,5106,5112,5116,5122,5125,5130,5133,5139,5145,5149,5155,5157,5163,5166,5168,5171,5173,5179,5181,5186,5188,5211,5214,5218,5223,5225,5228,5231,5233,5236,5238,5241,5244,5246,5252,5254,5256,5259,5262,5265,5267,5269,5275,5278,5284,5286,5288,5290,5292,5294,5297,5299,5301,5317,5320,5322,5324,5330,5333,5337,5339,5341,5344,5347,5349,5353,5358,5362,5365,5369,5371,5374,5382,5391,5393,5395,5397,5403,5405,5407,5409,5411,5446,5449,5451,5454,5457,5460,5463,5467,5470,5472,5476,5484,5486,5489,5491,5494,5497,5499,5501,5503,5507,5510,5514,5518,5521,5523,5526,5529,5534,5537,5541,5543,5549,5551,5553,5556,5559,5562,5564,5566,5573,5577,5581,5583,5586,5589,5593,5599,5605,5607,5609,5611,5613,5615,5617,5623,5625,5627,5628,5633,5637,5643,5648,5651,5658,5661,5666,5671,5675,5679,5689,5700,5707,5711,5717,5721,5725,5729,5733,5735,5753,5757,5762,5765,5768,5772,5775,5778,5782,5838,5894,5925,5929,5934,5938,5941,5946,5953,5963,5966,5969,5973,5976,5979,5982,5986,5989,5992,5996,5999,6003,6006,6010,6049,6054,6059,6065,6068,6070,6072,6074,6077,6081,6083,6086,6091,6094,6096,6098,6101,6130,6135,6137,6140,6143,6147,6151,6158,6165,6171,6175,6181,6184,6189,6192,6198,6204,6208,6214,6216,6222,6225,6227,6230,6232,6238,6240,6245,6247,6270,6273,6277,6282,6284,6287,6290,6292,6295,6297,6300,6303,6305,6311,6313,6315,6318,6321,6324,6326,6328,6334,6337,6343,6346,6349,6374,6378,6380,6382,6385,6388,6391,6393,6397,6399,6402,6405,6409,6411,6414,6415,6424,6432,6437,6439,6442,6445,6447,6449,6451,6455,6458,6460,6463,6479,6482,6484,6486,6492,6495,6499,6501,6503,6506,6509,6511,6515,6520,6524,6527,6531,6533,6536,6544,6553,6555,6557,6559,6565,6567,6569,6571,6573,6608,6611,6613,6616,6619,6622,6625,6629,6632,6634,6638,6646,6648,6651,6653,6656,6659,6661,6663,6665,6669,6672,6676,6680,6683,6685,6688,6691,6696,6699,6703,6705,6711,6713,6715,6718,6721,6724,6726,6728,6735,6739,6743,6745,6748,6751,6755,6761,6767,6769,6771,6773,6810,6812,6815,6818,6822,6824,6830,6832,6834,6836,6838,6840,6842,6844,6847,6850,6853,6856,6858,6864,6866,6869,6871,6879,6881,6883,6891,6894,6896,6904,6907,6910,6913,6916,6919,6922,6925,6929,6935,6940,6944,6947,6949,6952,6960,6963,6965,6967,6970,6971,6996,7017,7038,7060,7080,7101,7122,7144,7168,7190,7212,7234,7255,7279,7300,7322,7344,7366,7388,7409,7430,7451]);BL=new BX([0,1,3,2,2,3,3,2,3,3,2,3,3,3,2,3,2,3,3,2,3,3,3,3,2,3,3,2,2,3,3,2,3,3,2,4,5,6,7,8,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,9,13,2,3,3,3,3,2,3,2,3,3,2,2,2,3,2,2,2,3,3,3,3,2,2,2,2,2,2,2,3,2,2,2,2,2,2,3,2,2,2,2,2,3,3,3,3,2,3,3,3,3,3,2,3,3,2,3,3,3,3,2,3,3,2,2,2,2,2,2,3,3,3,3,3,3,2,3,3,3,2,2,2,2,2,2,3,3,2,3,3,3,3,3,2,3,3,2,3,2,3,3,2,3,2,3,3,3,3,3,2,3,2,3,3,3,3,2,3,2,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,2,3,3,2,3,3,3,2,3,3,3,3,2,3,2,3,3,2,3,3,2,3,2,2,2,3,3,2,3,3,2,3,3,2,3,2,3,3,3,3,3,2,3,2,2,3,3,3,2,2,2,3,3,3,2,3,2,3,2,3,3,3,3,3,2,3,3,2,54,55,56,57,58,2,3,2,3,2,3,2,3,2,3,2,59,60,2,3,2,3,2,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,2,3,3,2,3,2,3,2,3,3,3,3,3,2,3,3,2,2,2,2,3,3,2,3,2,3,3,2,2,2,3,3,2,3,3,3,2,3,3,3,3,2,3,3,3,2,3,3,2,76,77,62,2,3,2,3,3,2,78,79,80,81,82,83,84,2,85,86,87,88,89,90,91,92,2,3,2,3,2,3,2,3,3,3,3,3,2,3,2,3,2,3,2,3,2,93,94,95,96,97,98,99,100,101,102,103,104,105,45,106,107,108,45,46,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,3,3,2,2,3,2,2,3,3,3,2,3,3,2,3,3,2,2,2,2,3,3,3,2,3,2,3,3,3,2,3,3,3,3,3,3,3,2,3,2,3,3,2,2,3,3,3,2,2,2,3,3,2,3,2,3,2,3,3,3,2,3,3,2,3,3,3,2,3,3,3,2,3,3,2,3,2,3,3,2,3,3,2,3,3,3,3,2,2,2,3,3,3,3,2,3,2,124,125,126,127,128,2,3,2,3,2,3,3,2,2,2,3,3,3,2,129,2,3,2,130,131,132,133,134,135,2,3,3,3,2,2,2,2,3,3,2,3,3,2,2,2,3,3,3,3,2,136,125,137,138,139,2,3,3,3,3,3,2,3,2,3,2,3,2,140,2,3,2,141,2,142,143,144,146,145,2,3,2,2,3,3,3,1,148,147,148,147,3,1,149,148,150,148,148,150,148,148,150,148,148,148,150,148,150,148,148,150,148,148,148,148,150,148,148,150,150,148,148,150,148,148,150,151,152,153,154,155,157,158,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,156,160,150,148,148,148,148,150,148,150,148,148,150,150,150,148,150,150,150,148,148,148,148,150,150,150,150,150,150,150,148,150,150,150,150,150,150,148,150,150,150,150,150,148,148,148,148,150,148,148,148,148,148,150,148,148,150,148,148,148,148,150,148,148,150,150,150,150,150,150,148,148,148,148,148,148,150,148,148,148,150,150,150,150,150,150,148,148,150,148,148,148,148,148,150,148,148,150,148,150,148,148,150,148,150,148,148,148,148,148,150,148,150,148,148,148,148,150,148,150,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,150,148,148,150,148,148,148,150,148,148,148,148,150,148,150,148,148,150,148,148,150,148,150,150,150,148,148,150,148,148,150,148,148,150,148,150,148,148,148,148,148,150,148,150,150,148,148,148,150,150,150,148,148,148,150,148,150,148,150,148,148,148,148,148,150,148,148,150,201,202,203,204,205,150,148,206,150,148,148,150,207,208,202,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,203,204,205,150,148,206,148,150,148,150,148,150,148,148,150,148,148,150,148,148,150,148,150,148,148,148,150,148,150,148,148,150,148,148,150,148,148,148,150,148,149,148,148,150,148,150,150,150,150,150,150,150,150,148,148,148,148,148,148,148,148,150,148,148,148,148,150,148,150,148,148,150,148,148,150,148,150,148,150,148,150,227,228,229,150,148,148,150,148,150,148,148,150,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,150,148,148,150,148,150,148,150,148,148,148,148,148,150,148,148,150,150,150,150,148,148,150,148,150,148,148,150,150,150,148,148,150,148,148,148,150,148,148,148,148,150,148,148,148,150,148,148,150,245,246,231,150,148,150,148,148,150,247,248,249,250,251,252,253,150,254,255,256,257,258,259,260,261,150,148,150,148,150,148,150,148,148,148,148,148,150,148,150,148,150,148,150,148,150,262,263,264,265,266,267,268,269,270,271,272,273,274,192,275,276,277,192,193,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,150,148,148,150,150,148,150,150,148,148,148,150,148,148,150,148,148,150,150,150,150,148,148,148,150,148,150,148,148,148,150,148,148,148,148,148,148,148,150,148,150,148,148,150,150,148,148,148,150,150,150,148,148,150,148,150,148,150,148,148,148,150,148,148,150,148,148,148,150,148,148,148,150,148,148,150,148,150,148,148,150,148,148,150,148,148,148,148,150,150,150,148,148,148,148,150,148,150,293,294,295,296,297,150,148,150,148,150,148,148,150,150,150,148,148,148,150,298,150,148,150,299,300,301,302,303,304,150,148,148,148,150,150,150,150,148,148,150,148,148,150,150,150,148,148,148,148,150,305,294,306,307,308,150,148,148,148,148,148,150,148,150,148,150,148,150,309,310,311,312,313,314,315,316,310,309,310,309,310,218,309,317,318,310,309,319,320,321,322,323,324,310,325,326,309,310,309,317,220,218,218,220,150,149,148,148,148,150,148,148,150,148,148,148,150,150,148,148,148,148,148,148,150,148,150,150,148,148,150,150,148,148,150,148,150,148,150,148,148,150,148,148,150,148,148,150,148,148,150,327,150,328,310,309,329,220,150,148,150,330,228,150,148,150,247,248,249,250,251,252,331,150,332,150,148,150,147,333,3,1,335,334,334,335,335,334,335,335,334,335,335,335,334,335,334,335,335,334,335,335,335,335,334,335,335,334,334,335,335,334,335,335,334,336,337,338,339,340,342,343,344,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,341,345,334,335,335,335,335,334,335,334,335,335,334,334,334,335,334,334,334,335,335,335,335,334,334,334,334,334,334,334,335,334,334,334,334,334,334,335,334,334,334,334,334,335,335,335,335,334,335,335,335,335,335,334,335,335,334,335,335,335,335,334,335,335,334,334,334,334,334,334,335,335,335,335,335,335,334,335,335,335,334,334,334,334,334,334,335,335,334,335,335,335,335,335,334,335,335,334,335,334,335,335,334,335,334,335,335,335,335,335,334,335,334,335,335,335,335,334,335,334,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,334,335,335,334,335,335,335,334,335,335,335,335,334,335,334,335,335,334,335,335,334,335,334,334,334,335,335,334,335,335,334,335,335,334,335,334,335,335,335,335,335,334,335,334,334,335,335,335,334,334,334,335,335,335,334,335,334,335,334,335,335,335,335,335,334,335,335,334,386,387,388,389,390,334,335,334,335,334,335,334,335,334,335,334,391,392,334,335,334,335,334,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,334,335,335,334,335,334,335,334,335,335,335,335,335,334,335,335,334,334,334,334,335,335,334,335,334,335,335,334,334,334,335,335,334,335,335,335,334,335,335,335,335,334,335,335,335,334,335,335,334,408,409,394,334,335,334,335,335,334,410,411,412,413,414,415,416,334,417,418,419,420,421,422,423,424,334,335,334,335,334,335,334,335,335,335,335,335,334,335,334,335,334,335,334,335,334,425,426,427,428,429,430,431,432,433,434,435,436,437,377,438,439,440,377,378,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,334,335,335,334,334,335,334,334,335,335,335,334,335,335,334,335,335,334,334,334,334,335,335,335,334,335,334,335,335,335,334,335,335,335,335,335,335,335,334,335,334,335,335,334,334,335,335,335,334,334,334,335,335,334,335,334,335,334,335,335,335,334,335,335,334,335,335,335,334,335,335,335,334,335,335,334,335,334,335,335,334,335,335,334,335,335,335,335,334,334,334,335,335,335,335,334,335,334,456,457,458,459,460,334,335,334,335,334,335,335,334,334,334,335,335,335,334,461,334,335,334,462,463,464,465,466,467,334,335,335,335,334,334,334,334,335,335,334,335,335,334,334,334,335,335,335,335,334,468,457,469,470,471,334,335,335,335,335,335,334,335,334,335,334,335,334,472,334,335,334,473,334,474,475,476,478,477,334,335,334,334,335,335,335,334,479,479,335,335,334,479,334,334,479,479,334,479,479,334,479,479,479,334,479,334,479,479,334,479,479,479,479,334,479,479,334,334,479,479,334,479,479,334,480,481,482,483,484,486,487,488,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,485,489,334,479,479,479,479,334,479,334,479,479,334,334,334,479,334,334,334,479,479,479,479,334,334,334,334,334,334,334,479,334,334,334,334,334,334,479,334,334,334,334,334,479,479,479,479,334,479,479,479,479,479,334,479,479,334,479,479,479,479,334,479,479,334,334,334,334,334,334,479,479,479,479,479,479,334,479,479,479,334,334,334,334,334,334,479,479,334,479,479,479,479,479,334,479,479,334,479,334,479,479,334,479,334,479,479,479,479,479,334,479,334,479,479,479,479,334,479,334,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,334,479,479,334,479,479,479,334,479,479,479,479,334,479,334,479,479,334,479,479,334,479,334,334,334,479,479,334,479,479,334,479,479,334,479,334,479,479,479,479,479,334,479,334,334,479,479,479,334,334,334,479,479,479,334,479,334,479,334,479,479,479,479,479,334,479,479,334,530,531,532,533,534,334,479,535,334,479,479,334,536,537,531,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,532,533,534,334,479,535,479,334,479,334,479,334,479,479,334,479,479,334,479,479,334,479,334,479,479,479,334,479,334,479,479,334,479,479,334,479,479,479,334,479,334,479,479,334,479,334,334,334,334,334,334,334,334,479,479,479,479,479,479,479,479,334,479,479,479,479,334,479,334,479,479,334,479,479,334,479,334,479,334,479,334,556,557,558,334,479,479,334,479,334,479,479,334,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,334,479,479,334,479,334,479,334,479,479,479,479,479,334,479,479,334,334,334,334,479,479,334,479,334,479,479,334,334,334,479,479,334,479,479,479,334,479,479,479,479,334,479,479,479,334,479,479,334,574,575,560,334,479,334,479,479,334,576,577,578,579,580,581,582,334,583,584,585,586,587,588,589,590,334,479,334,479,334,479,334,479,479,479,479,479,334,479,334,479,334,479,334,479,334,591,592,593,594,595,596,597,598,599,600,601,602,603,521,604,605,606,521,522,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,334,479,479,334,334,479,334,334,479,479,479,334,479,479,334,479,479,334,334,334,334,479,479,479,334,479,334,479,479,479,334,479,479,479,479,479,479,479,334,479,334,479,479,334,334,479,479,479,334,334,334,479,479,334,479,334,479,334,479,479,479,334,479,479,334,479,479,479,334,479,479,479,334,479,479,334,479,334,479,479,334,479,479,334,479,479,479,479,334,334,334,479,479,479,479,334,479,334,622,623,624,625,626,334,479,334,479,334,479,479,334,334,334,479,479,479,334,627,334,479,334,628,629,630,631,632,633,334,479,479,479,334,334,334,334,479,479,334,479,479,334,334,334,479,479,479,479,334,634,623,635,636,637,334,479,479,479,479,479,334,479,334,479,334,479,334,638,639,640,641,642,643,644,645,639,638,639,638,639,547,638,646,647,639,638,648,649,650,651,652,653,639,654,655,638,639,638,646,549,547,547,549,334,334,479,479,479,334,479,479,334,479,479,479,334,334,479,479,479,479,479,479,334,479,334,334,479,479,334,334,479,479,334,479,334,479,334,479,479,334,479,479,334,479,479,334,479,479,334,656,334,657,639,638,658,549,334,479,334,659,557,334,479,334,576,577,578,579,580,581,660,334,661,334,479,334,333,335,335,334,333,335,334,333,335,334,663,664,662,334,333,335,334,333,335,334,665,666,667,668,669,662,334,670,334,508,509,510,665,666,671,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,334,672,670,508,509,510,673,667,668,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,334,672,334,674,672,508,509,510,675,668,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,334,674,334,334,674,676,334,674,334,677,678,334,672,334,334,674,334,672,334,672,559,560,561,562,563,564,565,679,567,568,569,570,571,572,573,681,682,683,684,685,686,681,682,683,684,685,686,681,680,687,334,479,670,334,688,688,688,674,334,508,509,510,673,671,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,334,677,689,334,334,672,688,688,674,688,688,674,688,688,688,674,688,688,674,688,688,674,688,688,334,674,674,683,684,685,686,680,681,683,684,685,686,680,681,683,684,685,686,680,681,683,684,685,686,680,681,683,684,685,686,680,681,683,684,685,686,680,681,683,684,685,686,680,681,683,684,685,686,680,681,683,684,685,686,680,681,682,687,684,685,686,680,681,682,684,685,686,680,681,682,684,685,686,680,681,682,684,685,686,680,681,682,684,685,686,680,681,682,684,685,686,680,681,682,684,685,686,680,681,682,684,685,686,680,681,682,684,685,686,680,681,682,683,687,685,686,680,681,682,683,685,686,680,681,682,683,685,686,680,681,682,683,685,686,680,681,682,683,685,690,689,684,334,687,688,334,672,674,335,335,334,691,692,693,694,695,696,697,698,699,700,701,547,702,549,703,704,705,706,707,708,662,334,479,335,335,335,335,334,479,335,335,334,479,479,335,334,335,479,335,479,335,334,479,335,479,335,334,479,335,334,479,335,479,335,479,335,334,479,335,334,479,335,479,335,334,479,335,335,479,334,335,335,479,334,479,335,479,334,335,335,335,335,335,335,335,335,334,479,479,479,479,479,335,335,479,335,479,335,334,479,479,479,335,479,335,334,335,479,335,334,335,479,335,479,335,334,479,479,335,334,709,710,662,334,479,479,335,334,479,479,335,334,662,334,711,713,714,715,716,717,718,713,714,715,716,717,718,713,662,712,687,334,335,670,335,334,672,672,672,674,334,672,672,674,672,672,674,672,672,672,674,672,672,674,672,672,674,672,672,334,674,715,716,717,718,712,713,715,716,717,718,712,713,715,716,717,718,712,713,715,716,717,718,712,713,715,716,717,718,712,713,715,716,717,718,712,713,715,716,717,718,712,713,715,716,717,718,712,713,715,716,717,718,712,713,714,687,716,717,718,712,713,714,716,717,718,712,713,714,716,717,718,712,713,714,716,717,718,712,713,714,716,717,718,712,713,714,716,717,718,712,713,714,716,717,718,712,713,714,716,717,718,712,713,714,716,717,718,712,713,714,715,687,717,718,712,713,714,715,717,718,712,713,714,715,717,718,712,713,714,715,717,718,712,713,714,715,717,719,720,716,662,334,687,672,335,672,674,335,674,335,334,672,721,722,662,334,335,334,335,335,335,334,724,725,726,727,728,723,334,729,730,731,732,733,734,735,736,662,334,333,335,334,333,335,334,335,333,335,334,333,335,334,333,335,334,333,335,334,335,333,335,334,333,335,334,737,662,334,335,335,334,738,662,334,335,335,334,739,662,334,335,335,334,638,639,740,741,742,743,744,745,639,638,639,638,746,547,638,747,748,639,638,749,662,750,662,751,752,753,754,639,755,756,638,639,638,747,549,547,662,549,334,479,335,479,335,334,335,479,335,479,334,479,335,479,335,479,334,757,334,479,576,577,578,579,580,581,758,334,759,661,334,479,334,335,479,479,335,479,335,479,334,335,479,334,335,334,479,335,334,479,335,479,334,335,334,479,335,479,334,335,479,334,335,479,335,334,335,479,335,479,335,334,335,479,335,479,334,335,335,479,334,335,479,334,723,334,760,723,334,390,662,761,662,334,335,334,333,3,1,333,3,1,763,764,762,1,333,3,1,333,3,1,765,766,767,768,769,762,1,770,149,772,771,771,772,772,771,772,772,771,772,772,772,771,772,771,772,772,771,772,772,772,772,771,772,772,771,771,772,772,771,772,772,771,773,774,775,776,777,779,780,781,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,778,782,771,772,772,772,772,771,772,771,772,772,771,771,771,772,771,771,771,772,772,772,772,771,771,771,771,771,771,771,772,771,771,771,771,771,771,772,771,771,771,771,771,772,772,772,772,771,772,772,772,772,772,771,772,772,771,772,772,772,772,771,772,772,771,771,771,771,771,771,772,772,772,772,772,772,771,772,772,772,771,771,771,771,771,771,772,772,771,772,772,772,772,772,771,772,772,771,772,771,772,772,771,772,771,772,772,772,772,772,771,772,771,772,772,772,772,771,772,771,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,771,772,772,771,772,772,772,771,772,772,772,772,771,772,771,772,772,771,772,772,771,772,771,771,771,772,772,771,772,772,771,772,772,771,772,771,772,772,772,772,772,771,772,771,771,772,772,772,771,771,771,772,772,772,771,772,771,772,771,772,772,772,772,772,771,772,772,771,823,824,825,826,827,771,772,828,771,772,772,771,829,830,824,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,825,826,827,771,772,828,772,771,772,771,772,771,772,772,771,772,772,771,772,772,771,772,771,772,772,772,771,772,771,772,772,771,772,772,771,772,772,772,771,772,771,772,772,771,772,771,771,771,771,771,771,771,771,772,772,772,772,772,772,772,772,771,772,772,772,772,771,772,771,772,772,771,772,772,771,772,771,772,771,772,771,849,850,851,771,772,772,771,772,771,772,772,771,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,771,772,772,771,772,771,772,771,772,772,772,772,772,771,772,772,771,771,771,771,772,772,771,772,771,772,772,771,771,771,772,772,771,772,772,772,771,772,772,772,772,771,772,772,772,771,772,772,771,867,868,853,771,772,771,772,772,771,869,870,871,872,873,874,875,771,876,877,878,879,880,881,882,883,771,772,771,772,771,772,771,772,772,772,772,772,771,772,771,772,771,772,771,772,771,884,885,886,887,888,889,890,891,892,893,894,895,896,814,897,898,899,814,815,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,771,772,772,771,771,772,771,771,772,772,772,771,772,772,771,772,772,771,771,771,771,772,772,772,771,772,771,772,772,772,771,772,772,772,772,772,772,772,771,772,771,772,772,771,771,772,772,772,771,771,771,772,772,771,772,771,772,771,772,772,772,771,772,772,771,772,772,772,771,772,772,772,771,772,772,771,772,771,772,772,771,772,772,771,772,772,772,772,771,771,771,772,772,772,772,771,772,771,915,916,917,918,919,771,772,771,772,771,772,772,771,771,771,772,772,772,771,920,771,772,771,921,922,923,924,925,926,771,772,772,772,771,771,771,771,772,772,771,772,772,771,771,771,772,772,772,772,771,927,916,928,929,930,771,772,772,772,772,772,771,772,771,772,771,772,771,931,932,933,934,935,936,937,938,932,931,932,931,932,840,931,939,940,932,931,941,942,943,944,945,946,932,947,948,931,932,931,939,842,840,840,842,771,771,772,772,772,771,772,772,771,772,772,772,771,771,772,772,772,772,772,772,771,772,771,771,772,772,771,771,772,772,771,772,771,772,771,772,772,771,772,772,771,772,772,771,772,772,771,949,771,950,932,931,951,842,771,772,771,952,850,771,772,771,869,870,871,872,873,874,953,771,954,771,772,771,801,802,803,765,766,955,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,771,956,770,801,802,803,957,767,768,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,771,956,771,958,956,801,802,803,959,768,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,771,958,771,149,958,960,771,958,771,961,962,771,956,771,771,958,771,956,771,956,852,853,854,855,856,857,858,963,860,861,862,863,864,865,866,965,966,967,968,969,970,965,966,967,968,969,970,965,964,971,771,772,770,771,972,972,972,958,771,801,802,803,957,955,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,771,961,973,771,771,956,972,972,958,972,972,958,972,972,972,958,972,972,958,972,972,958,972,972,771,958,958,967,968,969,970,964,965,967,968,969,970,964,965,967,968,969,970,964,965,967,968,969,970,964,965,967,968,969,970,964,965,967,968,969,970,964,965,967,968,969,970,964,965,967,968,969,970,964,965,967,968,969,970,964,965,966,971,968,969,970,964,965,966,968,969,970,964,965,966,968,969,970,964,965,966,968,969,970,964,965,966,968,969,970,964,965,966,968,969,970,964,965,966,968,969,970,964,965,966,968,969,970,964,965,966,968,969,970,964,965,966,967,971,969,970,964,965,966,967,969,970,964,965,966,967,969,970,964,965,966,967,969,970,964,965,966,967,969,974,973,968,771,971,972,771,956,958,147,3,1,975,976,977,978,979,980,981,982,983,984,985,218,986,220,987,988,989,990,991,992,762,1,147,993,148,3,147,3,147,3,1,993,994,994,993,993,994,993,993,994,993,993,993,994,993,994,993,993,994,993,993,993,993,994,993,993,994,994,993,993,994,993,993,994,995,996,997,998,999,1001,1002,1003,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1000,1004,994,993,993,993,993,994,993,994,993,993,994,994,994,993,994,994,994,993,993,993,993,994,994,994,994,994,994,994,993,994,994,994,994,994,994,993,994,994,994,994,994,993,993,993,993,994,993,993,993,993,993,994,993,993,994,993,993,993,993,994,993,993,994,994,994,994,994,994,993,993,993,993,993,993,994,993,993,993,994,994,994,994,994,994,993,993,994,993,993,993,993,993,994,993,993,994,993,994,993,993,994,993,994,993,993,993,993,993,994,993,994,993,993,993,993,994,993,994,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,994,993,993,994,993,993,993,994,993,993,993,993,994,993,994,993,993,994,993,993,994,993,994,994,994,993,993,994,993,993,994,993,993,994,993,994,993,993,993,993,993,994,993,994,994,993,993,993,994,994,994,993,993,993,994,993,994,993,994,993,993,993,993,993,994,993,993,994,1045,1046,1047,1048,1049,994,993,994,993,994,993,994,993,994,993,994,1050,1051,994,993,994,993,994,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,994,993,993,994,993,994,993,994,993,993,993,993,993,994,993,993,994,994,994,994,993,993,994,993,994,993,993,994,994,994,993,993,994,993,993,993,994,993,993,993,993,994,993,993,993,994,993,993,994,1067,1068,1053,994,993,994,993,993,994,1069,1070,1071,1072,1073,1074,1075,994,1076,1077,1078,1079,1080,1081,1082,1083,994,993,994,993,994,993,994,993,993,993,993,993,994,993,994,993,994,993,994,993,994,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1036,1097,1098,1099,1036,1037,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,994,993,993,994,994,993,994,994,993,993,993,994,993,993,994,993,993,994,994,994,994,993,993,993,994,993,994,993,993,993,994,993,993,993,993,993,993,993,994,993,994,993,993,994,994,993,993,993,994,994,994,993,993,994,993,994,993,994,993,993,993,994,993,993,994,993,993,993,994,993,993,993,994,993,993,994,993,994,993,993,994,993,993,994,993,993,993,993,994,994,994,993,993,993,993,994,993,994,1115,1116,1117,1118,1119,994,993,994,993,994,993,993,994,994,994,993,993,993,994,1120,994,993,994,1121,1122,1123,1124,1125,1126,994,993,993,993,994,994,994,994,993,993,994,993,993,994,994,994,993,993,993,993,994,1127,1116,1128,1129,1130,994,993,993,993,993,993,994,993,994,993,994,993,994,1131,994,993,994,1132,994,1133,1134,1135,1137,1136,994,993,994,994,993,993,148,3,147,3,1,148,148,3,1,3,148,3,148,3,1,148,3,148,3,1,148,3,1,148,3,148,3,148,3,1,148,3,1,148,3,148,3,1,148,3,3,148,1,3,3,148,1,148,3,148,1,3,3,3,3,3,3,3,3,1,148,148,148,148,148,3,3,148,3,148,3,1,148,148,148,3,148,3,1,3,148,3,1,3,148,3,148,3,1,148,148,3,1,1138,1139,762,1,148,148,3,1,148,148,3,1,762,1,1140,1142,1143,1144,1145,1146,1147,1142,1143,1144,1145,1146,1147,1142,762,1141,971,1,3,770,3,1,956,956,956,958,1,956,956,958,956,956,958,956,956,956,958,956,956,958,956,956,958,956,956,1,958,1144,1145,1146,1147,1141,1142,1144,1145,1146,1147,1141,1142,1144,1145,1146,1147,1141,1142,1144,1145,1146,1147,1141,1142,1144,1145,1146,1147,1141,1142,1144,1145,1146,1147,1141,1142,1144,1145,1146,1147,1141,1142,1144,1145,1146,1147,1141,1142,1144,1145,1146,1147,1141,1142,1143,971,1145,1146,1147,1141,1142,1143,1145,1146,1147,1141,1142,1143,1145,1146,1147,1141,1142,1143,1145,1146,1147,1141,1142,1143,1145,1146,1147,1141,1142,1143,1145,1146,1147,1141,1142,1143,1145,1146,1147,1141,1142,1143,1145,1146,1147,1141,1142,1143,1145,1146,1147,1141,1142,1143,1144,971,1146,1147,1141,1142,1143,1144,1146,1147,1141,1142,1143,1144,1146,1147,1141,1142,1143,1144,1146,1147,1141,1142,1143,1144,1146,1148,1149,1145,762,1,971,956,3,956,958,3,958,3,1,956,1150,1151,762,1,147,3,1,3,3,147,3,1,1153,1154,1155,1156,1157,1152,1,1158,1159,1160,1161,1162,1163,1164,1165,762,1,333,3,1,333,3,1,3,333,3,1,333,3,1,333,3,1,333,3,1,3,333,3,1,333,3,1,1166,762,1,3,147,3,1,1167,762,1,3,147,3,1,1168,762,1,3,147,3,1,309,310,1169,1170,1171,1172,1173,1174,310,309,310,309,1175,218,309,1176,1177,310,309,1178,762,1179,762,1180,1181,1182,1183,310,1184,1185,309,310,309,1176,220,218,762,220,1,148,3,148,3,1,3,148,3,148,1,148,3,148,3,148,1,1186,1,148,1188,1187,1187,1188,1188,1187,1188,1188,1187,1188,1188,1188,1187,1188,1187,1188,1188,1187,1188,1188,1188,1188,1187,1188,1188,1187,1187,1188,1188,1187,1188,1188,1187,1189,1190,1191,1192,1193,1195,1196,1197,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1194,1198,1187,1188,1188,1188,1188,1187,1188,1187,1188,1188,1187,1187,1187,1188,1187,1187,1187,1188,1188,1188,1188,1187,1187,1187,1187,1187,1187,1187,1188,1187,1187,1187,1187,1187,1187,1188,1187,1187,1187,1187,1187,1188,1188,1188,1188,1187,1188,1188,1188,1188,1188,1187,1188,1188,1187,1188,1188,1188,1188,1187,1188,1188,1187,1187,1187,1187,1187,1187,1188,1188,1188,1188,1188,1188,1187,1188,1188,1188,1187,1187,1187,1187,1187,1187,1188,1188,1187,1188,1188,1188,1188,1188,1187,1188,1188,1187,1188,1187,1188,1188,1187,1188,1187,1188,1188,1188,1188,1188,1187,1188,1187,1188,1188,1188,1188,1187,1188,1187,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1187,1188,1188,1187,1188,1188,1188,1187,1188,1188,1188,1188,1187,1188,1187,1188,1188,1187,1188,1188,1187,1188,1187,1187,1187,1188,1188,1187,1188,1188,1187,1188,1188,1187,1188,1187,1188,1188,1188,1188,1188,1187,1188,1187,1187,1188,1188,1188,1187,1187,1187,1188,1188,1188,1187,1188,1187,1188,1187,1188,1188,1188,1188,1188,1187,1188,1188,1187,1239,1240,1241,1242,1243,1187,1188,1244,1187,1188,1188,1187,1245,1246,1240,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1241,1242,1243,1187,1188,1244,1188,1187,1188,1187,1188,1187,1188,1188,1187,1188,1188,1187,1188,1188,1187,1188,1187,1188,1188,1188,1187,1188,1187,1188,1188,1187,1188,1188,1187,1188,1188,1188,1187,1188,1187,1188,1188,1187,1188,1187,1187,1187,1187,1187,1187,1187,1187,1188,1188,1188,1188,1188,1188,1188,1188,1187,1188,1188,1188,1188,1187,1188,1187,1188,1188,1187,1188,1188,1187,1188,1187,1188,1187,1188,1187,1265,1266,1267,1187,1188,1188,1187,1188,1187,1188,1188,1187,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1187,1188,1188,1187,1188,1187,1188,1187,1188,1188,1188,1188,1188,1187,1188,1188,1187,1187,1187,1187,1188,1188,1187,1188,1187,1188,1188,1187,1187,1187,1188,1188,1187,1188,1188,1188,1187,1188,1188,1188,1188,1187,1188,1188,1188,1187,1188,1188,1187,1283,1284,1269,1187,1188,1187,1188,1188,1187,1285,1286,1287,1288,1289,1290,1291,1187,1292,1293,1294,1295,1296,1297,1298,1299,1187,1188,1187,1188,1187,1188,1187,1188,1188,1188,1188,1188,1187,1188,1187,1188,1187,1188,1187,1188,1187,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1230,1313,1314,1315,1230,1231,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1187,1188,1188,1187,1187,1188,1187,1187,1188,1188,1188,1187,1188,1188,1187,1188,1188,1187,1187,1187,1187,1188,1188,1188,1187,1188,1187,1188,1188,1188,1187,1188,1188,1188,1188,1188,1188,1188,1187,1188,1187,1188,1188,1187,1187,1188,1188,1188,1187,1187,1187,1188,1188,1187,1188,1187,1188,1187,1188,1188,1188,1187,1188,1188,1187,1188,1188,1188,1187,1188,1188,1188,1187,1188,1188,1187,1188,1187,1188,1188,1187,1188,1188,1187,1188,1188,1188,1188,1187,1187,1187,1188,1188,1188,1188,1187,1188,1187,1331,1332,1333,1334,1335,1187,1188,1187,1188,1187,1188,1188,1187,1187,1187,1188,1188,1188,1187,1336,1187,1188,1187,1337,1338,1339,1340,1341,1342,1187,1188,1188,1188,1187,1187,1187,1187,1188,1188,1187,1188,1188,1187,1187,1187,1188,1188,1188,1188,1187,1343,1332,1344,1345,1346,1187,1188,1188,1188,1188,1188,1187,1188,1187,1188,1187,1188,1187,1347,1348,1349,1350,1351,1352,1353,1354,1348,1347,1348,1347,1348,1256,1347,1355,1356,1348,1347,1357,1358,1359,1360,1361,1362,1348,1363,1364,1347,1348,1347,1355,1258,1256,1256,1258,1187,1187,1188,1188,1188,1187,1188,1188,1187,1188,1188,1188,1187,1187,1188,1188,1188,1188,1188,1188,1187,1188,1187,1187,1188,1188,1187,1187,1188,1188,1187,1188,1187,1188,1187,1188,1188,1187,1188,1188,1187,1188,1188,1187,1188,1188,1187,1365,1187,1366,1348,1347,1367,1258,1187,1188,1187,1368,1266,1187,1188,1187,1285,1286,1287,1288,1289,1290,1369,1187,1370,1187,1188,1187,1285,1286,1287,1288,1289,1290,1371,1187,1372,1370,1187,1188,1187,3,148,148,3,148,3,148,1,3,148,1,3,1,148,3,1,148,3,148,1,3,1,148,3,148,1,3,148,1,3,148,3,1,3,148,3,148,3,1,3,148,3,148,1,3,3,148,1,3,148,1,1152,1,1373,1152,1,1374,1375,1376,1377,1376,762,1378,1,147,3,1,1,147,1,147,3,147,1,147,1,1380,1379,1383,1384,1385,1386,1387,1388,1389,1390,1392,1393,1394,1395,1396,1397,1399,1379,1,1382,1391,1398,1,1381,144,146,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1400,309,329,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1419,1438,309,329,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1439,1440,1434,1435,1441,1437,1419,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1458,335,662,723,1457,1442,476,478,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1442,638,658,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1442,1495,638,658,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1496,1497,1491,1492,1498,1494,1442,638,658,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1499,1489,1490,1500,1501,1502,1503,1492,1493,1494,1442,638,658,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1504,1489,1490,1491,1505,1492,1493,1494,1442,638,658,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1506,1489,1490,1491,1507,1492,1493,1494,1442,638,658,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1508,1489,1490,1491,1509,1492,1493,1494,1442,638,658,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1510,1494,1442,931,951,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1511,931,951,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1533,1524,1525,1534,1530,1531,1532,1511,1535,931,951,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1533,1536,1537,1534,1530,1538,1532,1511,931,951,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1539,1524,1525,1534,1540,1530,1531,1532,1511,931,951,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1541,1524,1525,1534,1542,1530,1531,1532,1511,931,951,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1543,1524,1525,1534,1544,1530,1531,1532,1511,1135,1137,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1545,1347,1367,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1564,1347,1367,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1583,1582,1564,1584,1347,1367,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1585,1586,1579,1580,1587,1582,1564]);BM=new BX([1547,0,1547,1548,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,67,68,69,70,71,73,74,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,92,93,95,104,136,142,144,151,156,96,97,98,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,137,138,139,140,141,143,145,146,147,148,149,150,152,153,154,155,157,159,160,161,2,162,3,1547,1549,1547,1547,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,230,235,254,255,256,1550,233,234,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,258,259,260,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,278,279,281,290,322,328,330,337,342,282,283,284,285,286,287,288,289,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,324,325,326,327,329,331,332,333,334,335,336,338,339,340,341,165,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,361,362,166,364,366,367,1551,1547,1552,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,434,435,436,437,438,440,441,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,459,460,462,471,503,509,511,518,523,463,464,465,466,467,468,469,470,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,504,505,506,507,508,510,512,513,514,515,516,517,519,520,521,522,524,526,527,528,369,529,370,1553,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,597,602,621,622,623,1554,600,601,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,625,626,627,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,645,646,648,657,689,695,697,704,709,649,650,651,652,653,654,655,656,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,690,691,692,693,694,696,698,699,700,701,702,703,705,706,707,708,532,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,728,729,533,731,733,734,530,739,740,742,744,747,750,774,1555,756,1556,746,1557,749,752,754,755,758,759,763,764,765,766,767,768,769,1558,762,773,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,795,796,799,800,801,802,803,804,805,806,810,811,813,814,797,816,825,827,829,831,817,818,819,820,821,822,823,824,826,828,830,832,833,834,835,839,840,841,842,843,844,845,846,847,848,849,850,851,1559,837,838,854,855,163,859,860,862,1067,1070,1073,1097,1560,1547,1561,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,928,933,952,953,954,1562,931,932,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,956,957,958,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,976,977,979,988,1020,1026,1028,1035,1040,980,981,982,983,984,985,986,987,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1021,1022,1023,1024,1025,1027,1029,1030,1031,1032,1033,1034,1036,1037,1038,1039,863,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1059,1060,864,1062,1064,1065,1079,1563,1069,1564,1072,1075,1077,1078,1081,1082,1086,1087,1088,1089,1090,1091,1092,1565,1085,1096,1099,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1566,1547,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1165,1166,1167,1168,1169,1171,1172,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1190,1191,1193,1202,1234,1240,1242,1249,1254,1194,1195,1196,1197,1198,1199,1200,1201,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1235,1236,1237,1238,1239,1241,1243,1244,1245,1246,1247,1248,1250,1251,1252,1253,1255,1257,1258,1259,1100,1260,1101,1279,1280,1283,1284,1285,1286,1287,1288,1289,1290,1294,1295,1297,1298,1281,1300,1309,1311,1313,1315,1301,1302,1303,1304,1305,1306,1307,1308,1310,1312,1314,1316,1317,1318,1319,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538,1567,1547,1568,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1385,1390,1409,1410,1411,1569,1388,1389,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1413,1414,1415,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1433,1434,1436,1445,1477,1483,1485,1492,1497,1437,1438,1439,1440,1441,1442,1443,1444,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1478,1479,1480,1481,1482,1484,1486,1487,1488,1489,1490,1491,1493,1494,1495,1496,1320,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1516,1517,1321,1519,1521,1522,1524,1525,1541,1542,1543,1544,1545,1546,1547,1,1548,163,164,368,856,857,858,861,1098,1278,1281,1282,1291,1292,1293,1296,1299,1539,1540,1547,4,5,6,7,8,9,10,11,12,13,14,43,66,72,75,91,94,158,1547,167,168,169,170,171,172,173,174,175,176,177,206,229,363,261,277,365,360,231,232,257,280,1547,531,735,736,737,738,741,775,794,798,807,808,809,812,815,852,853,371,372,373,374,375,376,377,378,379,380,381,410,433,439,442,458,461,525,534,535,536,537,538,539,540,541,542,543,544,573,596,730,628,644,732,727,598,599,624,647,743,757,770,771,772,745,753,748,751,760,761,836,1547,865,866,867,868,869,870,871,872,873,874,875,1066,927,1061,1080,1093,1094,1095,975,1063,1058,904,959,929,930,955,978,1068,1076,1071,1074,1083,1084,1547,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1141,1164,1170,1173,1189,1192,1256,1547,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1361,1384,1518,1416,1432,1523,1515,1520,1386,1387,1412,1435]);BN=new BW([31,0,27,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,55,29,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,25,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,40,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,51,17,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,23,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,1,47,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);BO=new BW([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);BP=new BW([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);BQ=new BX([0,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,150,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,150,151,150,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,150,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,0,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,0,0,0,0,0,0,150,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,150,772,772,150,772,772,150,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,772,150,772,772,772,772,0,0,0,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,1188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1401,1420,1420,1443,1443,1443,1443,1443,1443,1443,1443,1443,1512,1512,1512,1512,1512,1512,1546,1565,1565,1565]);$pkg.Error=C.New("invalid UTF8 text");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/mitchellh/go-wordwrap"]=(function(){var $pkg={},$init,A,B;A=$packages["bytes"];B=$packages["unicode"];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["encoding/gob"]=(function(){var $pkg={},$init,N,A,K,B,C,F,J,L,M,D,E,G,H,I,O,Z,AC,AH,BA,BC,BE,BG,BI,BJ,BS,BT,BZ,CA,CG,CK,CN,CO,CP,CR,CS,DD,EV,FD,FE,FF,FI,FJ,GF,GK,HW,HX,HY,HZ,IA,IB,IC,ID,IE,IF,IG,IH,II,IJ,IK,IL,IM,IN,IO,IP,IQ,IR,IS,IT,IU,IV,IW,IX,IY,IZ,JA,JB,JC,JD,JE,JF,JG,JH,JI,JJ,JK,JL,JM,JN,JO,JP,JQ,JR,JS,JT,JU,JV,JW,JX,JY,JZ,KA,KB,KC,KD,KE,KF,KG,KH,KI,KJ,KK,KL,KM,KN,KO,KP,KQ,KR,KS,KT,KU,KV,KW,KX,KY,KZ,LA,LB,LC,P,R,S,T,U,V,W,AA,AB,AD,AE,AF,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,BU,CB,CC,CL,CQ,DH,DN,DO,EX,FA,FB,FC,GG,GI,GJ,GL,GO,GP,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,Q,X,Y,AG,AZ,BB,BD,BF,BH,BK,BL,BM,BN,BO,BP,BQ,BR,BV,BW,BX,BY,CD,CE,CF,CH,CI,CJ,CM,CT,CU,CV,CW,CX,CY,CZ,DA,DB,DC,DE,DF,DG,DI,DJ,DK,DL,DM,DP,DQ,DR,DS,DT,DU,DV,DW,DX,DY,DZ,EA,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EN,EO,EP,EQ,ER,ES,ET,EU,EW,EY,FG,FH,FK,FL,FM,FN,FO,FP,FQ,FR,FS,FT,FU,FV,FW,FX,FY,FZ,GA,GB,GC,GD,GE,GH,GM,GN,GQ,GR,GS,GT,GU,GV,GW,GX,GY,GZ,HA,HB,HC,HD,HE,HF,HG,HH,HI,HJ,HK,HL,HM,HN,HO,HP,HQ,HR,HS,HT,HU,HV;N=$packages["bufio"];A=$packages["encoding"];K=$packages["encoding/binary"];B=$packages["errors"];C=$packages["fmt"];F=$packages["github.com/gopherjs/gopherjs/nosync"];J=$packages["io"];L=$packages["math"];M=$packages["math/bits"];D=$packages["os"];E=$packages["reflect"];G=$packages["sync/atomic"];H=$packages["unicode"];I=$packages["unicode/utf8"];O=$pkg.userTypeInfo=$newType(0,$kindStruct,"gob.userTypeInfo",true,"encoding/gob",false,function(user_,base_,indir_,externalEnc_,externalDec_,encIndir_,decIndir_){this.$val=this;if(arguments.length===0){this.user=$ifaceNil;this.base=$ifaceNil;this.indir=0;this.externalEnc=0;this.externalDec=0;this.encIndir=0;this.decIndir=0;return;}this.user=user_;this.base=base_;this.indir=indir_;this.externalEnc=externalEnc_;this.externalDec=externalDec_;this.encIndir=encIndir_;this.decIndir=decIndir_;});Z=$pkg.typeId=$newType(4,$kindInt32,"gob.typeId",true,"encoding/gob",false,null);AC=$pkg.gobType=$newType(8,$kindInterface,"gob.gobType",true,"encoding/gob",false,null);AH=$pkg.CommonType=$newType(0,$kindStruct,"gob.CommonType",true,"encoding/gob",true,function(Name_,Id_){this.$val=this;if(arguments.length===0){this.Name="";this.Id=0;return;}this.Name=Name_;this.Id=Id_;});BA=$pkg.arrayType=$newType(0,$kindStruct,"gob.arrayType",true,"encoding/gob",false,function(CommonType_,Elem_,Len_){this.$val=this;if(arguments.length===0){this.CommonType=new AH.ptr("",0);this.Elem=0;this.Len=0;return;}this.CommonType=CommonType_;this.Elem=Elem_;this.Len=Len_;});BC=$pkg.gobEncoderType=$newType(0,$kindStruct,"gob.gobEncoderType",true,"encoding/gob",false,function(CommonType_){this.$val=this;if(arguments.length===0){this.CommonType=new AH.ptr("",0);return;}this.CommonType=CommonType_;});BE=$pkg.mapType=$newType(0,$kindStruct,"gob.mapType",true,"encoding/gob",false,function(CommonType_,Key_,Elem_){this.$val=this;if(arguments.length===0){this.CommonType=new AH.ptr("",0);this.Key=0;this.Elem=0;return;}this.CommonType=CommonType_;this.Key=Key_;this.Elem=Elem_;});BG=$pkg.sliceType=$newType(0,$kindStruct,"gob.sliceType",true,"encoding/gob",false,function(CommonType_,Elem_){this.$val=this;if(arguments.length===0){this.CommonType=new AH.ptr("",0);this.Elem=0;return;}this.CommonType=CommonType_;this.Elem=Elem_;});BI=$pkg.fieldType=$newType(0,$kindStruct,"gob.fieldType",true,"encoding/gob",false,function(Name_,Id_){this.$val=this;if(arguments.length===0){this.Name="";this.Id=0;return;}this.Name=Name_;this.Id=Id_;});BJ=$pkg.structType=$newType(0,$kindStruct,"gob.structType",true,"encoding/gob",false,function(CommonType_,Field_){this.$val=this;if(arguments.length===0){this.CommonType=new AH.ptr("",0);this.Field=JJ.nil;return;}this.CommonType=CommonType_;this.Field=Field_;});BS=$pkg.wireType=$newType(0,$kindStruct,"gob.wireType",true,"encoding/gob",false,function(ArrayT_,SliceT_,StructT_,MapT_,GobEncoderT_,BinaryMarshalerT_,TextMarshalerT_){this.$val=this;if(arguments.length===0){this.ArrayT=JB.nil;this.SliceT=JC.nil;this.StructT=JD.nil;this.MapT=JE.nil;this.GobEncoderT=JF.nil;this.BinaryMarshalerT=JF.nil;this.TextMarshalerT=JF.nil;return;}this.ArrayT=ArrayT_;this.SliceT=SliceT_;this.StructT=StructT_;this.MapT=MapT_;this.GobEncoderT=GobEncoderT_;this.BinaryMarshalerT=BinaryMarshalerT_;this.TextMarshalerT=TextMarshalerT_;});BT=$pkg.typeInfo=$newType(0,$kindStruct,"gob.typeInfo",true,"encoding/gob",false,function(id_,encInit_,encoder_,wire_){this.$val=this;if(arguments.length===0){this.id=0;this.encInit=new F.Mutex.ptr(false);this.encoder=new G.Value.ptr($ifaceNil);this.wire=JK.nil;return;}this.id=id_;this.encInit=encInit_;this.encoder=encoder_;this.wire=wire_;});BZ=$pkg.GobEncoder=$newType(8,$kindInterface,"gob.GobEncoder",true,"encoding/gob",true,null);CA=$pkg.GobDecoder=$newType(8,$kindInterface,"gob.GobDecoder",true,"encoding/gob",true,null);CG=$pkg.gobError=$newType(0,$kindStruct,"gob.gobError",true,"encoding/gob",false,function(err_){this.$val=this;if(arguments.length===0){this.err=$ifaceNil;return;}this.err=err_;});CK=$pkg.Encoder=$newType(0,$kindStruct,"gob.Encoder",true,"encoding/gob",true,function(mutex_,w_,sent_,countState_,freeList_,byteBuf_,err_){this.$val=this;if(arguments.length===0){this.mutex=new F.Mutex.ptr(false);this.w=KD.nil;this.sent=false;this.countState=KE.nil;this.freeList=KE.nil;this.byteBuf=new CP.ptr(II.nil,JH.zero());this.err=$ifaceNil;return;}this.mutex=mutex_;this.w=w_;this.sent=sent_;this.countState=countState_;this.freeList=freeList_;this.byteBuf=byteBuf_;this.err=err_;});CN=$pkg.encHelper=$newType(4,$kindFunc,"gob.encHelper",true,"encoding/gob",false,null);CO=$pkg.encoderState=$newType(0,$kindStruct,"gob.encoderState",true,"encoding/gob",false,function(enc_,b_,sendZero_,fieldnum_,buf_,next_){this.$val=this;if(arguments.length===0){this.enc=KF.nil;this.b=KG.nil;this.sendZero=false;this.fieldnum=0;this.buf=KH.zero();this.next=KE.nil;return;}this.enc=enc_;this.b=b_;this.sendZero=sendZero_;this.fieldnum=fieldnum_;this.buf=buf_;this.next=next_;});CP=$pkg.encBuffer=$newType(0,$kindStruct,"gob.encBuffer",true,"encoding/gob",false,function(data_,scratch_){this.$val=this;if(arguments.length===0){this.data=II.nil;this.scratch=JH.zero();return;}this.data=data_;this.scratch=scratch_;});CR=$pkg.encOp=$newType(4,$kindFunc,"gob.encOp",true,"encoding/gob",false,null);CS=$pkg.encInstr=$newType(0,$kindStruct,"gob.encInstr",true,"encoding/gob",false,function(op_,field_,index_,indir_){this.$val=this;if(arguments.length===0){this.op=$throwNilPointerError;this.field=0;this.index=JN.nil;this.indir=0;return;}this.op=op_;this.field=field_;this.index=index_;this.indir=indir_;});DD=$pkg.encEngine=$newType(0,$kindStruct,"gob.encEngine",true,"encoding/gob",false,function(instr_){this.$val=this;if(arguments.length===0){this.instr=KL.nil;return;}this.instr=instr_;});EV=$pkg.Decoder=$newType(0,$kindStruct,"gob.Decoder",true,"encoding/gob",true,function(mutex_,r_,buf_,wireType_,decoderCache_,ignorerCache_,freeList_,countBuf_,err_){this.$val=this;if(arguments.length===0){this.mutex=new F.Mutex.ptr(false);this.r=$ifaceNil;this.buf=new FF.ptr(II.nil,0);this.wireType=false;this.decoderCache=false;this.ignorerCache=false;this.freeList=KN.nil;this.countBuf=II.nil;this.err=$ifaceNil;return;}this.mutex=mutex_;this.r=r_;this.buf=buf_;this.wireType=wireType_;this.decoderCache=decoderCache_;this.ignorerCache=ignorerCache_;this.freeList=freeList_;this.countBuf=countBuf_;this.err=err_;});FD=$pkg.decHelper=$newType(4,$kindFunc,"gob.decHelper",true,"encoding/gob",false,null);FE=$pkg.decoderState=$newType(0,$kindStruct,"gob.decoderState",true,"encoding/gob",false,function(dec_,b_,fieldnum_,next_){this.$val=this;if(arguments.length===0){this.dec=KO.nil;this.b=KP.nil;this.fieldnum=0;this.next=KN.nil;return;}this.dec=dec_;this.b=b_;this.fieldnum=fieldnum_;this.next=next_;});FF=$pkg.decBuffer=$newType(0,$kindStruct,"gob.decBuffer",true,"encoding/gob",false,function(data_,offset_){this.$val=this;if(arguments.length===0){this.data=II.nil;this.offset=0;return;}this.data=data_;this.offset=offset_;});FI=$pkg.decOp=$newType(4,$kindFunc,"gob.decOp",true,"encoding/gob",false,null);FJ=$pkg.decInstr=$newType(0,$kindStruct,"gob.decInstr",true,"encoding/gob",false,function(op_,field_,index_,ovfl_){this.$val=this;if(arguments.length===0){this.op=$throwNilPointerError;this.field=0;this.index=JN.nil;this.ovfl=$ifaceNil;return;}this.op=op_;this.field=field_;this.index=index_;this.ovfl=ovfl_;});GF=$pkg.decEngine=$newType(0,$kindStruct,"gob.decEngine",true,"encoding/gob",false,function(instr_,numInstr_){this.$val=this;if(arguments.length===0){this.instr=KS.nil;this.numInstr=0;return;}this.instr=instr_;this.numInstr=numInstr_;});GK=$pkg.emptyStruct=$newType(0,$kindStruct,"gob.emptyStruct",true,"encoding/gob",false,function(){this.$val=this;if(arguments.length===0){return;}});HW=$ptrType(O);HX=$ptrType(E.rtype);HY=$ptrType(BZ);HZ=$ptrType(CA);IA=$ptrType(A.BinaryMarshaler);IB=$ptrType(A.BinaryUnmarshaler);IC=$ptrType(A.TextMarshaler);ID=$ptrType(A.TextUnmarshaler);IE=$ptrType($Bool);IF=$ptrType($Int);IG=$ptrType($Uint);IH=$ptrType($Float64);II=$sliceType($Uint8);IJ=$ptrType(II);IK=$ptrType($String);IL=$ptrType($Complex128);IM=$ptrType($emptyInterface);IN=$structType("encoding/gob",[{prop:"r7",name:"r7",embedded:false,exported:false,typ:$Int,tag:""}]);IO=$ptrType(IN);IP=$structType("encoding/gob",[{prop:"r6",name:"r6",embedded:false,exported:false,typ:$Int,tag:""}]);IQ=$ptrType(IP);IR=$structType("encoding/gob",[{prop:"r5",name:"r5",embedded:false,exported:false,typ:$Int,tag:""}]);IS=$ptrType(IR);IT=$structType("encoding/gob",[{prop:"r4",name:"r4",embedded:false,exported:false,typ:$Int,tag:""}]);IU=$ptrType(IT);IV=$structType("encoding/gob",[{prop:"r3",name:"r3",embedded:false,exported:false,typ:$Int,tag:""}]);IW=$ptrType(IV);IX=$structType("encoding/gob",[{prop:"r2",name:"r2",embedded:false,exported:false,typ:$Int,tag:""}]);IY=$ptrType(IX);IZ=$structType("encoding/gob",[{prop:"r1",name:"r1",embedded:false,exported:false,typ:$Int,tag:""}]);JA=$ptrType(IZ);JB=$ptrType(BA);JC=$ptrType(BG);JD=$ptrType(BJ);JE=$ptrType(BE);JF=$ptrType(BC);JG=$sliceType($emptyInterface);JH=$arrayType($Uint8,64);JI=$ptrType(BI);JJ=$sliceType(JI);JK=$ptrType(BS);JL=$ptrType(BT);JM=$mapType(E.Type,JL);JN=$sliceType($Int);JO=$sliceType($Int8);JP=$sliceType($Int16);JQ=$sliceType($Int32);JR=$sliceType($Int64);JS=$sliceType($Uint);JT=$sliceType($Uint16);JU=$sliceType($Uint32);JV=$sliceType($Uint64);JW=$sliceType($Float32);JX=$sliceType($Float64);JY=$sliceType($Complex64);JZ=$sliceType($Complex128);KA=$sliceType($Uintptr);KB=$sliceType($Bool);KC=$sliceType($String);KD=$sliceType(J.Writer);KE=$ptrType(CO);KF=$ptrType(CK);KG=$ptrType(CP);KH=$arrayType($Uint8,9);KI=$ptrType(CS);KJ=$ptrType(CR);KK=$ptrType(DD);KL=$sliceType(CS);KM=$ptrType($error);KN=$ptrType(FE);KO=$ptrType(EV);KP=$ptrType(FF);KQ=$ptrType(FI);KR=$ptrType(GF);KS=$sliceType(FJ);KT=$ptrType(KR);KU=$mapType(Z,$Bool);KV=$ptrType(AH);KW=$mapType(E.Type,Z);KX=$mapType(E.Type,KQ);KY=$mapType(Z,KQ);KZ=$mapType(Z,JK);LA=$mapType(Z,KT);LB=$mapType(E.Type,LA);LC=$ptrType(FJ);Q=function(y){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=P.Load(y);aa=z[0];ab=z[1];if(ab){$s=-1;return[$assertType(aa,HW),$ifaceNil];}ac=new O.ptr($ifaceNil,$ifaceNil,0,0,0,0,0);ac.base=y;ac.user=y;ad=ac.base;case 1:ae=ac.base;af=ae.Kind();$s=5;case 5:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}if(!((af===22))){$s=3;continue;}$s=4;continue;case 3:$s=2;continue;case 4:ag=ae.Elem();$s=6;case 6:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ac.base=ag;if($interfaceIsEqual(ac.base,ad)){$s=7;continue;}$s=8;continue;case 7:ah=ac.base.String();$s=9;case 9:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=B.New("can't represent recursive pointer type "+ah);$s=10;case 10:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=[HW.nil,ai];$s=11;case 11:return aj;case 8:if((ak=ac.indir%2,ak===ak?ak:$throwRuntimeError("integer divide by zero"))===0){$s=12;continue;}$s=13;continue;case 12:al=ad.Elem();$s=14;case 14:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ad=al;case 13:ac.indir=ac.indir+(1)>>0;$s=1;continue;case 2:an=X(ac.user,R);$s=15;case 15:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}am=an;ao=am[0];ap=am[1];if(ao){$s=16;continue;}$s=17;continue;case 16:aq=1;ar=ap;ac.externalEnc=aq;ac.encIndir=ar;$s=18;continue;case 17:at=X(ac.user,T);$s=19;case 19:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}as=at;au=as[0];av=as[1];if(au){aw=2;ax=av;ac.externalEnc=aw;ac.encIndir=ax;}case 18:az=X(ac.user,S);$s=20;case 20:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ay=az;ba=ay[0];bb=ay[1];if(ba){$s=21;continue;}$s=22;continue;case 21:bc=1;bd=bb;ac.externalDec=bc;ac.decIndir=bd;$s=23;continue;case 22:bf=X(ac.user,U);$s=24;case 24:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}be=bf;bg=be[0];bh=be[1];if(bg){bi=2;bj=bh;ac.externalDec=bi;ac.decIndir=bj;}case 23:bk=P.LoadOrStore(y,ac);bl=bk[0];$s=-1;return[$assertType(bl,HW),$ifaceNil];}return;}if($f===undefined){$f={$blk:Q};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};X=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=false;ab=0;if($interfaceIsEqual(y,$ifaceNil)){$s=-1;return[aa,ab];}ac=y;case 1:ad=ac.Implements(z);$s=5;case 5:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}if(ad){$s=3;continue;}$s=4;continue;case 3:ae=true;af=ab;aa=ae;ab=af;$s=-1;return[aa,ab];case 4:ag=ac;ah=ag.Kind();$s=8;case 8:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}if(ah===22){$s=6;continue;}$s=7;continue;case 6:ab=ab+(1)<<24>>24;if(ab>100){ai=false;aj=0;aa=ai;ab=aj;$s=-1;return[aa,ab];}ak=ag.Elem();$s=9;case 9:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}ac=ak;$s=1;continue;case 7:$s=2;continue;case 2:al=y.Kind();$s=12;case 12:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}if(!((al===22))){$s=10;continue;}$s=11;continue;case 10:am=E.PtrTo(y).Implements(z);$s=15;case 15:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}if(am){$s=13;continue;}$s=14;continue;case 13:an=true;ao=-1;aa=an;ab=ao;$s=-1;return[aa,ab];case 14:case 11:ap=false;aq=0;aa=ap;ab=aq;$s=-1;return[aa,ab];}return;}if($f===undefined){$f={$blk:X};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Y=function(y){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=Q(y);$s=1;case 1:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;ab=z[0];ac=z[1];if(!($interfaceIsEqual(ac,$ifaceNil))){CI(ac);}$s=-1;return ab;}return;}if($f===undefined){$f={$blk:Y};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AG=function(y){var aa,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=y.id();$s=3;case 3:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}if(!((z===0))){$s=1;continue;}$s=2;continue;case 1:$s=-1;return;case 2:AA=AA+(1)>>0;$r=y.setId(AA);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aa=AA;(AE||$throwRuntimeError("assignment to entry in nil map"))[Z.keyFor(aa)]={k:aa,v:y};$s=-1;return;}return;}if($f===undefined){$f={$blk:AG};}$f.aa=aa;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Z.prototype.gobType=function(){var y,z;y=this.$val;if(y===0){return $ifaceNil;}return(z=AE[Z.keyFor(y)],z!==undefined?z.v:$ifaceNil);};$ptrType(Z).prototype.gobType=function(){return new Z(this.$get()).gobType();};Z.prototype.string=function(){var aa,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:y=this.$val;if($interfaceIsEqual(new Z(y).gobType(),$ifaceNil)){$s=-1;return"<nil>";}z=new Z(y).gobType().string();$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;$s=2;case 2:return aa;}return;}if($f===undefined){$f={$blk:Z.prototype.string};}$f.aa=aa;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(Z).prototype.string=function(){return new Z(this.$get()).string();};Z.prototype.name=function(){var aa,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:y=this.$val;if($interfaceIsEqual(new Z(y).gobType(),$ifaceNil)){$s=-1;return"<nil>";}z=new Z(y).gobType().name();$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;$s=2;case 2:return aa;}return;}if($f===undefined){$f={$blk:Z.prototype.name};}$f.aa=aa;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(Z).prototype.name=function(){return new Z(this.$get()).name();};AH.ptr.prototype.id=function(){var y;y=this;return y.Id;};AH.prototype.id=function(){return this.$val.id();};AH.ptr.prototype.setId=function(y){var y,z;z=this;z.Id=y;};AH.prototype.setId=function(y){return this.$val.setId(y);};AH.ptr.prototype.string=function(){var y;y=this;return y.Name;};AH.prototype.string=function(){return this.$val.string();};AH.ptr.prototype.safeString=function(y){var y,z;z=this;return z.Name;};AH.prototype.safeString=function(y){return this.$val.safeString(y);};AH.ptr.prototype.name=function(){var y;y=this;return y.Name;};AH.prototype.name=function(){return this.$val.name();};AZ=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=BQ(16,AX);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}z=BY(E.TypeOf((y=new BA.ptr(new AH.ptr("",0),0,0),new y.constructor.elem(y))));$s=2;case 2:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z.id;$r=BQ(17,aa);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ac=BY(E.TypeOf((ab=new AH.ptr("",0),new ab.constructor.elem(ab))));$s=4;case 4:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac.id;$r=BQ(18,ad);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}af=BY(E.TypeOf((ae=new BG.ptr(new AH.ptr("",0),0),new ae.constructor.elem(ae))));$s=6;case 6:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af.id;$r=BQ(19,ag);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ai=BY(E.TypeOf((ah=new BJ.ptr(new AH.ptr("",0),JJ.nil),new ah.constructor.elem(ah))));$s=8;case 8:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=ai.id;$r=BQ(20,aj);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}al=BY(E.TypeOf((ak=new BI.ptr("",0),new ak.constructor.elem(ak))));$s=10;case 10:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al.id;$r=BQ(21,am);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ao=BY(E.TypeOf((an=new BE.ptr(new AH.ptr("",0),0,0),new an.constructor.elem(an))));$s=12;case 12:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=ao.id;$r=BQ(23,ap);$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AF={};aq=AE;ar=0;as=$keys(aq);while(true){if(!(ar<as.length)){break;}at=aq[as[ar]];if(at===undefined){ar++;continue;}au=at.k;av=at.v;aw=au;(AF||$throwRuntimeError("assignment to entry in nil map"))[Z.keyFor(aw)]={k:aw,v:av};ar++;}if(AA>64){$s=14;continue;}$s=15;continue;case 14:ax=C.Sprintln(new JG([new $String("nextId too large:"),new Z(AA)]));$s=16;case 16:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}$panic(new $String(ax));case 15:AA=64;$r=CF();$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ay=Y(E.TypeOf((JK.nil)));$s=18;case 18:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}AY=ay;$s=-1;return;}return;}if($f===undefined){$f={$blk:AZ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BB=function(y){var y,z;z=new BA.ptr(new AH.ptr(y,0),0,0);return z;};BA.ptr.prototype.init=function(y,z){var aa,ab,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=this;$r=AG(aa);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ab=y.id();$s=2;case 2:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa.Elem=ab;aa.Len=z;$s=-1;return;}return;}if($f===undefined){$f={$blk:BA.ptr.prototype.init};}$f.aa=aa;$f.ab=ab;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BA.prototype.init=function(y,z){return this.$val.init(y,z);};BA.ptr.prototype.safeString=function(y){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=this;if((aa=y[Z.keyFor(z.CommonType.Id)],aa!==undefined?aa.v:false)){$s=-1;return z.CommonType.Name;}ab=z.CommonType.Id;(y||$throwRuntimeError("assignment to entry in nil map"))[Z.keyFor(ab)]={k:ab,v:true};ac=new $Int(z.Len);ad=new Z(z.Elem).gobType().safeString(y);$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=new $String(ad);af=C.Sprintf("[%d]%s",new JG([ac,ae]));$s=2;case 2:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;$s=3;case 3:return ag;}return;}if($f===undefined){$f={$blk:BA.ptr.prototype.safeString};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BA.prototype.safeString=function(y){return this.$val.safeString(y);};BA.ptr.prototype.string=function(){var aa,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:y=this;z=y.safeString({});$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;$s=2;case 2:return aa;}return;}if($f===undefined){$f={$blk:BA.ptr.prototype.string};}$f.aa=aa;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BA.prototype.string=function(){return this.$val.string();};BD=function(y){var y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=new BC.ptr(new AH.ptr(y,0));$r=AG(z);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return z;}return;}if($f===undefined){$f={$blk:BD};}$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BC.ptr.prototype.safeString=function(y){var y,z;z=this;return z.CommonType.Name;};BC.prototype.safeString=function(y){return this.$val.safeString(y);};BC.ptr.prototype.string=function(){var y;y=this;return y.CommonType.Name;};BC.prototype.string=function(){return this.$val.string();};BF=function(y){var y,z;z=new BE.ptr(new AH.ptr(y,0),0,0);return z;};BE.ptr.prototype.init=function(y,z){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=this;$r=AG(aa);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ab=y.id();$s=2;case 2:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa.Key=ab;ac=z.id();$s=3;case 3:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}aa.Elem=ac;$s=-1;return;}return;}if($f===undefined){$f={$blk:BE.ptr.prototype.init};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BE.prototype.init=function(y,z){return this.$val.init(y,z);};BE.ptr.prototype.safeString=function(y){var aa,ab,ac,ad,ae,af,ag,ah,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=this;if((aa=y[Z.keyFor(z.CommonType.Id)],aa!==undefined?aa.v:false)){$s=-1;return z.CommonType.Name;}ab=z.CommonType.Id;(y||$throwRuntimeError("assignment to entry in nil map"))[Z.keyFor(ab)]={k:ab,v:true};ac=new Z(z.Key).gobType().safeString(y);$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;ae=new Z(z.Elem).gobType().safeString(y);$s=2;case 2:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=ae;ag=C.Sprintf("map[%s]%s",new JG([new $String(ad),new $String(af)]));$s=3;case 3:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=ag;$s=4;case 4:return ah;}return;}if($f===undefined){$f={$blk:BE.ptr.prototype.safeString};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BE.prototype.safeString=function(y){return this.$val.safeString(y);};BE.ptr.prototype.string=function(){var aa,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:y=this;z=y.safeString({});$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;$s=2;case 2:return aa;}return;}if($f===undefined){$f={$blk:BE.ptr.prototype.string};}$f.aa=aa;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BE.prototype.string=function(){return this.$val.string();};BH=function(y){var y,z;z=new BG.ptr(new AH.ptr(y,0),0);return z;};BG.ptr.prototype.init=function(y){var aa,ab,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=this;$r=AG(z);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aa=y.id();$s=4;case 4:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}if(aa===0){$s=2;continue;}$s=3;continue;case 2:$r=AG(y);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:ab=y.id();$s=6;case 6:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}z.Elem=ab;$s=-1;return;}return;}if($f===undefined){$f={$blk:BG.ptr.prototype.init};}$f.aa=aa;$f.ab=ab;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BG.prototype.init=function(y){return this.$val.init(y);};BG.ptr.prototype.safeString=function(y){var aa,ab,ac,ad,ae,af,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=this;if((aa=y[Z.keyFor(z.CommonType.Id)],aa!==undefined?aa.v:false)){$s=-1;return z.CommonType.Name;}ab=z.CommonType.Id;(y||$throwRuntimeError("assignment to entry in nil map"))[Z.keyFor(ab)]={k:ab,v:true};ac=new Z(z.Elem).gobType().safeString(y);$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=new $String(ac);ae=C.Sprintf("[]%s",new JG([ad]));$s=2;case 2:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=ae;$s=3;case 3:return af;}return;}if($f===undefined){$f={$blk:BG.ptr.prototype.safeString};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BG.prototype.safeString=function(y){return this.$val.safeString(y);};BG.ptr.prototype.string=function(){var aa,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:y=this;z=y.safeString({});$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;$s=2;case 2:return aa;}return;}if($f===undefined){$f={$blk:BG.ptr.prototype.string};}$f.aa=aa;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BG.prototype.string=function(){return this.$val.string();};BJ.ptr.prototype.safeString=function(y){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=this;if(z===JD.nil){$s=-1;return"<nil>";}aa=(ab=y[Z.keyFor(z.CommonType.Id)],ab!==undefined?[ab.v,true]:[false,false]);ac=aa[1];if(ac){$s=-1;return z.CommonType.Name;}ad=z.CommonType.Id;(y||$throwRuntimeError("assignment to entry in nil map"))[Z.keyFor(ad)]={k:ad,v:true};ae=z.CommonType.Name+" = struct { ";af=z.Field;ag=0;case 1:if(!(ag<af.$length)){$s=2;continue;}ah=((ag<0||ag>=af.$length)?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+ag]);ai=new $String(ah.Name);aj=new Z(ah.Id).gobType().safeString(y);$s=3;case 3:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=new $String(aj);al=C.Sprintf("%s %s; ",new JG([ai,ak]));$s=4;case 4:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ae=ae+(al);ag++;$s=1;continue;case 2:ae=ae+("}");$s=-1;return ae;}return;}if($f===undefined){$f={$blk:BJ.ptr.prototype.safeString};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BJ.prototype.safeString=function(y){return this.$val.safeString(y);};BJ.ptr.prototype.string=function(){var aa,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:y=this;z=y.safeString({});$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;$s=2;case 2:return aa;}return;}if($f===undefined){$f={$blk:BJ.ptr.prototype.string};}$f.aa=aa;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BJ.prototype.string=function(){return this.$val.string();};BK=function(y){var y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=new BJ.ptr(new AH.ptr(y,0),JJ.nil);$r=AG(z);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return z;}return;}if($f===undefined){$f={$blk:BK};}$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BL=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,de,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;cr=$f.cr;cs=$f.cs;ct=$f.ct;cu=$f.cu;cv=$f.cv;cw=$f.cw;cx=$f.cx;cy=$f.cy;cz=$f.cz;da=$f.da;db=$f.db;dc=$f.dc;dd=$f.dd;de=$f.de;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);aa=[aa];ab=[ab];if(!((z.externalEnc===0))){$s=1;continue;}$s=2;continue;case 1:ac=BD(y);$s=3;case 3:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=[ac,$ifaceNil];$s=4;case 4:return ad;case 2:ab[0]=$ifaceNil;ae=$ifaceNil;af=$ifaceNil;ag=ae;ah=af;$deferred.push([(function(aa,ab){return function(){if(!($interfaceIsEqual(ab[0],$ifaceNil))){delete AD[E.Type.keyFor(aa[0])];}};})(aa,ab),[]]);ai=aa[0];aj=ai.Kind();$s=6;case 6:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj;if(ak===(1)){$s=7;continue;}if((ak===(2))||(ak===(3))||(ak===(4))||(ak===(5))||(ak===(6))){$s=8;continue;}if((ak===(7))||(ak===(8))||(ak===(9))||(ak===(10))||(ak===(11))||(ak===(12))){$s=9;continue;}if((ak===(13))||(ak===(14))){$s=10;continue;}if((ak===(15))||(ak===(16))){$s=11;continue;}if(ak===(24)){$s=12;continue;}if(ak===(20)){$s=13;continue;}if(ak===(17)){$s=14;continue;}if(ak===(21)){$s=15;continue;}if(ak===(23)){$s=16;continue;}if(ak===(25)){$s=17;continue;}$s=18;continue;case 7:al=[new Z(AI).gobType(),$ifaceNil];$s=20;case 20:return al;case 8:am=[new Z(AJ).gobType(),$ifaceNil];$s=21;case 21:return am;case 9:an=[new Z(AK).gobType(),$ifaceNil];$s=22;case 22:return an;case 10:ao=[new Z(AL).gobType(),$ifaceNil];$s=23;case 23:return ao;case 11:ap=[new Z(AO).gobType(),$ifaceNil];$s=24;case 24:return ap;case 12:aq=[new Z(AN).gobType(),$ifaceNil];$s=25;case 25:return aq;case 13:ar=[new Z(AP).gobType(),$ifaceNil];$s=26;case 26:return ar;case 14:as=BB(y);at=aa[0];(AD||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(at)]={k:at,v:as};av=ai.Elem();$s=27;case 27:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=av;ax=BO("",aw);$s=28;case 28:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}au=ax;ag=au[0];ab[0]=au[1];if(!($interfaceIsEqual(ab[0],$ifaceNil))){$s=29;continue;}$s=30;continue;case 29:ay=[$ifaceNil,ab[0]];$s=31;case 31:return ay;case 30:az=ag;ba=ai.Len();$s=32;case 32:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=ba;$r=as.init(az,bb);$s=33;case 33:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bc=[as,$ifaceNil];$s=34;case 34:return bc;case 15:bd=BF(y);be=aa[0];(AD||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(be)]={k:be,v:bd};bg=ai.Key();$s=35;case 35:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bh=bg;bi=BO("",bh);$s=36;case 36:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}bf=bi;ag=bf[0];ab[0]=bf[1];if(!($interfaceIsEqual(ab[0],$ifaceNil))){$s=37;continue;}$s=38;continue;case 37:bj=[$ifaceNil,ab[0]];$s=39;case 39:return bj;case 38:bl=ai.Elem();$s=40;case 40:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}bm=bl;bn=BO("",bm);$s=41;case 41:if($c){$c=false;bn=bn.$blk();}if(bn&&bn.$blk!==undefined){break s;}bk=bn;ah=bk[0];ab[0]=bk[1];if(!($interfaceIsEqual(ab[0],$ifaceNil))){$s=42;continue;}$s=43;continue;case 42:bo=[$ifaceNil,ab[0]];$s=44;case 44:return bo;case 43:$r=bd.init(ag,ah);$s=45;case 45:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bp=[bd,$ifaceNil];$s=46;case 46:return bp;case 16:bq=ai.Elem();$s=49;case 49:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}br=bq.Kind();$s=50;case 50:if($c){$c=false;br=br.$blk();}if(br&&br.$blk!==undefined){break s;}if(br===8){$s=47;continue;}$s=48;continue;case 47:bs=[new Z(AM).gobType(),$ifaceNil];$s=51;case 51:return bs;case 48:bt=BH(y);bu=aa[0];(AD||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(bu)]={k:bu,v:bt};bw=ai.Elem();$s=52;case 52:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}bx=bw.Name();$s=53;case 53:if($c){$c=false;bx=bx.$blk();}if(bx&&bx.$blk!==undefined){break s;}by=bx;bz=ai.Elem();$s=54;case 54:if($c){$c=false;bz=bz.$blk();}if(bz&&bz.$blk!==undefined){break s;}ca=bz;cb=BO(by,ca);$s=55;case 55:if($c){$c=false;cb=cb.$blk();}if(cb&&cb.$blk!==undefined){break s;}bv=cb;ag=bv[0];ab[0]=bv[1];if(!($interfaceIsEqual(ab[0],$ifaceNil))){$s=56;continue;}$s=57;continue;case 56:cc=[$ifaceNil,ab[0]];$s=58;case 58:return cc;case 57:$r=bt.init(ag);$s=59;case 59:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}cd=[bt,$ifaceNil];$s=60;case 60:return cd;case 17:ce=BK(y);$s=61;case 61:if($c){$c=false;ce=ce.$blk();}if(ce&&ce.$blk!==undefined){break s;}cf=ce;cg=aa[0];(AD||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(cg)]={k:cg,v:cf};ch=cf.CommonType.id();(AE||$throwRuntimeError("assignment to entry in nil map"))[Z.keyFor(ch)]={k:ch,v:cf};ci=0;case 62:cj=ai.NumField();$s=64;case 64:if($c){$c=false;cj=cj.$blk();}if(cj&&cj.$blk!==undefined){break s;}if(!(ci<cj)){$s=63;continue;}ck=[ck];cl=ai.Field(ci);$s=65;case 65:if($c){$c=false;cl=cl.$blk();}if(cl&&cl.$blk!==undefined){break s;}ck[0]=$clone(cl,E.StructField);cm=BN(ck[0]);$s=68;case 68:if($c){$c=false;cm=cm.$blk();}if(cm&&cm.$blk!==undefined){break s;}if(!cm){$s=66;continue;}$s=67;continue;case 66:ci=ci+(1)>>0;$s=62;continue;case 67:cn=Y(ck[0].Type);$s=69;case 69:if($c){$c=false;cn=cn.$blk();}if(cn&&cn.$blk!==undefined){break s;}co=cn.base;cp=co.Name();$s=70;case 70:if($c){$c=false;cp=cp.$blk();}if(cp&&cp.$blk!==undefined){break s;}cq=cp;if(cq===""){$s=71;continue;}$s=72;continue;case 71:cr=Y(ck[0].Type);$s=73;case 73:if($c){$c=false;cr=cr.$blk();}if(cr&&cr.$blk!==undefined){break s;}cs=cr.base;ct=cs.String();$s=74;case 74:if($c){$c=false;ct=ct.$blk();}if(ct&&ct.$blk!==undefined){break s;}cq=ct;case 72:cv=BO(cq,ck[0].Type);$s=75;case 75:if($c){$c=false;cv=cv.$blk();}if(cv&&cv.$blk!==undefined){break s;}cu=cv;cw=cu[0];cx=cu[1];if(!($interfaceIsEqual(cx,$ifaceNil))){$s=76;continue;}$s=77;continue;case 76:cy=[$ifaceNil,cx];$s=78;case 78:return cy;case 77:cz=cw.id();$s=81;case 81:if($c){$c=false;cz=cz.$blk();}if(cz&&cz.$blk!==undefined){break s;}if(cz===0){$s=79;continue;}$s=80;continue;case 79:$r=AG(cw);$s=82;case 82:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 80:da=cw.id();$s=83;case 83:if($c){$c=false;da=da.$blk();}if(da&&da.$blk!==undefined){break s;}cf.Field=$append(cf.Field,new BI.ptr(ck[0].Name,da));ci=ci+(1)>>0;$s=62;continue;case 63:db=[cf,$ifaceNil];$s=84;case 84:return db;case 18:dc=aa[0].String();$s=85;case 85:if($c){$c=false;dc=dc.$blk();}if(dc&&dc.$blk!==undefined){break s;}dd=B.New("gob NewTypeObject can't handle type: "+dc);$s=86;case 86:if($c){$c=false;dd=dd.$blk();}if(dd&&dd.$blk!==undefined){break s;}de=[$ifaceNil,dd];$s=87;case 87:return de;case 19:case 5:$s=-1;return[$ifaceNil,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[$ifaceNil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:BL};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.cr=cr;$f.cs=cs;$f.ct=ct;$f.cu=cu;$f.cv=cv;$f.cw=cw;$f.cx=cx;$f.cy=cy;$f.cz=cz;$f.da=da;$f.db=db;$f.dc=dc;$f.dd=dd;$f.de=de;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};BM=function(y){var aa,y,z;z=I.DecodeRuneInString(y);aa=z[0];return H.IsUpper(aa);};BN=function(y){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!BM(y.Name)){$s=-1;return false;}z=y.Type;case 1:aa=z.Kind();$s=3;case 3:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}if(!(aa===22)){$s=2;continue;}ab=z.Elem();$s=4;case 4:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}z=ab;$s=1;continue;case 2:ad=z.Kind();$s=8;case 8:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}if(ad===18){ac=true;$s=7;continue s;}ae=z.Kind();$s=9;case 9:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ac=ae===19;case 7:if(ac){$s=5;continue;}$s=6;continue;case 5:$s=-1;return false;case 6:$s=-1;return true;}return;}if($f===undefined){$f={$blk:BN};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BO=function(y,z){var aa,ab,ac,ad,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=Y(z);$s=1;case 1:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;ac=BP(y,ab,ab.base);$s=2;case 2:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;$s=3;case 3:return ad;}return;}if($f===undefined){$f={$blk:BO};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BP=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=(ac=AD[E.Type.keyFor(aa)],ac!==undefined?[ac.v,true]:[$ifaceNil,false]);ad=ab[0];ae=ab[1];if(ae){$s=-1;return[ad,$ifaceNil];}ag=BL(y,z,aa);$s=1;case 1:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;ad=af[0];ah=af[1];if($interfaceIsEqual(ah,$ifaceNil)){ai=aa;(AD||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(ai)]={k:ai,v:ad};}$s=-1;return[ad,ah];}return;}if($f===undefined){$f={$blk:BP};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BQ=function(y,z){var aa,ab,ac,ad,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!((y===z))){$s=1;continue;}$s=2;continue;case 1:aa=C.Fprintf(D.Stderr,"checkId: %d should be %d\n",new JG([new $Int(((z>>0))),new $Int(((y>>0)))]));$s=3;case 3:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}aa;ab=new Z(z).name();$s=4;case 4:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=new Z(z).string();$s=5;case 5:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=new Z(y).string();$s=6;case 6:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}$panic(new $String("bootstrap type wrong id: "+ab+" "+ac+" not "+ad));case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:BQ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BR=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=E.TypeOf(z).Elem();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;ad=(ae=AD[E.Type.keyFor(ac)],ae!==undefined?[ae.v,true]:[$ifaceNil,false]);af=ad[1];if(af){$s=2;continue;}$s=3;continue;case 2:ag=ac.String();$s=4;case 4:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}$panic(new $String("bootstrap type already present: "+y+", "+ag));case 3:ah=new AH.ptr(y,0);ai=ac;(AD||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(ai)]={k:ai,v:ah};$r=AG(ah);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=BQ(aa,AA);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aj=Y(ac);$s=7;case 7:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}aj;$s=-1;return AA;}return;}if($f===undefined){$f={$blk:BR};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BS.ptr.prototype.string=function(){var y;y=this;if(y===JK.nil){return"unknown type";}if(!(y.ArrayT===JB.nil)){return y.ArrayT.CommonType.Name;}else if(!(y.SliceT===JC.nil)){return y.SliceT.CommonType.Name;}else if(!(y.StructT===JD.nil)){return y.StructT.CommonType.Name;}else if(!(y.MapT===JE.nil)){return y.MapT.CommonType.Name;}else if(!(y.GobEncoderT===JF.nil)){return y.GobEncoderT.CommonType.Name;}else if(!(y.BinaryMarshalerT===JF.nil)){return y.BinaryMarshalerT.CommonType.Name;}else if(!(y.TextMarshalerT===JF.nil)){return y.TextMarshalerT.CommonType.Name;}return"unknown type";};BS.prototype.string=function(){return this.$val.string();};BV=function(y){var aa,ab,y,z;z=$assertType(BU.Load(),JM,true);aa=z[0];return(ab=aa[E.Type.keyFor(y)],ab!==undefined?ab.v:JL.nil);};BW=function(y){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=y.base;if(!((y.externalEnc===0))){z=y.user;}aa=BV(z);if(!(aa===JL.nil)){$s=-1;return[aa,$ifaceNil];}ab=BX(y,z);$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;$s=2;case 2:return ac;}return;}if($f===undefined){$f={$blk:BW};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BX=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);AB.Lock();$deferred.push([$methodVal(AB,"Unlock"),[]]);aa=BV(z);if(!(aa===JL.nil)){$s=1;continue;}$s=2;continue;case 1:ab=[aa,$ifaceNil];$s=3;case 3:return ab;case 2:ad=z.Name();$s=4;case 4:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=BO(ad,z);$s=5;case 5:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ac=ae;af=ac[0];ag=ac[1];if(!($interfaceIsEqual(ag,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:ah=[JL.nil,ag];$s=8;case 8:return ah;case 7:ai=af.id();$s=9;case 9:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=new BT.ptr(ai,new F.Mutex.ptr(false),new G.Value.ptr($ifaceNil),JK.nil);if(!((y.externalEnc===0))){$s=10;continue;}$s=11;continue;case 10:al=z.Name();$s=13;case 13:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=BP(al,y,z);$s=14;case 14:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}ak=am;an=ak[0];ao=ak[1];if(!($interfaceIsEqual(ao,$ifaceNil))){$s=15;continue;}$s=16;continue;case 15:ap=[JL.nil,ao];$s=17;case 17:return ap;case 16:aq=an.id();$s=18;case 18:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=new Z(aq).gobType();$s=19;case 19:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=$assertType(ar,JF);at=y.externalEnc;if(at===(1)){aj.wire=new BS.ptr(JB.nil,JC.nil,JD.nil,JE.nil,as,JF.nil,JF.nil);}else if(at===(2)){aj.wire=new BS.ptr(JB.nil,JC.nil,JD.nil,JE.nil,JF.nil,as,JF.nil);}else if(at===(3)){aj.wire=new BS.ptr(JB.nil,JC.nil,JD.nil,JE.nil,JF.nil,JF.nil,as);}z=y.user;$s=12;continue;case 11:au=new Z(aj.id).gobType();av=z;aw=av.Kind();$s=21;case 21:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;if(ax===(17)){$s=22;continue;}if(ax===(21)){$s=23;continue;}if(ax===(23)){$s=24;continue;}if(ax===(25)){$s=25;continue;}$s=26;continue;case 22:aj.wire=new BS.ptr($assertType(au,JB),JC.nil,JD.nil,JE.nil,JF.nil,JF.nil,JF.nil);$s=26;continue;case 23:aj.wire=new BS.ptr(JB.nil,JC.nil,JD.nil,$assertType(au,JE),JF.nil,JF.nil,JF.nil);$s=26;continue;case 24:ay=av.Elem();$s=29;case 29:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=ay.Kind();$s=30;case 30:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}if(!((az===8))){$s=27;continue;}$s=28;continue;case 27:aj.wire=new BS.ptr(JB.nil,$assertType(au,JC),JD.nil,JE.nil,JF.nil,JF.nil,JF.nil);case 28:$s=26;continue;case 25:aj.wire=new BS.ptr(JB.nil,JC.nil,$assertType(au,JD),JE.nil,JF.nil,JF.nil,JF.nil);case 26:case 20:case 12:ba={};bb=$assertType(BU.Load(),JM,true);bc=bb[0];bd=bc;be=0;bf=$keys(bd);while(true){if(!(be<bf.length)){break;}bg=bd[bf[be]];if(bg===undefined){be++;continue;}bh=bg.k;bi=bg.v;bj=bh;(ba||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(bj)]={k:bj,v:bi};be++;}bk=z;(ba||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(bk)]={k:bk,v:aj};BU.Store(new JM(ba));bl=[aj,$ifaceNil];$s=31;case 31:return bl;}return;}}catch(err){$err=err;$s=-1;return[JL.nil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:BX};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};BY=function(y){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=Y(y);$s=1;case 1:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=BW(aa);$s=2;case 2:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}z=ab;ac=z[0];ad=z[1];if(!($interfaceIsEqual(ad,$ifaceNil))){$s=3;continue;}$s=4;continue;case 3:ae=ad.Error();$s=5;case 5:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}$panic(new $String("getTypeInfo: "+ae));case 4:$s=-1;return ac;}return;}if($f===undefined){$f={$blk:BY};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CD=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(y===""){$panic(new $String("attempt to register empty name"));}aa=Y(E.TypeOf(z));$s=1;case 1:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;ac=CB.LoadOrStore(new $String(y),E.TypeOf(z));ad=ac[0];ae=ac[1];if(ae&&!($interfaceIsEqual(ad,ab.user))){$s=2;continue;}$s=3;continue;case 2:af=C.Sprintf("gob: registering duplicate types for %q: %s != %s",new JG([new $String(y),ad,ab.user]));$s=4;case 4:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}$panic(new $String(af));case 3:ag=CC.LoadOrStore(ab.base,new $String(y));ah=ag[0];ai=ag[1];if(ai&&!($interfaceIsEqual(ah,new $String(y)))){$s=5;continue;}$s=6;continue;case 5:CB.Delete(new $String(y));aj=C.Sprintf("gob: registering duplicate names for %s: %q != %q",new JG([ab.user,ah,new $String(y)]));$s=7;case 7:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$panic(new $String(aj));case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:CD};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.RegisterName=CD;CE=function(y){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=E.TypeOf(y);aa=z.String();$s=1;case 1:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;ac="";ad=z.Name();$s=4;case 4:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}if(ad===""){$s=2;continue;}$s=3;continue;case 2:ae=z;af=ae.Kind();$s=7;case 7:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}if(af===22){$s=5;continue;}$s=6;continue;case 5:ac="*";z=ae;case 6:case 3:ag=z.Name();$s=10;case 10:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}if(!(ag==="")){$s=8;continue;}$s=9;continue;case 8:ah=z.PkgPath();$s=14;case 14:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}if(ah===""){$s=11;continue;}$s=12;continue;case 11:ai=z.Name();$s=15;case 15:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ab=ac+ai;$s=13;continue;case 12:aj=z.PkgPath();$s=16;case 16:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=z.Name();$s=17;case 17:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}ab=ac+aj+"."+ak;case 13:case 9:$r=CD(ab,y);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:CE};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Register=CE;CF=function(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=CE(new $Int(0));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $Int8(0));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $Int16(0));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $Int32(0));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $Int64(0,0));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $Uint(0));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $Uint8(0));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $Uint16(0));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $Uint32(0));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $Uint64(0,0));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $Float32(0));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $Float64(0));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $Complex64(0,0));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $Complex128(0,0));$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $Uintptr(0));$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $Bool(false));$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE(new $String(""));$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((II.nil));$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((JN.nil));$s=19;case 19:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((JO.nil));$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((JP.nil));$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((JQ.nil));$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((JR.nil));$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((JS.nil));$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((II.nil));$s=25;case 25:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((JT.nil));$s=26;case 26:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((JU.nil));$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((JV.nil));$s=28;case 28:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((JW.nil));$s=29;case 29:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((JX.nil));$s=30;case 30:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((JY.nil));$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((JZ.nil));$s=32;case 32:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((KA.nil));$s=33;case 33:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((KB.nil));$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CE((KC.nil));$s=35;case 35:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:CF};}$f.$s=$s;$f.$r=$r;return $f;};CH=function(y,z){var aa,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=C.Errorf("gob: "+y,z);$s=1;case 1:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}$r=CI(aa);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:CH};}$f.aa=aa;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CI=function(y){var y,z;$panic((z=new CG.ptr(y),new z.constructor.elem(z)));};CJ=function(y){var aa,ab,ac,y,z;z=$recover();if(!($interfaceIsEqual(z,$ifaceNil))){aa=$assertType(z,CG,true);ab=$clone(aa[0],CG);ac=aa[1];if(!ac){$panic(z);}y.$set(ab.err);}};CM=function(y){var y,z;z=new CK.ptr(new F.Mutex.ptr(false),KD.nil,false,KE.nil,KE.nil,new CP.ptr(II.nil,JH.zero()),$ifaceNil);z.w=new KD([y]);z.sent={};z.countState=z.newEncoderState(new CP.ptr(II.nil,JH.zero()));return z;};$pkg.NewEncoder=CM;CK.ptr.prototype.writer=function(){var aa,y,z;y=this;return(z=y.w,aa=y.w.$length-1>>0,((aa<0||aa>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+aa]));};CK.prototype.writer=function(){return this.$val.writer();};CK.ptr.prototype.pushWriter=function(y){var y,z;z=this;z.w=$append(z.w,y);};CK.prototype.pushWriter=function(y){return this.$val.pushWriter(y);};CK.ptr.prototype.popWriter=function(){var y;y=this;y.w=$subslice(y.w,0,(y.w.$length-1>>0));};CK.prototype.popWriter=function(){return this.$val.popWriter();};CK.ptr.prototype.setError=function(y){var y,z;z=this;if($interfaceIsEqual(z.err,$ifaceNil)){z.err=y;}};CK.prototype.setError=function(y){return this.$val.setError(y);};CK.ptr.prototype.writeMessage=function(y,z){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=this;ab=z.Bytes();ac=ab.$length-9>>0;if(ac>=1073741824){aa.setError(B.New("gob: encoder: message too big"));$s=-1;return;}aa.countState.b.Reset();aa.countState.encodeUint((new $Uint64(0,ac)));ad=9-aa.countState.b.Len()>>0;$copySlice($subslice(ab,ad),aa.countState.b.Bytes());af=y.Write($subslice(ab,ad));$s=1;case 1:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;ag=ae[1];z.Reset();z.Write(CL);if(!($interfaceIsEqual(ag,$ifaceNil))){aa.setError(ag);}$s=-1;return;}return;}if($f===undefined){$f={$blk:CK.ptr.prototype.writeMessage};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CK.prototype.writeMessage=function(y,z){return this.$val.writeMessage(y,z);};CK.ptr.prototype.sendActualType=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ac=false;ad=this;ae=(af=ad.sent[E.Type.keyFor(ab)],af!==undefined?[af.v,true]:[0,false]);ag=ae[1];if(ag){ac=false;$s=-1;return ac;}ai=BW(aa);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;aj=ah[0];ak=ah[1];if(!($interfaceIsEqual(ak,$ifaceNil))){ad.setError(ak);$s=-1;return ac;}z.encodeInt((al=(new $Int64(0,aj.id)),new $Int64(-al.$high,-al.$low)));am=z.b;an=E.ValueOf(aj.wire);$s=2;case 2:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=$clone(an,E.Value);ap=AY;$r=ad.encode(am,ao,ap);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=ad.writeMessage(y,z.b);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(ad.err,$ifaceNil))){$s=-1;return ac;}aq=aa.base;(ad.sent||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(aq)]={k:aq,v:aj.id};if(!($interfaceIsEqual(aa.user,aa.base))){ar=aa.user;(ad.sent||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(ar)]={k:ar,v:aj.id};}as=ab;at=as.Kind();$s=6;case 6:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;if(au===(25)){$s=7;continue;}if((au===(17))||(au===(23))){$s=8;continue;}if(au===(21)){$s=9;continue;}$s=10;continue;case 7:av=0;case 11:aw=as.NumField();$s=13;case 13:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}if(!(av<aw)){$s=12;continue;}ax=as.Field(av);$s=16;case 16:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ay=BM(ax.Name);$s=17;case 17:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}if(ay){$s=14;continue;}$s=15;continue;case 14:az=y;ba=z;bb=as.Field(av);$s=18;case 18:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=bb.Type;bd=ad.sendType(az,ba,bc);$s=19;case 19:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}bd;case 15:av=av+(1)>>0;$s=11;continue;case 12:$s=10;continue;case 8:be=y;bf=z;bg=as.Elem();$s=20;case 20:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bh=bg;bi=ad.sendType(be,bf,bh);$s=21;case 21:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}bi;$s=10;continue;case 9:bj=y;bk=z;bl=as.Key();$s=22;case 22:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}bm=bl;bn=ad.sendType(bj,bk,bm);$s=23;case 23:if($c){$c=false;bn=bn.$blk();}if(bn&&bn.$blk!==undefined){break s;}bn;bo=y;bp=z;bq=as.Elem();$s=24;case 24:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}br=bq;bs=ad.sendType(bo,bp,br);$s=25;case 25:if($c){$c=false;bs=bs.$blk();}if(bs&&bs.$blk!==undefined){break s;}bs;case 10:case 5:ac=true;$s=-1;return ac;}return;}if($f===undefined){$f={$blk:CK.ptr.prototype.sendActualType};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CK.prototype.sendActualType=function(y,z,aa,ab){return this.$val.sendActualType(y,z,aa,ab);};CK.ptr.prototype.sendType=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=false;ac=this;ad=Y(aa);$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;if(!((ae.externalEnc===0))){$s=2;continue;}$s=3;continue;case 2:af=ac.sendActualType(y,z,ae,ae.base);$s=4;case 4:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ab=af;ag=ab;$s=5;case 5:return ag;case 3:ah=ae.base;ai=ah.Kind();$s=7;case 7:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=ai;if(aj===(23)){$s=8;continue;}if(aj===(17)){$s=9;continue;}if(aj===(21)){$s=10;continue;}if(aj===(25)){$s=11;continue;}if((aj===(18))||(aj===(19))){$s=12;continue;}$s=13;continue;case 8:ak=ah.Elem();$s=17;case 17:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=ak.Kind();$s=18;case 18:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}if(al===8){$s=15;continue;}$s=16;continue;case 15:$s=-1;return ab;case 16:$s=6;continue;$s=14;continue;case 9:$s=6;continue;$s=14;continue;case 10:$s=6;continue;$s=14;continue;case 11:$s=6;continue;$s=14;continue;case 12:$s=-1;return ab;case 13:$s=-1;return ab;case 14:case 6:am=ac.sendActualType(y,z,ae,ae.base);$s=19;case 19:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}ab=am;an=ab;$s=20;case 20:return an;}return;}if($f===undefined){$f={$blk:CK.ptr.prototype.sendType};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CK.prototype.sendType=function(y,z,aa){return this.$val.sendType(y,z,aa);};CK.ptr.prototype.Encode=function(y){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=this;aa=E.ValueOf(y);$s=1;case 1:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=z.EncodeValue($clone(aa,E.Value));$s=2;case 2:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;$s=3;case 3:return ac;}return;}if($f===undefined){$f={$blk:CK.ptr.prototype.Encode};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CK.prototype.Encode=function(y){return this.$val.Encode(y);};CK.ptr.prototype.sendTypeDescriptor=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=this;ac=aa.base;if(!((aa.externalEnc===0))){ac=aa.user;}ad=(ae=ab.sent[E.Type.keyFor(ac)],ae!==undefined?[ae.v,true]:[0,false]);af=ad[1];if(!af){$s=1;continue;}$s=2;continue;case 1:ag=ab.sendType(y,z,ac);$s=3;case 3:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=ag;if(!($interfaceIsEqual(ab.err,$ifaceNil))){$s=-1;return;}if(!ah){$s=4;continue;}$s=5;continue;case 4:aj=BW(aa);$s=6;case 6:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;ak=ai[0];al=ai[1];if(!($interfaceIsEqual(al,$ifaceNil))){ab.setError(al);$s=-1;return;}am=ac;(ab.sent||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(am)]={k:am,v:ak.id};case 5:case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:CK.ptr.prototype.sendTypeDescriptor};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CK.prototype.sendTypeDescriptor=function(y,z,aa){return this.$val.sendTypeDescriptor(y,z,aa);};CK.ptr.prototype.sendTypeId=function(y,z){var aa,ab,y,z;aa=this;y.encodeInt((new $Int64(0,(ab=aa.sent[E.Type.keyFor(z.base)],ab!==undefined?ab.v:0))));};CK.prototype.sendTypeId=function(y,z){return this.$val.sendTypeId(y,z);};CK.ptr.prototype.EncodeValue=function(y){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);z=this;if($clone(y,E.Value).Kind()===0){$s=1;continue;}$s=2;continue;case 1:aa=B.New("gob: cannot encode nil value");$s=3;case 3:return aa;case 2:if(($clone(y,E.Value).Kind()===22)&&$clone(y,E.Value).IsNil()){$s=4;continue;}$s=5;continue;case 4:ab=$clone(y,E.Value).Type().String();$s=6;case 6:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}$panic(new $String("gob: cannot encode nil pointer of type "+ab));case 5:z.mutex.Lock();$deferred.push([$methodVal(z.mutex,"Unlock"),[]]);z.w=$subslice(z.w,0,1);ad=Q($clone(y,E.Value).Type());$s=7;case 7:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;ae=ac[0];af=ac[1];if(!($interfaceIsEqual(af,$ifaceNil))){$s=8;continue;}$s=9;continue;case 8:ag=af;$s=10;case 10:return ag;case 9:z.err=$ifaceNil;z.byteBuf.Reset();z.byteBuf.Write(CL);ah=z.newEncoderState(z.byteBuf);$r=z.sendTypeDescriptor(z.writer(),ah,ae);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}z.sendTypeId(ah,ae);if(!($interfaceIsEqual(z.err,$ifaceNil))){$s=12;continue;}$s=13;continue;case 12:ai=z.err;$s=14;case 14:return ai;case 13:$r=z.encode(ah.b,$clone(y,E.Value),ae);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if($interfaceIsEqual(z.err,$ifaceNil)){$s=16;continue;}$s=17;continue;case 16:$r=z.writeMessage(z.writer(),ah.b);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 17:z.freeEncoderState(ah);aj=z.err;$s=19;case 19:return aj;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:CK.ptr.prototype.EncodeValue};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};CK.prototype.EncodeValue=function(y){return this.$val.EncodeValue(y);};CP.ptr.prototype.writeByte=function(y){var y,z;z=this;z.data=$append(z.data,y);};CP.prototype.writeByte=function(y){return this.$val.writeByte(y);};CP.ptr.prototype.Write=function(y){var y,z;z=this;z.data=$appendSlice(z.data,y);return[y.$length,$ifaceNil];};CP.prototype.Write=function(y){return this.$val.Write(y);};CP.ptr.prototype.WriteString=function(y){var y,z;z=this;z.data=$appendSlice(z.data,y);};CP.prototype.WriteString=function(y){return this.$val.WriteString(y);};CP.ptr.prototype.Len=function(){var y;y=this;return y.data.$length;};CP.prototype.Len=function(){return this.$val.Len();};CP.ptr.prototype.Bytes=function(){var y;y=this;return y.data;};CP.prototype.Bytes=function(){return this.$val.Bytes();};CP.ptr.prototype.Reset=function(){var y;y=this;if(y.data.$length>=1073741824){y.data=$subslice(new II(y.scratch),0,0);}else{y.data=$subslice(y.data,0,0);}};CP.prototype.Reset=function(){return this.$val.Reset();};CK.ptr.prototype.newEncoderState=function(y){var aa,y,z;z=this;aa=z.freeList;if(aa===KE.nil){aa=new CO.ptr(KF.nil,KG.nil,false,0,KH.zero(),KE.nil);aa.enc=z;}else{z.freeList=aa.next;}aa.sendZero=false;aa.fieldnum=0;aa.b=y;if(y.data.$length===0){y.data=$subslice(new II(y.scratch),0,0);}return aa;};CK.prototype.newEncoderState=function(y){return this.$val.newEncoderState(y);};CK.ptr.prototype.freeEncoderState=function(y){var y,z;z=this;y.next=z.freeList;z.freeList=y;};CK.prototype.freeEncoderState=function(y){return this.$val.freeEncoderState(y);};CO.ptr.prototype.encodeUint=function(y){var aa,ab,y,z;z=this;if((y.$high<0||(y.$high===0&&y.$low<=127))){z.b.writeByte(((y.$low<<24>>>24)));return;}$clone(K.BigEndian,K.bigEndian).PutUint64($subslice(new II(z.buf),1),y);aa=M.LeadingZeros64(y)>>3>>0;(ab=z.buf,((aa<0||aa>=ab.length)?($throwRuntimeError("index out of range"),undefined):ab[aa]=(((aa-8>>0)<<24>>>24))));z.b.Write($subslice(new II(z.buf),aa,9));};CO.prototype.encodeUint=function(y){return this.$val.encodeUint(y);};CO.ptr.prototype.encodeInt=function(y){var aa,ab,ac,ad,y,z;z=this;aa=new $Uint64(0,0);if((y.$high<0||(y.$high===0&&y.$low<0))){aa=(ab=((ac=$shiftLeft64(new $Int64(~y.$high,~y.$low>>>0),1),new $Uint64(ac.$high,ac.$low))),new $Uint64(ab.$high|0,(ab.$low|1)>>>0));}else{aa=((ad=$shiftLeft64(y,1),new $Uint64(ad.$high,ad.$low)));}z.encodeUint(aa);};CO.prototype.encodeInt=function(y){return this.$val.encodeInt(y);};CO.ptr.prototype.update=function(y){var y,z;z=this;if(!(y===KI.nil)){z.encodeUint((new $Uint64(0,(y.field-z.fieldnum>>0))));z.fieldnum=y.field;}};CO.prototype.update=function(y){return this.$val.update(y);};CT=function(y,z){var aa,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:if(!(z>0)){$s=2;continue;}if($clone(y,E.Value).IsNil()){$s=2;continue;}aa=$clone(y,E.Value).Elem();$s=3;case 3:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}y=aa;z=z-(1)>>0;$s=1;continue;case 2:$s=-1;return y;}return;}if($f===undefined){$f={$blk:CT};}$f.aa=aa;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CU=function(y,z,aa){var aa,ab,y,z;ab=$clone(aa,E.Value).Bool();if(ab||z.sendZero){z.update(y);if(ab){z.encodeUint(new $Uint64(0,1));}else{z.encodeUint(new $Uint64(0,0));}}};CV=function(y,z,aa){var aa,ab,y,z;ab=$clone(aa,E.Value).Int();if(!((ab.$high===0&&ab.$low===0))||z.sendZero){z.update(y);z.encodeInt(ab);}};CW=function(y,z,aa){var aa,ab,y,z;ab=$clone(aa,E.Value).Uint();if(!((ab.$high===0&&ab.$low===0))||z.sendZero){z.update(y);z.encodeUint(ab);}};CX=function(y){var y,z;z=L.Float64bits(y);return M.ReverseBytes64(z);};CY=function(y,z,aa){var aa,ab,ac,y,z;ab=$clone(aa,E.Value).Float();if(!((ab===0))||z.sendZero){ac=CX(ab);z.update(y);z.encodeUint(ac);}};CZ=function(y,z,aa){var aa,ab,ac,ad,y,z;ab=$clone(aa,E.Value).Complex();if(!((ab.$real===0&&ab.$imag===0))||z.sendZero){ac=CX(ab.$real);ad=CX(ab.$imag);z.update(y);z.encodeUint(ac);z.encodeUint(ad);}};DA=function(y,z,aa){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(aa,E.Value).Bytes();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;if(ac.$length>0||z.sendZero){z.update(y);z.encodeUint((new $Uint64(0,ac.$length)));z.b.Write(ac);}$s=-1;return;}return;}if($f===undefined){$f={$blk:DA};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DB=function(y,z,aa){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(aa,E.Value).String();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;if(ac.length>0||z.sendZero){z.update(y);z.encodeUint((new $Uint64(0,ac.length)));z.b.WriteString(ac);}$s=-1;return;}return;}if($f===undefined){$f={$blk:DB};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DC=function(y,z,aa){var aa,y,z;z.encodeUint(new $Uint64(0,0));};DE=function(y){var y,z;z=$clone(y,E.Value).Kind();if(z===(0)){return false;}else if(z===(22)){return!$clone(y,E.Value).IsNil();}return true;};CK.ptr.prototype.encodeSingle=function(y,z,aa){var aa,ab,ac,ad,ae,af,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);ab=this;ac=ab.newEncoderState(y);$deferred.push([$methodVal(ab,"freeEncoderState"),[ac]]);ac.fieldnum=0;ac.sendZero=true;ae=(ad=z.instr,(0>=ad.$length?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+0]));if(ae.indir>0){$s=1;continue;}$s=2;continue;case 1:af=CT($clone(aa,E.Value),ae.indir);$s=3;case 3:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}aa=af;case 2:if(DE($clone(aa,E.Value))){$s=4;continue;}$s=5;continue;case 4:$r=ae.op(ae,ac,$clone(aa,E.Value));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:CK.ptr.prototype.encodeSingle};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};CK.prototype.encodeSingle=function(y,z,aa){return this.$val.encodeSingle(y,z,aa);};CK.ptr.prototype.encodeStruct=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);ab=this;if(!DE($clone(aa,E.Value))){$s=1;continue;}$s=2;continue;case 1:$s=3;case 3:return;case 2:ac=ab.newEncoderState(y);$deferred.push([$methodVal(ab,"freeEncoderState"),[ac]]);ac.fieldnum=-1;ad=0;case 4:if(!(ad<z.instr.$length)){$s=5;continue;}af=(ae=z.instr,((ad<0||ad>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ad]));if(ad>=$clone(aa,E.Value).NumField()){$s=6;continue;}$s=7;continue;case 6:$r=af.op(af,ac,new E.Value.ptr(HX.nil,0,0));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 7:ag=$clone(aa,E.Value).FieldByIndex(af.index);$s=9;case 9:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=ag;if(af.indir>0){$s=10;continue;}$s=11;continue;case 10:ai=CT($clone(ah,E.Value),af.indir);$s=12;case 12:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;if(!DE($clone(ah,E.Value))){ad=ad+(1)>>0;$s=4;continue;}case 11:$r=af.op(af,ac,$clone(ah,E.Value));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ad=ad+(1)>>0;$s=4;continue;case 5:$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:CK.ptr.prototype.encodeStruct};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};CK.prototype.encodeStruct=function(y,z,aa){return this.$val.encodeStruct(y,z,aa);};CK.ptr.prototype.encodeArray=function(y,z,aa,ab,ac,ad){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);ae=this;af=ae.newEncoderState(y);$deferred.push([$methodVal(ae,"freeEncoderState"),[af]]);af.fieldnum=-1;af.sendZero=true;af.encodeUint((new $Uint64(0,ac)));if(!(!(ad===$throwNilPointerError))){ag=false;$s=3;continue s;}ah=ad(af,$clone(z,E.Value));$s=4;case 4:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;case 3:if(ag){$s=1;continue;}$s=2;continue;case 1:$s=5;case 5:return;case 2:ai=0;case 6:if(!(ai<ac)){$s=7;continue;}aj=$clone(z,E.Value).Index(ai);$s=8;case 8:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj;if(ab>0){$s=9;continue;}$s=10;continue;case 9:al=CT($clone(ak,E.Value),ab);$s=11;case 11:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ak=al;if(!DE($clone(ak,E.Value))){$s=12;continue;}$s=13;continue;case 12:$r=CH("encodeArray: nil element",new JG([]));$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 13:case 10:$r=aa(KI.nil,af,$clone(ak,E.Value));$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ai=ai+(1)>>0;$s=6;continue;case 7:$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:CK.ptr.prototype.encodeArray};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};CK.prototype.encodeArray=function(y,z,aa,ab,ac,ad){return this.$val.encodeArray(y,z,aa,ab,ac,ad);};DF=function(y,z,aa,ab){var aa,ab,ac,ad,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ac=0;case 1:if(!(ac<ab&&$clone(z,E.Value).IsValid())){$s=2;continue;}ad=E.Indirect($clone(z,E.Value));$s=3;case 3:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}z=ad;ac=ac+(1)>>0;$s=1;continue;case 2:if(!$clone(z,E.Value).IsValid()){$s=4;continue;}$s=5;continue;case 4:$r=CH("encodeReflectValue: nil element",new JG([]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:$r=aa(KI.nil,y,$clone(z,E.Value));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:DF};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CK.ptr.prototype.encodeMap=function(y,z,aa,ab,ac,ad){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ae=this;af=ae.newEncoderState(y);af.fieldnum=-1;af.sendZero=true;ag=$clone(z,E.Value).MapKeys();$s=1;case 1:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=ag;af.encodeUint((new $Uint64(0,ah.$length)));ai=ah;aj=0;case 2:if(!(aj<ai.$length)){$s=3;continue;}ak=((aj<0||aj>=ai.$length)?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+aj]);$r=DF(af,$clone(ak,E.Value),aa,ac);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}al=af;am=$clone(z,E.Value).MapIndex($clone(ak,E.Value));$s=5;case 5:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=$clone(am,E.Value);ao=ab;ap=ad;$r=DF(al,an,ao,ap);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aj++;$s=2;continue;case 3:ae.freeEncoderState(af);$s=-1;return;}return;}if($f===undefined){$f={$blk:CK.ptr.prototype.encodeMap};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CK.prototype.encodeMap=function(y,z,aa,ab,ac,ad){return this.$val.encodeMap(y,z,aa,ab,ac,ad);};CK.ptr.prototype.encodeInterface=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=this;ab=$clone(z,E.Value).Elem();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;if(($clone(ac,E.Value).Kind()===22)&&$clone(ac,E.Value).IsNil()){$s=2;continue;}$s=3;continue;case 2:ad=$clone(z,E.Value).Elem();$s=4;case 4:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value).Type();$s=5;case 5:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=ae;$r=CH("gob: cannot encode nil pointer of type %s inside interface",new JG([af]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:ag=aa.newEncoderState(y);ag.fieldnum=-1;ag.sendZero=true;if($clone(z,E.Value).IsNil()){ag.encodeUint(new $Uint64(0,0));$s=-1;return;}ah=$clone(z,E.Value).Elem();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=$clone(ah,E.Value).Type();$s=8;case 8:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=Y(ai);$s=9;case 9:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj;al=CC.Load(ak.base);am=al[0];an=al[1];if(!an){$s=10;continue;}$s=11;continue;case 10:$r=CH("type not registered for interface: %s",new JG([ak.base]));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 11:ao=$assertType(am,$String);ag.encodeUint((new $Uint64(0,ao.length)));ag.b.WriteString(ao);$r=aa.sendTypeDescriptor(aa.writer(),ag,ak);$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aa.sendTypeId(ag,ak);aa.pushWriter(y);ap=CQ.Get();$s=14;case 14:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=$assertType(ap,KG);aq.Write(CL);$r=aa.encode(aq,$clone(ac,E.Value),ak);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(aa.err,$ifaceNil))){CI(aa.err);}aa.popWriter();$r=aa.writeMessage(y,aq);$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aq.Reset();CQ.Put(aq);if(!($interfaceIsEqual(aa.err,$ifaceNil))){CI(aa.err);}aa.freeEncoderState(ag);$s=-1;return;}return;}if($f===undefined){$f={$blk:CK.ptr.prototype.encodeInterface};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CK.prototype.encodeInterface=function(y,z){return this.$val.encodeInterface(y,z);};DG=function(y){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=$clone(y,E.Value).Kind();if(z===(17)){$s=2;continue;}if((z===(21))||(z===(23))||(z===(24))){$s=3;continue;}if(z===(1)){$s=4;continue;}if((z===(15))||(z===(16))){$s=5;continue;}if((z===(18))||(z===(19))||(z===(20))||(z===(22))){$s=6;continue;}if((z===(2))||(z===(3))||(z===(4))||(z===(5))||(z===(6))){$s=7;continue;}if((z===(13))||(z===(14))){$s=8;continue;}if((z===(7))||(z===(8))||(z===(9))||(z===(10))||(z===(11))||(z===(12))){$s=9;continue;}if(z===(25)){$s=10;continue;}$s=11;continue;case 2:aa=0;case 12:if(!(aa<$clone(y,E.Value).Len())){$s=13;continue;}ab=$clone(y,E.Value).Index(aa);$s=16;case 16:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=DG($clone(ab,E.Value));$s=17;case 17:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}if(!ac){$s=14;continue;}$s=15;continue;case 14:$s=-1;return false;case 15:aa=aa+(1)>>0;$s=12;continue;case 13:$s=-1;return true;case 3:$s=-1;return $clone(y,E.Value).Len()===0;case 4:$s=-1;return!$clone(y,E.Value).Bool();case 5:$s=-1;return(ad=$clone(y,E.Value).Complex(),(ad.$real===0&&ad.$imag===0));case 6:$s=-1;return $clone(y,E.Value).IsNil();case 7:$s=-1;return(ae=$clone(y,E.Value).Int(),(ae.$high===0&&ae.$low===0));case 8:$s=-1;return $clone(y,E.Value).Float()===0;case 9:$s=-1;return(af=$clone(y,E.Value).Uint(),(af.$high===0&&af.$low===0));case 10:ag=0;case 18:if(!(ag<$clone(y,E.Value).NumField())){$s=19;continue;}ah=$clone(y,E.Value).Field(ag);$s=22;case 22:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=DG($clone(ah,E.Value));$s=23;case 23:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}if(!ai){$s=20;continue;}$s=21;continue;case 20:$s=-1;return false;case 21:ag=ag+(1)>>0;$s=18;continue;case 19:$s=-1;return true;case 11:case 1:aj=$clone(y,E.Value).Type().String();$s=24;case 24:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$panic(new $String("unknown type in isZero "+aj));$s=-1;return false;}return;}if($f===undefined){$f={$blk:DG};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CK.ptr.prototype.encodeGobEncoder=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=this;ac=II.nil;ad=$ifaceNil;ae=z.externalEnc;if(ae===(1)){$s=2;continue;}if(ae===(2)){$s=3;continue;}if(ae===(3)){$s=4;continue;}$s=5;continue;case 2:ag=$clone(aa,E.Value).Interface();$s=6;case 6:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=$assertType(ag,BZ).GobEncode();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}af=ah;ac=af[0];ad=af[1];$s=5;continue;case 3:aj=$clone(aa,E.Value).Interface();$s=8;case 8:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=$assertType(aj,A.BinaryMarshaler).MarshalBinary();$s=9;case 9:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}ai=ak;ac=ai[0];ad=ai[1];$s=5;continue;case 4:am=$clone(aa,E.Value).Interface();$s=10;case 10:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=$assertType(am,A.TextMarshaler).MarshalText();$s=11;case 11:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}al=an;ac=al[0];ad=al[1];case 5:case 1:if(!($interfaceIsEqual(ad,$ifaceNil))){CI(ad);}ao=ab.newEncoderState(y);ao.fieldnum=-1;ao.encodeUint((new $Uint64(0,ac.$length)));ao.b.Write(ac);ab.freeEncoderState(ao);$s=-1;return;}return;}if($f===undefined){$f={$blk:CK.ptr.prototype.encodeGobEncoder};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CK.prototype.encodeGobEncoder=function(y,z,aa){return this.$val.encodeGobEncoder(y,z,aa);};DI=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=[ab];ac=[ac];ad=[ad];ae=[ae];af=[af];ag=[ag];ah=[ah];ai=[ai];aj=[aj];ak=[ak];al=[al];am=[am];an=Y(y);$s=1;case 1:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=an;if(!((ao.externalEnc===0))){$s=2;continue;}$s=3;continue;case 2:ap=DJ(ao);$s=4;case 4:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap;$s=5;case 5:return aq;case 3:as=(ar=z[E.Type.keyFor(y)],ar!==undefined?ar.v:KJ.nil);if(!(as===KJ.nil)){$s=-1;return[as,ao.indir];}at=ao.base;au=ao.indir;av=at.Kind();$s=6;case 6:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=av;am[0]=$throwNilPointerError;if(((aw>>0))<25){am[0]=((aw<0||aw>=DH.length)?($throwRuntimeError("index out of range"),undefined):DH[aw]);}if(am[0]===$throwNilPointerError){$s=7;continue;}$s=8;continue;case 7:ax=y;(z||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(ax)]={k:ax,v:(am.$ptr||(am.$ptr=new KJ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},am)))};ay=at;az=ay.Kind();$s=10;case 10:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=az;if(ba===(23)){$s=11;continue;}if(ba===(17)){$s=12;continue;}if(ba===(21)){$s=13;continue;}if(ba===(25)){$s=14;continue;}if(ba===(20)){$s=15;continue;}$s=16;continue;case 11:bb=ay.Elem();$s=19;case 19:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=bb.Kind();$s=20;case 20:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}if(bc===8){$s=17;continue;}$s=18;continue;case 17:am[0]=DA;$s=9;continue;case 18:be=ay.Elem();$s=21;case 21:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}bf=DI(be,z,aa);$s=22;case 22:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}bd=bf;ae[0]=bd[0];ab[0]=bd[1];bg=ay.Elem();$s=23;case 23:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bh=bg.Kind();$s=24;case 24:if($c){$c=false;bh=bh.$blk();}if(bh&&bh.$blk!==undefined){break s;}ah[0]=(bi=DO[E.Kind.keyFor(bh)],bi!==undefined?bi.v:$throwNilPointerError);am[0]=(function(ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am){return function $b(bj,bk,bl){var bj,bk,bl,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;bj=$f.bj;bk=$f.bk;bl=$f.bl;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!bk.sendZero&&($clone(bl,E.Value).Len()===0)){$s=-1;return;}bk.update(bj);$r=bk.enc.encodeArray(bk.b,$clone(bl,E.Value),ae[0].$get(),ab[0],$clone(bl,E.Value).Len(),ah[0]);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.$s=$s;$f.$r=$r;return $f;};})(ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am);$s=16;continue;case 12:bk=ay.Elem();$s=25;case 25:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}bl=DI(bk,z,aa);$s=26;case 26:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}bj=bl;af[0]=bj[0];ac[0]=bj[1];bm=ay.Elem();$s=27;case 27:if($c){$c=false;bm=bm.$blk();}if(bm&&bm.$blk!==undefined){break s;}bn=bm.Kind();$s=28;case 28:if($c){$c=false;bn=bn.$blk();}if(bn&&bn.$blk!==undefined){break s;}ai[0]=(bo=DN[E.Kind.keyFor(bn)],bo!==undefined?bo.v:$throwNilPointerError);am[0]=(function(ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am){return function $b(bp,bq,br){var bp,bq,br,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;bp=$f.bp;bq=$f.bq;br=$f.br;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:bq.update(bp);$r=bq.enc.encodeArray(bq.b,$clone(br,E.Value),af[0].$get(),ac[0],$clone(br,E.Value).Len(),ai[0]);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.bp=bp;$f.bq=bq;$f.br=br;$f.$s=$s;$f.$r=$r;return $f;};})(ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am);$s=16;continue;case 13:bq=ay.Key();$s=29;case 29:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}br=DI(bq,z,aa);$s=30;case 30:if($c){$c=false;br=br.$blk();}if(br&&br.$blk!==undefined){break s;}bp=br;al[0]=bp[0];ak[0]=bp[1];bt=ay.Elem();$s=31;case 31:if($c){$c=false;bt=bt.$blk();}if(bt&&bt.$blk!==undefined){break s;}bu=DI(bt,z,aa);$s=32;case 32:if($c){$c=false;bu=bu.$blk();}if(bu&&bu.$blk!==undefined){break s;}bs=bu;ag[0]=bs[0];ad[0]=bs[1];am[0]=(function(ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am){return function $b(bv,bw,bx){var bv,bw,bx,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;bv=$f.bv;bw=$f.bw;bx=$f.bx;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!bw.sendZero&&$clone(bx,E.Value).IsNil()){$s=-1;return;}bw.update(bv);$r=bw.enc.encodeMap(bw.b,$clone(bx,E.Value),al[0].$get(),ag[0].$get(),ak[0],ad[0]);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.$s=$s;$f.$r=$r;return $f;};})(ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am);$s=16;continue;case 14:bv=Y(at);$s=33;case 33:if($c){$c=false;bv=bv.$blk();}if(bv&&bv.$blk!==undefined){break s;}bw=DL(bv,aa);$s=34;case 34:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}bw;bx=BY(at);$s=35;case 35:if($c){$c=false;bx=bx.$blk();}if(bx&&bx.$blk!==undefined){break s;}aj[0]=bx;am[0]=(function(ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am){return function $b(by,bz,ca){var by,bz,ca,cb,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;by=$f.by;bz=$f.bz;ca=$f.ca;cb=$f.cb;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:bz.update(by);cb=$assertType(aj[0].encoder.Load(),KK);$r=bz.enc.encodeStruct(bz.b,cb,$clone(ca,E.Value));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.by=by;$f.bz=bz;$f.ca=ca;$f.cb=cb;$f.$s=$s;$f.$r=$r;return $f;};})(ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am);$s=16;continue;case 15:am[0]=(function(ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am){return function $b(by,bz,ca){var by,bz,ca,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;by=$f.by;bz=$f.bz;ca=$f.ca;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!bz.sendZero&&(!$clone(ca,E.Value).IsValid()||$clone(ca,E.Value).IsNil())){$s=-1;return;}bz.update(by);$r=bz.enc.encodeInterface(bz.b,$clone(ca,E.Value));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.by=by;$f.bz=bz;$f.ca=ca;$f.$s=$s;$f.$r=$r;return $f;};})(ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am);case 16:case 9:case 8:if(am[0]===$throwNilPointerError){$s=36;continue;}$s=37;continue;case 36:$r=CH("can't happen: encode type %s",new JG([y]));$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 37:$s=-1;return[(am.$ptr||(am.$ptr=new KJ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},am))),au];}return;}if($f===undefined){$f={$blk:DI};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DJ=function(y){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=[aa];y=[y];z=[z];aa[0]=y[0].user;if(y[0].encIndir===-1){$s=1;continue;}if(y[0].encIndir>0){$s=2;continue;}$s=3;continue;case 1:aa[0]=E.PtrTo(aa[0]);$s=3;continue;case 2:ab=0;case 4:if(!(ab<y[0].encIndir)){$s=5;continue;}ac=aa[0].Elem();$s=6;case 6:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}aa[0]=ac;ab=ab+(1)<<24>>24;$s=4;continue;case 5:case 3:z[0]=$throwNilPointerError;z[0]=(function(aa,y,z){return function $b(ad,ae,af){var ad,ae,af,ag,ah,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(y[0].encIndir===-1){$s=1;continue;}$s=2;continue;case 1:if(!$clone(af,E.Value).CanAddr()){$s=3;continue;}$s=4;continue;case 3:$r=CH("unaddressable value of type %s",new JG([aa[0]]));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:af=$clone(af,E.Value).Addr();case 2:if(!(!ae.sendZero)){ag=false;$s=8;continue s;}ah=DG($clone(af,E.Value));$s=9;case 9:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;case 8:if(ag){$s=6;continue;}$s=7;continue;case 6:$s=-1;return;case 7:ae.update(ad);$r=ae.enc.encodeGobEncoder(ae.b,y[0],$clone(af,E.Value));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.$s=$s;$f.$r=$r;return $f;};})(aa,y,z);$s=-1;return[(z.$ptr||(z.$ptr=new KJ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},z))),((y[0].encIndir>>0))];}return;}if($f===undefined){$f={$blk:DJ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DK=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=y.base;ab=new DD.ptr(KL.nil);ac={};ad=y.base;if(!((y.externalEnc===0))){ad=y.user;}if(!(y.externalEnc===0)){ae=false;$s=4;continue s;}af=aa.Kind();$s=5;case 5:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af===25;case 4:if(ae){$s=1;continue;}$s=2;continue;case 1:ag=0;ah=0;ai=ag;aj=ah;case 6:ak=aa.NumField();$s=8;case 8:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}if(!(ai<ak)){$s=7;continue;}al=[al];am=aa.Field(ai);$s=9;case 9:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}al[0]=$clone(am,E.StructField);an=BN(al[0]);$s=12;case 12:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}if(!an){$s=10;continue;}$s=11;continue;case 10:ai=ai+(1)>>0;$s=6;continue;case 11:ap=DI(al[0].Type,ac,z);$s=13;case 13:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;aq=ao[0];ar=ao[1];ab.instr=$append(ab.instr,new CS.ptr(aq.$get(),aj,al[0].Index,ar));aj=aj+(1)>>0;ai=ai+(1)>>0;$s=6;continue;case 7:as=aa.NumField();$s=16;case 16:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}if(as>0&&(ab.instr.$length===0)){$s=14;continue;}$s=15;continue;case 14:$r=CH("type %s has no exported fields",new JG([ad]));$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 15:ab.instr=$append(ab.instr,new CS.ptr(DC,0,JN.nil,0));$s=3;continue;case 2:ab.instr=$makeSlice(KL,1);au=DI(ad,ac,z);$s=18;case 18:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}at=au;av=at[0];aw=at[1];CS.copy((ax=ab.instr,(0>=ax.$length?($throwRuntimeError("index out of range"),undefined):ax.$array[ax.$offset+0])),new CS.ptr(av.$get(),0,JN.nil,aw));case 3:$s=-1;return ab;}return;}if($f===undefined){$f={$blk:DK};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DL=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=BW(y);$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;ac=aa[0];ad=aa[1];if(!($interfaceIsEqual(ad,$ifaceNil))){CI(ad);}ae=$assertType(ac.encoder.Load(),KK,true);af=ae[0];ag=ae[1];if(!ag){$s=2;continue;}$s=3;continue;case 2:ah=DM(ac,y,z);$s=4;case 4:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}af=ah;case 3:$s=-1;return af;}return;}if($f===undefined){$f={$blk:DL};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DM=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);if(!(aa===false)&&(ab=aa[JL.keyFor(y)],ab!==undefined?ab.v:false)){$s=1;continue;}$s=2;continue;case 1:ac=KK.nil;$s=3;case 3:return ac;case 2:y.encInit.Lock();$deferred.push([$methodVal(y.encInit,"Unlock"),[]]);ad=$assertType(y.encoder.Load(),KK,true);ae=ad[0];af=ad[1];if(!af){$s=4;continue;}$s=5;continue;case 4:if(aa===false){aa={};}ag=y;(aa||$throwRuntimeError("assignment to entry in nil map"))[JL.keyFor(ag)]={k:ag,v:true};ah=DK(z,aa);$s=6;case 6:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ae=ah;y.encoder.Store(ae);case 5:ai=ae;$s=7;case 7:return ai;}return;}}catch(err){$err=err;$s=-1;return KK.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:DM};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};CK.ptr.prototype.encode=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);ab=this;$deferred.push([CJ,[(ab.$ptr_err||(ab.$ptr_err=new KM(function(){return this.$target.err;},function($v){this.$target.err=$v;},ab)))]]);ac=DL(aa,false);$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;ae=aa.indir;if(!((aa.externalEnc===0))){ae=((aa.encIndir>>0));}af=0;case 2:if(!(af<ae)){$s=3;continue;}ag=E.Indirect($clone(z,E.Value));$s=4;case 4:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}z=ag;af=af+(1)>>0;$s=2;continue;case 3:if(!(aa.externalEnc===0)){ah=false;$s=8;continue s;}ai=$clone(z,E.Value).Type().Kind();$s=9;case 9:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai===25;case 8:if(ah){$s=5;continue;}$s=6;continue;case 5:$r=ab.encodeStruct(y,ad,$clone(z,E.Value));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=7;continue;case 6:$r=ab.encodeSingle(y,ad,$clone(z,E.Value));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:CK.ptr.prototype.encode};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};CK.prototype.encode=function(y,z,aa){return this.$val.encode(y,z,aa);};DP=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=DQ(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:DP};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DQ=function(y,z){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,KB,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!(ag===false)||y.sendZero){if(ag){y.encodeUint(new $Uint64(0,1));}else{y.encodeUint(new $Uint64(0,0));}}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:DQ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DR=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=DS(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:DR};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DS=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,JY,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!((ag.$real===0&&ag.$imag===0))||y.sendZero){ah=CX((ag.$real));ai=CX((ag.$imag));y.encodeUint(ah);y.encodeUint(ai);}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:DS};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DT=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=DU(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:DT};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DU=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,JZ,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!((ag.$real===0&&ag.$imag===0))||y.sendZero){ah=CX(ag.$real);ai=CX(ag.$imag);y.encodeUint(ah);y.encodeUint(ai);}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:DU};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DV=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=DW(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:DV};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DW=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,JW,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!((ag===0))||y.sendZero){ah=CX((ag));y.encodeUint(ah);}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:DW};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DX=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=DY(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:DX};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DY=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,JX,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!((ag===0))||y.sendZero){ah=CX(ag);y.encodeUint(ah);}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:DY};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DZ=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=EA(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:DZ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EA=function(y,z){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,JN,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!((ag===0))||y.sendZero){y.encodeInt((new $Int64(0,ag)));}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:EA};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EB=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=EC(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:EB};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EC=function(y,z){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,JP,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!((ag===0))||y.sendZero){y.encodeInt((new $Int64(0,ag)));}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:EC};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};ED=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=EE(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:ED};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EE=function(y,z){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,JQ,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!((ag===0))||y.sendZero){y.encodeInt((new $Int64(0,ag)));}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:EE};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EF=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=EG(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:EF};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EG=function(y,z){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,JR,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!((ag.$high===0&&ag.$low===0))||y.sendZero){y.encodeInt(ag);}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:EG};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EH=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=EI(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:EH};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EI=function(y,z){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,JO,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!((ag===0))||y.sendZero){y.encodeInt((new $Int64(0,ag)));}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:EI};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EJ=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=EK(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:EJ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EK=function(y,z){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,KC,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!(ag==="")||y.sendZero){y.encodeUint((new $Uint64(0,ag.length)));y.b.WriteString(ag);}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:EK};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EL=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=EM(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:EL};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EM=function(y,z){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,JS,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!((ag===0))||y.sendZero){y.encodeUint((new $Uint64(0,ag)));}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:EM};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EN=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=EO(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:EN};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EO=function(y,z){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,JT,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!((ag===0))||y.sendZero){y.encodeUint((new $Uint64(0,ag)));}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:EO};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EP=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=EQ(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:EP};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EQ=function(y,z){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,JU,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!((ag===0))||y.sendZero){y.encodeUint((new $Uint64(0,ag)));}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:EQ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};ER=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=ES(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:ER};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};ES=function(y,z){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,JV,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!((ag.$high===0&&ag.$low===0))||y.sendZero){y.encodeUint(ag);}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:ES};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};ET=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}aa=y;ab=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,E.Value);ad=EU(aa,ac);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=3;case 3:return ae;}return;}if($f===undefined){$f={$blk:ET};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EU=function(y,z){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=$assertType(ab,KA,true);ac=aa[0];ad=aa[1];if(!ad){$s=-1;return false;}ae=ac;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(!((ag===0))||y.sendZero){y.encodeUint((new $Uint64(0,ag.constructor===Number?ag:1)));}af++;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:EU};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EW=function(y){var aa,ab,y,z;z=new EV.ptr(new F.Mutex.ptr(false),$ifaceNil,new FF.ptr(II.nil,0),false,false,false,KN.nil,II.nil,$ifaceNil);aa=$assertType(y,J.ByteReader,true);ab=aa[1];if(!ab){y=N.NewReader(y);}z.r=y;z.wireType={};z.decoderCache={};z.ignorerCache={};z.countBuf=$makeSlice(II,9);return z;};$pkg.NewDecoder=EW;EV.ptr.prototype.recvType=function(y){var aa,ab,ac,ad,ae,af,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=this;if(y<64||!((aa=z.wireType[Z.keyFor(y)],aa!==undefined?aa.v:JK.nil)===JK.nil)){z.err=B.New("gob: duplicate type received");$s=-1;return;}ab=new BS.ptr(JB.nil,JC.nil,JD.nil,JE.nil,JF.nil,JF.nil,JF.nil);ac=AX;ad=E.ValueOf(ab);$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);$r=z.decodeValue(ac,ae);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(z.err,$ifaceNil))){$s=-1;return;}af=y;(z.wireType||$throwRuntimeError("assignment to entry in nil map"))[Z.keyFor(af)]={k:af,v:ab};$s=-1;return;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.recvType};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.recvType=function(y){return this.$val.recvType(y);};EV.ptr.prototype.recvMessage=function(){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:y=this;aa=FH(y.r,y.countBuf);$s=1;case 1:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;ab=z[0];ac=z[2];if(!($interfaceIsEqual(ac,$ifaceNil))){y.err=ac;$s=-1;return false;}if((ab.$high>0||(ab.$high===0&&ab.$low>=1073741824))){y.err=EX;$s=-1;return false;}$r=y.readMessage(((ab.$low>>0)));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $interfaceIsEqual(y.err,$ifaceNil);}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.recvMessage};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.recvMessage=function(){return this.$val.recvMessage();};EV.ptr.prototype.readMessage=function(y){var aa,ab,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=this;if(!((z.buf.Len()===0))){$panic(new $String("non-empty decoder buffer"));}z.buf.Size(y);ab=J.ReadFull(z.r,z.buf.Bytes());$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;z.err=aa[1];if($interfaceIsEqual(z.err,J.EOF)){z.err=J.ErrUnexpectedEOF;}$s=-1;return;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.readMessage};}$f.aa=aa;$f.ab=ab;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.readMessage=function(y){return this.$val.readMessage(y);};EY=function(y){var aa,ab,y,z;aa=((z=$shiftRightUint64(y,1),new $Int64(z.$high,z.$low)));if(!((ab=new $Uint64(y.$high&0,(y.$low&1)>>>0),(ab.$high===0&&ab.$low===0)))){aa=new $Int64(~aa.$high,~aa.$low>>>0);}return aa;};EV.ptr.prototype.nextInt=function(){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:y=this;aa=FH(y.buf,y.countBuf);$s=1;case 1:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;ab=z[0];ac=z[2];if(!($interfaceIsEqual(ac,$ifaceNil))){y.err=ac;}$s=-1;return EY(ab);}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.nextInt};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.nextInt=function(){return this.$val.nextInt();};EV.ptr.prototype.nextUint=function(){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:y=this;aa=FH(y.buf,y.countBuf);$s=1;case 1:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;ab=z[0];ac=z[2];if(!($interfaceIsEqual(ac,$ifaceNil))){y.err=ac;}$s=-1;return ab;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.nextUint};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.nextUint=function(){return this.$val.nextUint();};EV.ptr.prototype.decodeTypeSequence=function(y){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=this;case 1:if(!($interfaceIsEqual(z.err,$ifaceNil))){$s=2;continue;}if(z.buf.Len()===0){$s=3;continue;}$s=4;continue;case 3:aa=z.recvMessage();$s=7;case 7:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}if(!aa){$s=5;continue;}$s=6;continue;case 5:$s=2;continue;case 6:case 4:ac=z.nextInt();$s=8;case 8:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=(((ab=ac,ab.$low+((ab.$high>>31)*4294967296))>>0));if(ad>=0){$s=-1;return ad;}$r=z.recvType(-ad);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(z.err,$ifaceNil))){$s=2;continue;}if(z.buf.Len()>0){$s=10;continue;}$s=11;continue;case 10:if(!y){z.err=B.New("extra data in buffer");$s=2;continue;}ae=z.nextUint();$s=12;case 12:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ae;case 11:$s=1;continue;case 2:$s=-1;return-1;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.decodeTypeSequence};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.decodeTypeSequence=function(y){return this.$val.decodeTypeSequence(y);};EV.ptr.prototype.Decode=function(y){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=this;if($interfaceIsEqual(y,$ifaceNil)){$s=1;continue;}$s=2;continue;case 1:aa=z.DecodeValue(new E.Value.ptr(HX.nil,0,0));$s=3;case 3:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;$s=4;case 4:return ab;case 2:ac=E.ValueOf(y);$s=5;case 5:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;ae=$clone(ad,E.Value).Type().Kind();$s=8;case 8:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}if(!((ae===22))){$s=6;continue;}$s=7;continue;case 6:z.err=B.New("gob: attempt to decode into a non-pointer");$s=-1;return z.err;case 7:af=z.DecodeValue($clone(ad,E.Value));$s=9;case 9:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;$s=10;case 10:return ag;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.Decode};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.Decode=function(y){return this.$val.Decode(y);};EV.ptr.prototype.DecodeValue=function(y){var aa,ab,ac,ad,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);z=this;if($clone(y,E.Value).IsValid()){$s=1;continue;}$s=2;continue;case 1:if(($clone(y,E.Value).Kind()===22)&&!$clone(y,E.Value).IsNil()){$s=3;continue;}if(!$clone(y,E.Value).CanSet()){$s=4;continue;}$s=5;continue;case 3:$s=5;continue;case 4:aa=B.New("gob: DecodeValue of unassignable value");$s=6;case 6:return aa;case 5:case 2:z.mutex.Lock();$deferred.push([$methodVal(z.mutex,"Unlock"),[]]);z.buf.Reset();z.err=$ifaceNil;ab=z.decodeTypeSequence(false);$s=7;case 7:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;if($interfaceIsEqual(z.err,$ifaceNil)){$s=8;continue;}$s=9;continue;case 8:$r=z.decodeValue(ac,$clone(y,E.Value));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 9:ad=z.err;$s=11;case 11:return ad;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:EV.ptr.prototype.DecodeValue};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};EV.prototype.DecodeValue=function(y){return this.$val.DecodeValue(y);};FF.ptr.prototype.Read=function(y){var aa,y,z;z=this;aa=$copySlice(y,$subslice(z.data,z.offset));if((aa===0)&&!((y.$length===0))){return[0,J.EOF];}z.offset=z.offset+(aa)>>0;return[aa,$ifaceNil];};FF.prototype.Read=function(y){return this.$val.Read(y);};FF.ptr.prototype.Drop=function(y){var y,z;z=this;if(y>z.Len()){$panic(new $String("drop"));}z.offset=z.offset+(y)>>0;};FF.prototype.Drop=function(y){return this.$val.Drop(y);};FF.ptr.prototype.Size=function(y){var y,z;z=this;z.Reset();if(z.data.$capacity<y){z.data=$makeSlice(II,y);}else{z.data=$subslice(z.data,0,y);}};FF.prototype.Size=function(y){return this.$val.Size(y);};FF.ptr.prototype.ReadByte=function(){var aa,ab,y,z;y=this;if(y.offset>=y.data.$length){return[0,J.EOF];}ab=(z=y.data,aa=y.offset,((aa<0||aa>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+aa]));y.offset=y.offset+(1)>>0;return[ab,$ifaceNil];};FF.prototype.ReadByte=function(){return this.$val.ReadByte();};FF.ptr.prototype.Len=function(){var y;y=this;return y.data.$length-y.offset>>0;};FF.prototype.Len=function(){return this.$val.Len();};FF.ptr.prototype.Bytes=function(){var y;y=this;return $subslice(y.data,y.offset);};FF.prototype.Bytes=function(){return this.$val.Bytes();};FF.ptr.prototype.Reset=function(){var y;y=this;y.data=$subslice(y.data,0,0);y.offset=0;};FF.prototype.Reset=function(){return this.$val.Reset();};EV.ptr.prototype.newDecoderState=function(y){var aa,y,z;z=this;aa=z.freeList;if(aa===KN.nil){aa=new FE.ptr(KO.nil,KP.nil,0,KN.nil);aa.dec=z;}else{z.freeList=aa.next;}aa.b=y;return aa;};EV.prototype.newDecoderState=function(y){return this.$val.newDecoderState(y);};EV.ptr.prototype.freeDecoderState=function(y){var y,z;z=this;y.next=z.freeList;z.freeList=y;};EV.prototype.freeDecoderState=function(y){return this.$val.freeDecoderState(y);};FG=function(y){var y;return B.New("value for \""+y+"\" out of range");};FH=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=new $Uint64(0,0);ab=0;ac=$ifaceNil;ab=1;ae=J.ReadFull(y,$subslice(z,0,ab));$s=1;case 1:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=ae;af=ad[0];ac=ad[1];if(af===0){$s=-1;return[aa,ab,ac];}ag=(0>=z.$length?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+0]);if(ag<=127){ah=(new $Uint64(0,ag));ai=ab;aj=$ifaceNil;aa=ah;ab=ai;ac=aj;$s=-1;return[aa,ab,ac];}af=-((((ag<<24>>24))>>0));if(af>8){ac=FA;$s=-1;return[aa,ab,ac];}al=J.ReadFull(y,$subslice(z,0,af));$s=2;case 2:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ak=al;ab=ak[0];ac=ak[1];if(!($interfaceIsEqual(ac,$ifaceNil))){if($interfaceIsEqual(ac,J.EOF)){ac=J.ErrUnexpectedEOF;}$s=-1;return[aa,ab,ac];}am=$subslice(z,0,ab);an=0;while(true){if(!(an<am.$length)){break;}ao=((an<0||an>=am.$length)?($throwRuntimeError("index out of range"),undefined):am.$array[am.$offset+an]);aa=(ap=$shiftLeft64(aa,8),aq=(new $Uint64(0,ao)),new $Uint64(ap.$high|aq.$high,(ap.$low|aq.$low)>>>0));an++;}ab=ab+(1)>>0;$s=-1;return[aa,ab,ac];}return;}if($f===undefined){$f={$blk:FH};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FE.ptr.prototype.decodeUint=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:y=new $Uint64(0,0);z=this;aa=z.b.ReadByte();ab=aa[0];ac=aa[1];if(!($interfaceIsEqual(ac,$ifaceNil))){CI(ac);}if(ab<=127){y=(new $Uint64(0,ab));$s=-1;return y;}ad=-((((ab<<24>>24))>>0));if(ad>8){CI(FA);}ae=z.b.Bytes();if(ae.$length<ad){$s=1;continue;}$s=2;continue;case 1:$r=CH("invalid uint data length %d: exceeds input size %d",new JG([new $Int(ad),new $Int(ae.$length)]));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:af=$subslice(ae,0,ad);ag=0;while(true){if(!(ag<af.$length)){break;}ah=((ag<0||ag>=af.$length)?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+ag]);y=(ai=$shiftLeft64(y,8),aj=(new $Uint64(0,ah)),new $Uint64(ai.$high|aj.$high,(ai.$low|aj.$low)>>>0));ag++;}z.b.Drop(ad);y=y;$s=-1;return y;}return;}if($f===undefined){$f={$blk:FE.ptr.prototype.decodeUint};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FE.prototype.decodeUint=function(){return this.$val.decodeUint();};FE.ptr.prototype.decodeInt=function(){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:y=this;z=y.decodeUint();$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;if(!((ab=new $Uint64(aa.$high&0,(aa.$low&1)>>>0),(ab.$high===0&&ab.$low===0)))){$s=-1;return(ac=((ad=$shiftRightUint64(aa,1),new $Int64(ad.$high,ad.$low))),new $Int64(~ac.$high,~ac.$low>>>0));}$s=-1;return((ae=$shiftRightUint64(aa,1),new $Int64(ae.$high,ae.$low)));}return;}if($f===undefined){$f={$blk:FE.ptr.prototype.decodeInt};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FE.prototype.decodeInt=function(){return this.$val.decodeInt();};FE.ptr.prototype.getLength=function(){var aa,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:y=this;z=y.decodeUint();$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=((z.$low>>0));if(aa<0||y.b.Len()<aa||1073741824<=aa){$s=-1;return[0,false];}$s=-1;return[aa,true];}return;}if($f===undefined){$f={$blk:FE.ptr.prototype.getLength};}$f.aa=aa;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FE.prototype.getLength=function(){return this.$val.getLength();};FK=function(y,z,aa){var aa,ab,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=z.decodeUint();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ab;$s=-1;return;}return;}if($f===undefined){$f={$blk:FK};}$f.aa=aa;$f.ab=ab;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FL=function(y,z,aa){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=z.decodeUint();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ab;ac=z.decodeUint();$s=2;case 2:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ac;$s=-1;return;}return;}if($f===undefined){$f={$blk:FL};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FM=function(y){var aa,ab,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:if(!($clone(y,E.Value).Kind()===22)){$s=2;continue;}if($clone(y,E.Value).IsNil()){$s=3;continue;}$s=4;continue;case 3:z=$clone(y,E.Value).Type().Elem();$s=5;case 5:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=E.New(z);$s=6;case 6:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}$r=$clone(y,E.Value).Set($clone(aa,E.Value));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:ab=$clone(y,E.Value).Elem();$s=8;case 8:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}y=ab;$s=1;continue;case 2:$s=-1;return y;}return;}if($f===undefined){$f={$blk:FM};}$f.aa=aa;$f.ab=ab;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FN=function(y,z,aa){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ac=z.decodeUint();$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}$r=$clone(aa,E.Value).SetBool(!((ab=ac,(ab.$high===0&&ab.$low===0))));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:FN};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FO=function(y,z,aa){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=z.decodeInt();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;if((ac.$high<-1||(ac.$high===-1&&ac.$low<4294967168))||(0<ac.$high||(0===ac.$high&&127<ac.$low))){CI(y.ovfl);}$clone(aa,E.Value).SetInt(ac);$s=-1;return;}return;}if($f===undefined){$f={$blk:FO};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FP=function(y,z,aa){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=z.decodeUint();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;if((0<ac.$high||(0===ac.$high&&255<ac.$low))){CI(y.ovfl);}$clone(aa,E.Value).SetUint(ac);$s=-1;return;}return;}if($f===undefined){$f={$blk:FP};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FQ=function(y,z,aa){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=z.decodeInt();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;if((ac.$high<-1||(ac.$high===-1&&ac.$low<4294934528))||(0<ac.$high||(0===ac.$high&&32767<ac.$low))){CI(y.ovfl);}$clone(aa,E.Value).SetInt(ac);$s=-1;return;}return;}if($f===undefined){$f={$blk:FQ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FR=function(y,z,aa){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=z.decodeUint();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;if((0<ac.$high||(0===ac.$high&&65535<ac.$low))){CI(y.ovfl);}$clone(aa,E.Value).SetUint(ac);$s=-1;return;}return;}if($f===undefined){$f={$blk:FR};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FS=function(y,z,aa){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=z.decodeInt();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;if((ac.$high<-1||(ac.$high===-1&&ac.$low<2147483648))||(0<ac.$high||(0===ac.$high&&2147483647<ac.$low))){CI(y.ovfl);}$clone(aa,E.Value).SetInt(ac);$s=-1;return;}return;}if($f===undefined){$f={$blk:FS};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FT=function(y,z,aa){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=z.decodeUint();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;if((0<ac.$high||(0===ac.$high&&4294967295<ac.$low))){CI(y.ovfl);}$clone(aa,E.Value).SetUint(ac);$s=-1;return;}return;}if($f===undefined){$f={$blk:FT};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FU=function(y,z,aa){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=z.decodeInt();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;$clone(aa,E.Value).SetInt(ac);$s=-1;return;}return;}if($f===undefined){$f={$blk:FU};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FV=function(y,z,aa){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=z.decodeUint();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;$clone(aa,E.Value).SetUint(ac);$s=-1;return;}return;}if($f===undefined){$f={$blk:FV};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FW=function(y){var y,z;z=M.ReverseBytes64(y);return L.Float64frombits(z);};FX=function(y,z){var aa,ab,y,z;aa=FW(y);ab=aa;if(ab<0){ab=-ab;}if(3.4028234663852886e+38<ab&&ab<=1.7976931348623157e+308){CI(z);}return aa;};FY=function(y,z,aa){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=z.decodeUint();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=FX(ab,y.ovfl);$s=2;case 2:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}$r=$clone(aa,E.Value).SetFloat(ac);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:FY};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};FZ=function(y,z,aa){var aa,ab,ac,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=z.decodeUint();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=FW(ab);$s=2;case 2:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}$r=$clone(aa,E.Value).SetFloat(ac);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:FZ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GA=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=z.decodeUint();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=FX(ab,y.ovfl);$s=2;case 2:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;ae=z.decodeUint();$s=3;case 3:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=FX(ae,y.ovfl);$s=4;case 4:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;$clone(aa,E.Value).SetComplex(new $Complex128(ad,ag));$s=-1;return;}return;}if($f===undefined){$f={$blk:GA};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GB=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=z.decodeUint();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=FW(ab);$s=2;case 2:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;ae=z.decodeUint();$s=3;case 3:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=FW(ae);$s=4;case 4:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;$clone(aa,E.Value).SetComplex(new $Complex128(ad,ag));$s=-1;return;}return;}if($f===undefined){$f={$blk:GB};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GC=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ac=z.getLength();$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=ab[0];ae=ab[1];if(!ae){$s=2;continue;}$s=3;continue;case 2:$r=CH("bad %s slice length: %d",new JG([$clone(aa,E.Value).Type(),new $Int(ad)]));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:if($clone(aa,E.Value).Cap()<ad){$s=5;continue;}$s=6;continue;case 5:af=E.MakeSlice($clone(aa,E.Value).Type(),ad,ad);$s=8;case 8:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}$r=$clone(aa,E.Value).Set($clone(af,E.Value));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=7;continue;case 6:ag=$clone(aa,E.Value).Slice(0,ad);$s=10;case 10:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}$r=$clone(aa,E.Value).Set($clone(ag,E.Value));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:ai=$clone(aa,E.Value).Bytes();$s=12;case 12:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=z.b.Read(ai);$s=13;case 13:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ah=aj;ak=ah[1];if(!($interfaceIsEqual(ak,$ifaceNil))){$s=14;continue;}$s=15;continue;case 14:$r=CH("error decoding []byte: %s",new JG([ak]));$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 15:$s=-1;return;}return;}if($f===undefined){$f={$blk:GC};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GD=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ac=z.getLength();$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=ab[0];ae=ab[1];if(!ae){$s=2;continue;}$s=3;continue;case 2:$r=CH("bad %s slice length: %d",new JG([$clone(aa,E.Value).Type(),new $Int(ad)]));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:af=z.b.Bytes();if(af.$length<ad){$s=5;continue;}$s=6;continue;case 5:$r=CH("invalid string length %d: exceeds input size %d",new JG([new $Int(ad),new $Int(af.$length)]));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:ag=($bytesToString($subslice(af,0,ad)));z.b.Drop(ad);$clone(aa,E.Value).SetString(ag);$s=-1;return;}return;}if($f===undefined){$f={$blk:GD};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GE=function(y,z,aa){var aa,ab,ac,ad,ae,af,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ac=z.getLength();$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=ab[0];ae=ab[1];if(!ae){$s=2;continue;}$s=3;continue;case 2:$r=CH("slice length too large",new JG([]));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:af=z.b.Len();if(af<ad){$s=5;continue;}$s=6;continue;case 5:$r=CH("invalid slice length %d: exceeds input size %d",new JG([new $Int(ad),new $Int(af)]));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:z.b.Drop(ad);$s=-1;return;}return;}if($f===undefined){$f={$blk:GE};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.ptr.prototype.decodeSingle=function(y,z){var aa,ab,ac,ad,ae,af,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);aa=this;ab=aa.newDecoderState(aa.buf);$deferred.push([$methodVal(aa,"freeDecoderState"),[ab]]);ab.fieldnum=0;ad=ab.decodeUint();$s=3;case 3:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}if(!((ac=ad,(ac.$high===0&&ac.$low===0)))){$s=1;continue;}$s=2;continue;case 1:$r=CH("decode: corrupted data: non-zero delta for singleton",new JG([]));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:af=(ae=y.instr,(0>=ae.$length?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+0]));$r=af.op(af,ab,$clone(z,E.Value));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:EV.ptr.prototype.decodeSingle};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};EV.prototype.decodeSingle=function(y,z){return this.$val.decodeSingle(y,z);};EV.ptr.prototype.decodeStruct=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);aa=this;ab=aa.newDecoderState(aa.buf);$deferred.push([$methodVal(aa,"freeDecoderState"),[ab]]);ab.fieldnum=-1;case 1:if(!(ab.b.Len()>0)){$s=2;continue;}ac=ab.decodeUint();$s=3;case 3:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=((ac.$low>>0));if(ad<0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decode: corrupted data: negative delta",new JG([]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:if(ad===0){$s=2;continue;}ae=ab.fieldnum+ad>>0;if(ae>=y.instr.$length){CI(FC);$s=2;continue;}ag=(af=y.instr,((ae<0||ae>=af.$length)?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+ae]));ah=new E.Value.ptr(HX.nil,0,0);if(!(ag.index===JN.nil)){$s=7;continue;}$s=8;continue;case 7:ai=$clone(z,E.Value).FieldByIndex(ag.index);$s=9;case 9:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;if($clone(ah,E.Value).Kind()===22){$s=10;continue;}$s=11;continue;case 10:aj=FM($clone(ah,E.Value));$s=12;case 12:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ah=aj;case 11:case 8:$r=ag.op(ag,ab,$clone(ah,E.Value));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ab.fieldnum=ae;$s=1;continue;case 2:$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:EV.ptr.prototype.decodeStruct};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};EV.prototype.decodeStruct=function(y,z){return this.$val.decodeStruct(y,z);};EV.ptr.prototype.ignoreStruct=function(y){var aa,ab,ac,ad,ae,af,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);z=this;aa=z.newDecoderState(z.buf);$deferred.push([$methodVal(z,"freeDecoderState"),[aa]]);aa.fieldnum=-1;case 1:if(!(aa.b.Len()>0)){$s=2;continue;}ab=aa.decodeUint();$s=3;case 3:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=((ab.$low>>0));if(ac<0){$s=4;continue;}$s=5;continue;case 4:$r=CH("ignore decode: corrupted data: negative delta",new JG([]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:if(ac===0){$s=2;continue;}ad=aa.fieldnum+ac>>0;if(ad>=y.instr.$length){CI(FC);}af=(ae=y.instr,((ad<0||ad>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ad]));$r=af.op(af,aa,$clone(GG,E.Value));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aa.fieldnum=ad;$s=1;continue;case 2:$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:EV.ptr.prototype.ignoreStruct};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};EV.prototype.ignoreStruct=function(y){return this.$val.ignoreStruct(y);};EV.ptr.prototype.ignoreSingle=function(y){var aa,ab,ac,ad,ae,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);z=this;aa=z.newDecoderState(z.buf);$deferred.push([$methodVal(z,"freeDecoderState"),[aa]]);aa.fieldnum=0;ab=aa.decodeUint();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=((ab.$low>>0));if(!((ac===0))){$s=2;continue;}$s=3;continue;case 2:$r=CH("decode: corrupted data: non-zero delta for singleton",new JG([]));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:ae=(ad=y.instr,(0>=ad.$length?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+0]));$r=ae.op(ae,aa,$clone(GG,E.Value));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:EV.ptr.prototype.ignoreSingle};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};EV.prototype.ignoreSingle=function(y){return this.$val.ignoreSingle(y);};EV.ptr.prototype.decodeArrayHelper=function(y,z,aa,ab,ac,ad){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ae=this;if(!(!(ad===$throwNilPointerError))){af=false;$s=3;continue s;}ag=ad(y,$clone(z,E.Value),ab,ac);$s=4;case 4:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;case 3:if(af){$s=1;continue;}$s=2;continue;case 1:$s=-1;return;case 2:ah=new FJ.ptr(aa,0,JN.nil,ac);ai=$clone(z,E.Value).Type().Elem();$s=5;case 5:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=ai.Kind();$s=6;case 6:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj===22;al=0;case 7:if(!(al<ab)){$s=8;continue;}if(y.b.Len()===0){$s=9;continue;}$s=10;continue;case 9:$r=CH("decoding array or slice: length exceeds input size (%d elements)",new JG([new $Int(ab)]));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 10:am=$clone(z,E.Value).Index(al);$s=12;case 12:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=am;if(ak){$s=13;continue;}$s=14;continue;case 13:ao=FM($clone(an,E.Value));$s=15;case 15:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}an=ao;case 14:$r=aa(ah,y,$clone(an,E.Value));$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}al=al+(1)>>0;$s=7;continue;case 8:$s=-1;return;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.decodeArrayHelper};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.decodeArrayHelper=function(y,z,aa,ab,ac,ad){return this.$val.decodeArrayHelper(y,z,aa,ab,ac,ad);};EV.ptr.prototype.decodeArray=function(y,z,aa,ab,ac,ad){var aa,ab,ac,ad,ae,af,ag,ah,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ae=this;af=y.decodeUint();$s=1;case 1:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;if(!((ah=(new $Uint64(0,ab)),(ag.$high===ah.$high&&ag.$low===ah.$low)))){$s=2;continue;}$s=3;continue;case 2:$r=CH("length mismatch in decodeArray",new JG([]));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:$r=ae.decodeArrayHelper(y,$clone(z,E.Value),aa,ab,ac,ad);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.decodeArray};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.decodeArray=function(y,z,aa,ab,ac,ad){return this.$val.decodeArray(y,z,aa,ab,ac,ad);};GH=function(y,z,aa,ab,ac){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=ab;if(aa){$s=1;continue;}$s=2;continue;case 1:ae=FM($clone(ab,E.Value));$s=3;case 3:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=ae;case 2:$r=z(ac,y,$clone(ad,E.Value));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return ab;}return;}if($f===undefined){$f={$blk:GH};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.ptr.prototype.decodeMap=function(y,z,aa,ab,ac,ad){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ae=this;af=z.decodeUint();$s=1;case 1:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=((af.$low>>0));if($clone(aa,E.Value).IsNil()){$s=2;continue;}$s=3;continue;case 2:ah=E.MakeMapWithSize(y,ag);$s=4;case 4:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}$r=$clone(aa,E.Value).Set($clone(ah,E.Value));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:ai=y.Key();$s=6;case 6:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=ai.Kind();$s=7;case 7:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj===22;al=y.Elem();$s=8;case 8:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al.Kind();$s=9;case 9:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=am===22;ao=new FJ.ptr(ab,0,JN.nil,ad);ap=new FJ.ptr(ac,0,JN.nil,ad);aq=y.Key();$s=10;case 10:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=E.New(aq);$s=11;case 11:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=ar;at=y.Key();$s=12;case 12:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=E.Zero(at);$s=13;case 13:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au;aw=y.Elem();$s=14;case 14:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=E.New(aw);$s=15;case 15:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ay=ax;az=y.Elem();$s=16;case 16:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=E.Zero(az);$s=17;case 17:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=ba;bc=0;case 18:if(!(bc<ag)){$s=19;continue;}bd=z;be=ab;bf=ak;bg=$clone(as,E.Value).Elem();$s=20;case 20:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bh=$clone(bg,E.Value);bi=ao;bj=GH(bd,be,bf,bh,bi);$s=21;case 21:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}bk=bj;bl=z;bm=ac;bn=an;bo=$clone(ay,E.Value).Elem();$s=22;case 22:if($c){$c=false;bo=bo.$blk();}if(bo&&bo.$blk!==undefined){break s;}bp=$clone(bo,E.Value);bq=ap;br=GH(bl,bm,bn,bp,bq);$s=23;case 23:if($c){$c=false;br=br.$blk();}if(br&&br.$blk!==undefined){break s;}bs=br;$r=$clone(aa,E.Value).SetMapIndex($clone(bk,E.Value),$clone(bs,E.Value));$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bt=$clone(as,E.Value).Elem();$s=25;case 25:if($c){$c=false;bt=bt.$blk();}if(bt&&bt.$blk!==undefined){break s;}$r=$clone(bt,E.Value).Set($clone(av,E.Value));$s=26;case 26:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bu=$clone(ay,E.Value).Elem();$s=27;case 27:if($c){$c=false;bu=bu.$blk();}if(bu&&bu.$blk!==undefined){break s;}$r=$clone(bu,E.Value).Set($clone(bb,E.Value));$s=28;case 28:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bc=bc+(1)>>0;$s=18;continue;case 19:$s=-1;return;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.decodeMap};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.decodeMap=function(y,z,aa,ab,ac,ad){return this.$val.decodeMap(y,z,aa,ab,ac,ad);};EV.ptr.prototype.ignoreArrayHelper=function(y,z,aa){var aa,ab,ac,ad,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=this;ac=new FJ.ptr(z,0,JN.nil,B.New("no error"));ad=0;case 1:if(!(ad<aa)){$s=2;continue;}if(y.b.Len()===0){$s=3;continue;}$s=4;continue;case 3:$r=CH("decoding array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:$r=z(ac,y,$clone(GG,E.Value));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ad=ad+(1)>>0;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.ignoreArrayHelper};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.ignoreArrayHelper=function(y,z,aa){return this.$val.ignoreArrayHelper(y,z,aa);};EV.ptr.prototype.ignoreArray=function(y,z,aa){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=this;ac=y.decodeUint();$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;if(!((ae=(new $Uint64(0,aa)),(ad.$high===ae.$high&&ad.$low===ae.$low)))){$s=2;continue;}$s=3;continue;case 2:$r=CH("length mismatch in ignoreArray",new JG([]));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:$r=ab.ignoreArrayHelper(y,z,aa);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.ignoreArray};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.ignoreArray=function(y,z,aa){return this.$val.ignoreArray(y,z,aa);};EV.ptr.prototype.ignoreMap=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=this;ac=y.decodeUint();$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=((ac.$low>>0));ae=new FJ.ptr(z,0,JN.nil,B.New("no error"));af=new FJ.ptr(aa,0,JN.nil,B.New("no error"));ag=0;case 2:if(!(ag<ad)){$s=3;continue;}$r=z(ae,y,$clone(GG,E.Value));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=aa(af,y,$clone(GG,E.Value));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.ignoreMap};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.ignoreMap=function(y,z,aa){return this.$val.ignoreMap(y,z,aa);};EV.ptr.prototype.decodeSlice=function(y,z,aa,ab,ac){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=this;ae=y.decodeUint();$s=1;case 1:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=ae;ag=$clone(z,E.Value).Type();ai=ag.Elem();$s=2;case 2:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=ai.Size();$s=3;case 3:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=((ah=aj,new $Uint64(0,ah.constructor===Number?ah:1)));al=$mul64(af,ak);am=((af.$low>>0));if(am<0||!((an=(new $Uint64(0,am)),(an.$high===af.$high&&an.$low===af.$low)))||(al.$high>0||(al.$high===0&&al.$low>1073741824))||((ak.$high>0||(ak.$high===0&&ak.$low>0))&&!((ao=$div64(al,ak,false),(ao.$high===af.$high&&ao.$low===af.$low))))){$s=4;continue;}$s=5;continue;case 4:ap=ag.Elem();$s=6;case 6:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap;ar=af;as=ak;$r=CH("%s slice too big: %d elements of %d bytes",new JG([aq,ar,as]));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:if($clone(z,E.Value).Cap()<am){$s=8;continue;}$s=9;continue;case 8:at=E.MakeSlice(ag,am,am);$s=11;case 11:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}$r=$clone(z,E.Value).Set($clone(at,E.Value));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=10;continue;case 9:au=$clone(z,E.Value).Slice(0,am);$s=13;case 13:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}$r=$clone(z,E.Value).Set($clone(au,E.Value));$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 10:$r=ad.decodeArrayHelper(y,$clone(z,E.Value),aa,am,ab,ac);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.decodeSlice};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.decodeSlice=function(y,z,aa,ab,ac){return this.$val.decodeSlice(y,z,aa,ab,ac);};EV.ptr.prototype.ignoreSlice=function(y,z){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=this;ab=y;ac=z;ad=y.decodeUint();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=((ad.$low>>0));$r=aa.ignoreArrayHelper(ab,ac,ae);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.ignoreSlice};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.ignoreSlice=function(y,z){return this.$val.ignoreSlice(y,z);};EV.ptr.prototype.decodeInterface=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=this;ac=z.decodeUint();$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;if((ad.$high>0||(ad.$high===0&&ad.$low>2147483648))){$s=2;continue;}$s=3;continue;case 2:$r=CH("invalid type name length %d",new JG([ad]));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:if((ae=(new $Uint64(0,z.b.Len())),(ad.$high>ae.$high||(ad.$high===ae.$high&&ad.$low>ae.$low)))){$s=5;continue;}$s=6;continue;case 5:$r=CH("invalid type name length %d: exceeds input size",new JG([ad]));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:af=((ad.$low>>0));ag=$subslice(z.b.Bytes(),0,af);z.b.Drop(af);if(ag.$length===0){$s=8;continue;}$s=9;continue;case 8:ah=E.Zero($clone(aa,E.Value).Type());$s=10;case 10:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}$r=$clone(aa,E.Value).Set($clone(ah,E.Value));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 9:if(ag.$length>1024){$s=12;continue;}$s=13;continue;case 12:$r=CH("name too long (%d bytes): %.20q...",new JG([new $Int(ag.$length),ag]));$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 13:ai=CB.Load(new $String(($bytesToString(ag))));aj=ai[0];ak=ai[1];if(!ak){$s=15;continue;}$s=16;continue;case 15:$r=CH("name not registered for interface: %q",new JG([ag]));$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 16:al=$assertType(aj,E.Type);am=ab.decodeTypeSequence(true);$s=18;case 18:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=am;if(an<0){CI(ab.err);}ao=z.decodeUint();$s=19;case 19:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ao;ap=GN(al);$s=20;case 20:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap;$r=ab.decodeValue(an,$clone(aq,E.Value));$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(ab.err,$ifaceNil))){CI(ab.err);}ar=al.AssignableTo(y);$s=24;case 24:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}if(!ar){$s=22;continue;}$s=23;continue;case 22:$r=CH("%s is not assignable to type %s",new JG([al,y]));$s=25;case 25:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 23:$r=$clone(aa,E.Value).Set($clone(aq,E.Value));$s=26;case 26:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.decodeInterface};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.decodeInterface=function(y,z,aa){return this.$val.decodeInterface(y,z,aa);};EV.ptr.prototype.ignoreInterface=function(y){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=this;ab=y.getLength();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;ac=aa[0];ad=aa[1];if(!ad){$s=2;continue;}$s=3;continue;case 2:$r=CH("bad interface encoding: name too large for buffer",new JG([]));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:ae=y.b.Len();if(ae<ac){$s=5;continue;}$s=6;continue;case 5:$r=CH("invalid interface value length %d: exceeds input size %d",new JG([new $Int(ac),new $Int(ae)]));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:y.b.Drop(ac);af=z.decodeTypeSequence(true);$s=8;case 8:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;if(ag<0){CI(z.err);}ai=y.getLength();$s=9;case 9:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;ac=ah[0];ad=ah[1];if(!ad){$s=10;continue;}$s=11;continue;case 10:$r=CH("bad interface encoding: data length too large for buffer",new JG([]));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 11:y.b.Drop(ac);$s=-1;return;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.ignoreInterface};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.ignoreInterface=function(y){return this.$val.ignoreInterface(y);};EV.ptr.prototype.decodeGobDecoder=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=this;ad=z.getLength();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;ae=ac[0];af=ac[1];if(!af){$s=2;continue;}$s=3;continue;case 2:$r=CH("GobDecoder: length too large for buffer",new JG([]));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:ag=z.b.Bytes();if(ag.$length<ae){$s=5;continue;}$s=6;continue;case 5:$r=CH("GobDecoder: invalid data length %d: exceeds input size %d",new JG([new $Int(ae),new $Int(ag.$length)]));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:ag=$subslice(ag,0,ae);z.b.Drop(ae);ah=$ifaceNil;ai=y.externalDec;if(ai===(1)){$s=9;continue;}if(ai===(2)){$s=10;continue;}if(ai===(3)){$s=11;continue;}$s=12;continue;case 9:aj=$clone(aa,E.Value).Interface();$s=13;case 13:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=$assertType(aj,CA).GobDecode(ag);$s=14;case 14:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}ah=ak;$s=12;continue;case 10:al=$clone(aa,E.Value).Interface();$s=15;case 15:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=$assertType(al,A.BinaryUnmarshaler).UnmarshalBinary(ag);$s=16;case 16:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}ah=am;$s=12;continue;case 11:an=$clone(aa,E.Value).Interface();$s=17;case 17:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=$assertType(an,A.TextUnmarshaler).UnmarshalText(ag);$s=18;case 18:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ah=ao;case 12:case 8:if(!($interfaceIsEqual(ah,$ifaceNil))){CI(ah);}$s=-1;return;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.decodeGobDecoder};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.decodeGobDecoder=function(y,z,aa){return this.$val.decodeGobDecoder(y,z,aa);};EV.ptr.prototype.ignoreGobDecoder=function(y){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=this;ab=y.getLength();$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;ac=aa[0];ad=aa[1];if(!ad){$s=2;continue;}$s=3;continue;case 2:$r=CH("GobDecoder: length too large for buffer",new JG([]));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:ae=y.b.Len();if(ae<ac){$s=5;continue;}$s=6;continue;case 5:$r=CH("GobDecoder: invalid data length %d: exceeds input size %d",new JG([new $Int(ac),new $Int(ae)]));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:y.b.Drop(ac);$s=-1;return;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.ignoreGobDecoder};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.ignoreGobDecoder=function(y){return this.$val.ignoreGobDecoder(y);};EV.ptr.prototype.decOpFor=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;cr=$f.cr;cs=$f.cs;ct=$f.ct;cu=$f.cu;cv=$f.cv;cw=$f.cw;cx=$f.cx;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ac=[ac];ad=[ad];ae=[ae];af=[af];ag=[ag];ah=[ah];ai=[ai];aj=[aj];ak=[ak];al=[al];am=[am];an=[an];ao=[ao];ac[0]=this;ap=Y(z);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap;if(!((aq.externalDec===0))){$s=2;continue;}$s=3;continue;case 2:ar=ac[0].gobDecodeOpFor(aq);$s=4;case 4:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=ar;$s=5;case 5:return as;case 3:au=(at=ab[E.Type.keyFor(z)],at!==undefined?at.v:KQ.nil);if(!(au===KQ.nil)){$s=-1;return au;}av=aq.base;ak[0]=$throwNilPointerError;aw=av.Kind();$s=6;case 6:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;if(((ax>>0))<25){ak[0]=((ax<0||ax>=GI.length)?($throwRuntimeError("index out of range"),undefined):GI[ax]);}if(ak[0]===$throwNilPointerError){$s=7;continue;}$s=8;continue;case 7:ay=z;(ab||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(ay)]={k:ay,v:(ak.$ptr||(ak.$ptr=new KQ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},ak)))};ao[0]=av;az=ao[0].Kind();$s=10;case 10:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=az;if(ba===(17)){$s=11;continue;}if(ba===(21)){$s=12;continue;}if(ba===(23)){$s=13;continue;}if(ba===(25)){$s=14;continue;}if(ba===(20)){$s=15;continue;}$s=16;continue;case 11:aa="element of "+aa;bc=(bb=ac[0].wireType[Z.keyFor(y)],bb!==undefined?bb.v:JK.nil).ArrayT.Elem;bd=bc;be=ao[0].Elem();$s=17;case 17:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}bf=be;bg=aa;bh=ab;bi=ac[0].decOpFor(bd,bf,bg,bh);$s=18;case 18:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}ad[0]=bi;al[0]=FG(aa);bj=ao[0].Elem();$s=19;case 19:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}bk=bj.Kind();$s=20;case 20:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}ah[0]=(bl=GO[E.Kind.keyFor(bk)],bl!==undefined?bl.v:$throwNilPointerError);ak[0]=(function(ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao){return function $b(bm,bn,bo){var bm,bn,bo,bp,bq,br,bs,bt,bu,bv,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:bp=bn;bq=$clone(bo,E.Value);br=ad[0].$get();bs=ao[0].Len();$s=1;case 1:if($c){$c=false;bs=bs.$blk();}if(bs&&bs.$blk!==undefined){break s;}bt=bs;bu=al[0];bv=ah[0];$r=bn.dec.decodeArray(bp,bq,br,bt,bu,bv);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.$s=$s;$f.$r=$r;return $f;};})(ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao);$s=16;continue;case 12:bn=(bm=ac[0].wireType[Z.keyFor(y)],bm!==undefined?bm.v:JK.nil).MapT.Key;bp=(bo=ac[0].wireType[Z.keyFor(y)],bo!==undefined?bo.v:JK.nil).MapT.Elem;bq=bn;br=ao[0].Key();$s=21;case 21:if($c){$c=false;br=br.$blk();}if(br&&br.$blk!==undefined){break s;}bs=br;bt="key of "+aa;bu=ab;bv=ac[0].decOpFor(bq,bs,bt,bu);$s=22;case 22:if($c){$c=false;bv=bv.$blk();}if(bv&&bv.$blk!==undefined){break s;}aj[0]=bv;bw=bp;bx=ao[0].Elem();$s=23;case 23:if($c){$c=false;bx=bx.$blk();}if(bx&&bx.$blk!==undefined){break s;}by=bx;bz="element of "+aa;ca=ab;cb=ac[0].decOpFor(bw,by,bz,ca);$s=24;case 24:if($c){$c=false;cb=cb.$blk();}if(cb&&cb.$blk!==undefined){break s;}ae[0]=cb;am[0]=FG(aa);ak[0]=(function(ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao){return function $b(cc,cd,ce){var cc,cd,ce,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;cc=$f.cc;cd=$f.cd;ce=$f.ce;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=cd.dec.decodeMap(ao[0],cd,$clone(ce,E.Value),aj[0].$get(),ae[0].$get(),am[0]);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.$s=$s;$f.$r=$r;return $f;};})(ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao);$s=16;continue;case 13:aa="element of "+aa;cc=ao[0].Elem();$s=27;case 27:if($c){$c=false;cc=cc.$blk();}if(cc&&cc.$blk!==undefined){break s;}cd=cc.Kind();$s=28;case 28:if($c){$c=false;cd=cd.$blk();}if(cd&&cd.$blk!==undefined){break s;}if(cd===8){$s=25;continue;}$s=26;continue;case 25:ak[0]=GC;$s=9;continue;case 26:ce=0;cf=(cg=AF[Z.keyFor(y)],cg!==undefined?[cg.v,true]:[$ifaceNil,false]);ch=cf[0];ci=cf[1];if(ci){ce=$assertType(ch,JC).Elem;}else{ce=(cj=ac[0].wireType[Z.keyFor(y)],cj!==undefined?cj.v:JK.nil).SliceT.Elem;}ck=ce;cl=ao[0].Elem();$s=29;case 29:if($c){$c=false;cl=cl.$blk();}if(cl&&cl.$blk!==undefined){break s;}cm=cl;cn=aa;co=ab;cp=ac[0].decOpFor(ck,cm,cn,co);$s=30;case 30:if($c){$c=false;cp=cp.$blk();}if(cp&&cp.$blk!==undefined){break s;}af[0]=cp;an[0]=FG(aa);cq=ao[0].Elem();$s=31;case 31:if($c){$c=false;cq=cq.$blk();}if(cq&&cq.$blk!==undefined){break s;}cr=cq.Kind();$s=32;case 32:if($c){$c=false;cr=cr.$blk();}if(cr&&cr.$blk!==undefined){break s;}ai[0]=(cs=GP[E.Kind.keyFor(cr)],cs!==undefined?cs.v:$throwNilPointerError);ak[0]=(function(ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao){return function $b(ct,cu,cv){var ct,cu,cv,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;ct=$f.ct;cu=$f.cu;cv=$f.cv;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=cu.dec.decodeSlice(cu,$clone(cv,E.Value),af[0].$get(),an[0],ai[0]);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.ct=ct;$f.cu=cu;$f.cv=cv;$f.$s=$s;$f.$r=$r;return $f;};})(ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao);$s=16;continue;case 14:ct=Y(av);$s=33;case 33:if($c){$c=false;ct=ct.$blk();}if(ct&&ct.$blk!==undefined){break s;}cu=ct;cw=ac[0].getDecEnginePtr(y,cu);$s=34;case 34:if($c){$c=false;cw=cw.$blk();}if(cw&&cw.$blk!==undefined){break s;}cv=cw;ag[0]=cv[0];cx=cv[1];if(!($interfaceIsEqual(cx,$ifaceNil))){CI(cx);}ak[0]=(function(ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao){return function $b(cy,cz,da){var cy,cz,da,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;cy=$f.cy;cz=$f.cz;da=$f.da;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=ac[0].decodeStruct(ag[0].$get(),$clone(da,E.Value));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.cy=cy;$f.cz=cz;$f.da=da;$f.$s=$s;$f.$r=$r;return $f;};})(ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao);$s=16;continue;case 15:ak[0]=(function(ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao){return function $b(cy,cz,da){var cy,cz,da,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;cy=$f.cy;cz=$f.cz;da=$f.da;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=cz.dec.decodeInterface(ao[0],cz,$clone(da,E.Value));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.cy=cy;$f.cz=cz;$f.da=da;$f.$s=$s;$f.$r=$r;return $f;};})(ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao);case 16:case 9:case 8:if(ak[0]===$throwNilPointerError){$s=35;continue;}$s=36;continue;case 35:$r=CH("decode can't handle type %s",new JG([z]));$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 36:$s=-1;return(ak.$ptr||(ak.$ptr=new KQ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},ak)));}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.decOpFor};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.cr=cr;$f.cs=cs;$f.ct=ct;$f.cu=cu;$f.cv=cv;$f.cw=cw;$f.cx=cx;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.decOpFor=function(y,z,aa,ab){return this.$val.decOpFor(y,z,aa,ab);};EV.ptr.prototype.decIgnoreOpFor=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=[aa];ab=[ab];ac=[ac];ad=[ad];ae=[ae];af=[af];ag=[ag];ah=this;aj=(ai=z[Z.keyFor(y)],ai!==undefined?ai.v:KQ.nil);if(!(aj===KQ.nil)){$s=-1;return aj;}ak=(al=GJ[Z.keyFor(y)],al!==undefined?[al.v,true]:[$throwNilPointerError,false]);af[0]=ak[0];am=ak[1];if(!am){$s=1;continue;}$s=2;continue;case 1:an=y;(z||$throwRuntimeError("assignment to entry in nil map"))[Z.keyFor(an)]={k:an,v:(af.$ptr||(af.$ptr=new KQ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},af)))};if(y===AP){$s=3;continue;}$s=4;continue;case 3:af[0]=(function(aa,ab,ac,ad,ae,af,ag){return function $b(ao,ap,aq){var ao,ap,aq,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;ao=$f.ao;ap=$f.ap;aq=$f.aq;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=ap.dec.ignoreInterface(ap);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.$s=$s;$f.$r=$r;return $f;};})(aa,ab,ac,ad,ae,af,ag);$s=-1;return(af.$ptr||(af.$ptr=new KQ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},af)));case 4:ag[0]=(ao=ah.wireType[Z.keyFor(y)],ao!==undefined?ao.v:JK.nil);if(ag[0]===JK.nil){$s=6;continue;}if(!(ag[0].ArrayT===JB.nil)){$s=7;continue;}if(!(ag[0].MapT===JE.nil)){$s=8;continue;}if(!(ag[0].SliceT===JC.nil)){$s=9;continue;}if(!(ag[0].StructT===JD.nil)){$s=10;continue;}if((!(ag[0].GobEncoderT===JF.nil))||(!(ag[0].BinaryMarshalerT===JF.nil))||(!(ag[0].TextMarshalerT===JF.nil))){$s=11;continue;}$s=12;continue;case 6:ap=new Z(y).string();$s=13;case 13:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=new $String(ap);$r=CH("bad data: undefined type %s",new JG([aq]));$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=12;continue;case 7:ar=ag[0].ArrayT.Elem;as=ah.decIgnoreOpFor(ar,z);$s=15;case 15:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}aa[0]=as;af[0]=(function(aa,ab,ac,ad,ae,af,ag){return function $b(at,au,av){var at,au,av,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;at=$f.at;au=$f.au;av=$f.av;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=au.dec.ignoreArray(au,aa[0].$get(),ag[0].ArrayT.Len);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.at=at;$f.au=au;$f.av=av;$f.$s=$s;$f.$r=$r;return $f;};})(aa,ab,ac,ad,ae,af,ag);$s=12;continue;case 8:au=(at=ah.wireType[Z.keyFor(y)],at!==undefined?at.v:JK.nil).MapT.Key;aw=(av=ah.wireType[Z.keyFor(y)],av!==undefined?av.v:JK.nil).MapT.Elem;ax=ah.decIgnoreOpFor(au,z);$s=16;case 16:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ae[0]=ax;ay=ah.decIgnoreOpFor(aw,z);$s=17;case 17:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}ab[0]=ay;af[0]=(function(aa,ab,ac,ad,ae,af,ag){return function $b(az,ba,bb){var az,ba,bb,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;az=$f.az;ba=$f.ba;bb=$f.bb;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=ba.dec.ignoreMap(ba,ae[0].$get(),ab[0].$get());$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.az=az;$f.ba=ba;$f.bb=bb;$f.$s=$s;$f.$r=$r;return $f;};})(aa,ab,ac,ad,ae,af,ag);$s=12;continue;case 9:az=ag[0].SliceT.Elem;ba=ah.decIgnoreOpFor(az,z);$s=18;case 18:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}ac[0]=ba;af[0]=(function(aa,ab,ac,ad,ae,af,ag){return function $b(bb,bc,bd){var bb,bc,bd,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;bb=$f.bb;bc=$f.bc;bd=$f.bd;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=bc.dec.ignoreSlice(bc,ac[0].$get());$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.$s=$s;$f.$r=$r;return $f;};})(aa,ab,ac,ad,ae,af,ag);$s=12;continue;case 10:bc=ah.getIgnoreEnginePtr(y);$s=19;case 19:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}bb=bc;ad[0]=bb[0];bd=bb[1];if(!($interfaceIsEqual(bd,$ifaceNil))){CI(bd);}af[0]=(function(aa,ab,ac,ad,ae,af,ag){return function $b(be,bf,bg){var be,bf,bg,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;be=$f.be;bf=$f.bf;bg=$f.bg;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=bf.dec.ignoreStruct(ad[0].$get());$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.be=be;$f.bf=bf;$f.bg=bg;$f.$s=$s;$f.$r=$r;return $f;};})(aa,ab,ac,ad,ae,af,ag);$s=12;continue;case 11:af[0]=(function(aa,ab,ac,ad,ae,af,ag){return function $b(be,bf,bg){var be,bf,bg,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;be=$f.be;bf=$f.bf;bg=$f.bg;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=bf.dec.ignoreGobDecoder(bf);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.be=be;$f.bf=bf;$f.bg=bg;$f.$s=$s;$f.$r=$r;return $f;};})(aa,ab,ac,ad,ae,af,ag);case 12:case 5:case 2:if(af[0]===$throwNilPointerError){$s=20;continue;}$s=21;continue;case 20:be=new Z(y).string();$s=22;case 22:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}bf=new $String(be);$r=CH("bad data: ignore can't handle type %s",new JG([bf]));$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 21:$s=-1;return(af.$ptr||(af.$ptr=new KQ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},af)));}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.decIgnoreOpFor};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.decIgnoreOpFor=function(y,z){return this.$val.decIgnoreOpFor(y,z);};EV.ptr.prototype.gobDecodeOpFor=function(y){var aa,ab,ac,ad,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=[aa];y=[y];z=[z];ab=this;aa[0]=y[0].user;if(y[0].decIndir===-1){$s=1;continue;}if(y[0].decIndir>0){$s=2;continue;}$s=3;continue;case 1:aa[0]=E.PtrTo(aa[0]);$s=3;continue;case 2:ac=0;case 4:if(!(ac<y[0].decIndir)){$s=5;continue;}ad=aa[0].Elem();$s=6;case 6:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}aa[0]=ad;ac=ac+(1)<<24>>24;$s=4;continue;case 5:case 3:z[0]=$throwNilPointerError;z[0]=(function(aa,y,z){return function $b(ae,af,ag){var ae,af,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!(!(($clone(ag,E.Value).Kind()===22)))){ah=false;$s=3;continue s;}ai=aa[0].Kind();$s=4;case 4:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai===22;case 3:if(ah){$s=1;continue;}$s=2;continue;case 1:ag=$clone(ag,E.Value).Addr();case 2:$r=af.dec.decodeGobDecoder(y[0],af,$clone(ag,E.Value));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};})(aa,y,z);$s=-1;return(z.$ptr||(z.$ptr=new KQ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},z)));}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.gobDecodeOpFor};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.gobDecodeOpFor=function(y){return this.$val.gobDecodeOpFor(y);};EV.ptr.prototype.compatibleType=function(y,z,aa){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ab=this;ac=(ad=aa[E.Type.keyFor(y)],ad!==undefined?[ad.v,true]:[0,false]);ae=ac[0];af=ac[1];if(af){$s=-1;return ae===z;}ag=y;(aa||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(ag)]={k:ag,v:z};ah=Y(y);$s=1;case 1:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;aj=(ak=ab.wireType[Z.keyFor(z)],ak!==undefined?[ak.v,true]:[JK.nil,false]);al=aj[0];am=aj[1];if(!(((ai.externalDec===1))===(am&&!(al.GobEncoderT===JF.nil)))||!(((ai.externalDec===2))===(am&&!(al.BinaryMarshalerT===JF.nil)))||!(((ai.externalDec===3))===(am&&!(al.TextMarshalerT===JF.nil)))){$s=-1;return false;}if(!((ai.externalDec===0))){$s=-1;return true;}an=ai.base;ao=an.Kind();$s=3;case 3:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=ao;if(ap===(1)){$s=4;continue;}if((ap===(2))||(ap===(3))||(ap===(4))||(ap===(5))||(ap===(6))){$s=5;continue;}if((ap===(7))||(ap===(8))||(ap===(9))||(ap===(10))||(ap===(11))||(ap===(12))){$s=6;continue;}if((ap===(13))||(ap===(14))){$s=7;continue;}if((ap===(15))||(ap===(16))){$s=8;continue;}if(ap===(24)){$s=9;continue;}if(ap===(20)){$s=10;continue;}if(ap===(17)){$s=11;continue;}if(ap===(21)){$s=12;continue;}if(ap===(23)){$s=13;continue;}if(ap===(25)){$s=14;continue;}$s=15;continue;case 4:$s=-1;return z===AI;case 5:$s=-1;return z===AJ;case 6:$s=-1;return z===AK;case 7:$s=-1;return z===AL;case 8:$s=-1;return z===AO;case 9:$s=-1;return z===AN;case 10:$s=-1;return z===AP;case 11:if(!am||al.ArrayT===JB.nil){$s=-1;return false;}aq=al.ArrayT;as=an.Len();$s=18;case 18:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}if(!(as===aq.Len)){ar=false;$s=17;continue s;}at=an.Elem();$s=19;case 19:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=ab.compatibleType(at,aq.Elem,aa);$s=20;case 20:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}ar=au;case 17:av=ar;$s=21;case 21:return av;case 12:if(!am||al.MapT===JE.nil){$s=-1;return false;}aw=al.MapT;ay=an.Key();$s=23;case 23:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=ab.compatibleType(ay,aw.Key,aa);$s=24;case 24:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}if(!(az)){ax=false;$s=22;continue s;}ba=an.Elem();$s=25;case 25:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=ab.compatibleType(ba,aw.Elem,aa);$s=26;case 26:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}ax=bb;case 22:bc=ax;$s=27;case 27:return bc;case 13:bd=an.Elem();$s=30;case 30:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}be=bd.Kind();$s=31;case 31:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}if(be===8){$s=28;continue;}$s=29;continue;case 28:$s=-1;return z===AM;case 29:bf=JC.nil;bg=(bh=AF[Z.keyFor(z)],bh!==undefined?[bh.v,true]:[$ifaceNil,false]);bi=bg[0];bj=bg[1];if(bj){bk=$assertType(bi,JC,true);bf=bk[0];}else if(!(al===JK.nil)){bf=al.SliceT;}bl=an.Elem();$s=32;case 32:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}bm=Y(bl);$s=33;case 33:if($c){$c=false;bm=bm.$blk();}if(bm&&bm.$blk!==undefined){break s;}bn=bm.base;if(!(!(bf===JC.nil))){bo=false;$s=34;continue s;}bp=ab.compatibleType(bn,bf.Elem,aa);$s=35;case 35:if($c){$c=false;bp=bp.$blk();}if(bp&&bp.$blk!==undefined){break s;}bo=bp;case 34:bq=bo;$s=36;case 36:return bq;case 14:$s=-1;return true;case 15:$s=-1;return false;case 16:case 2:$s=-1;return false;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.compatibleType};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.compatibleType=function(y,z,aa){return this.$val.compatibleType(y,z,aa);};EV.ptr.prototype.typeString=function(y){var aa,ab,ac,ad,ae,af,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);z=this;AB.Lock();$deferred.push([$methodVal(AB,"Unlock"),[]]);ab=(aa=AE[Z.keyFor(y)],aa!==undefined?aa.v:$ifaceNil);if(!($interfaceIsEqual(ab,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:ac=ab.string();$s=3;case 3:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;$s=4;case 4:return ad;case 2:af=(ae=z.wireType[Z.keyFor(y)],ae!==undefined?ae.v:JK.nil).string();$s=5;case 5:return af;}return;}}catch(err){$err=err;$s=-1;return"";}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:EV.ptr.prototype.typeString};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};EV.prototype.typeString=function(y){return this.$val.typeString(y);};EV.ptr.prototype.compileSingle=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=KR.nil;ab=$ifaceNil;ac=this;ad=z.user;aa=new GF.ptr(KS.nil,0);aa.instr=$makeSlice(KS,1);ae=ad.String();$s=1;case 1:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=ae;ag=ac.compatibleType(ad,y,{});$s=4;case 4:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}if(!ag){$s=2;continue;}$s=3;continue;case 2:ah=ac.typeString(y);$s=5;case 5:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;aj=z.base.Kind();$s=8;case 8:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}if((aj===20)&&!((y===AP))){$s=6;continue;}$s=7;continue;case 6:ak=KR.nil;al=B.New("gob: local interface type "+af+" can only be decoded from remote interface type; received concrete type "+ai);aa=ak;ab=al;$s=-1;return[aa,ab];case 7:am=KR.nil;an=B.New("gob: decoding into local type "+af+", received remote type "+ai);aa=am;ab=an;$s=-1;return[aa,ab];case 3:ao=ac.decOpFor(y,ad,af,{});$s=9;case 9:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=ao;aq=B.New("value for \""+af+"\" out of range");FJ.copy((ar=aa.instr,(0>=ar.$length?($throwRuntimeError("index out of range"),undefined):ar.$array[ar.$offset+0])),new FJ.ptr(ap.$get(),0,JN.nil,aq));aa.numInstr=1;$s=-1;return[aa,ab];}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.compileSingle};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.compileSingle=function(y,z){return this.$val.compileSingle(y,z);};EV.ptr.prototype.compileIgnoreSingle=function(y){var aa,ab,ac,ad,ae,af,ag,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=this;aa=new GF.ptr(KS.nil,0);aa.instr=$makeSlice(KS,1);ab=z.decIgnoreOpFor(y,{});$s=1;case 1:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;ad=z.typeString(y);$s=2;case 2:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=FG(ad);$s=3;case 3:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=ae;FJ.copy((ag=aa.instr,(0>=ag.$length?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+0])),new FJ.ptr(ac.$get(),0,JN.nil,af));aa.numInstr=1;$s=-1;return aa;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.compileIgnoreSingle};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.compileIgnoreSingle=function(y){return this.$val.compileIgnoreSingle(y);};EV.ptr.prototype.compileDec=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);aa=[aa];ab=KR.nil;aa[0]=$ifaceNil;ac=this;$deferred.push([CJ,[(aa.$ptr||(aa.$ptr=new KM(function(){return this.$target[0];},function($v){this.$target[0]=$v;},aa)))]]);ad=z.base;ae=ad;af=ae.Kind();$s=3;case 3:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}if(!((af===25))||!((z.externalDec===0))){$s=1;continue;}$s=2;continue;case 1:ah=ac.compileSingle(y,z);$s=4;case 4:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;ab=ag[0];aa[0]=ag[1];ai=[ab,aa[0]];$s=5;case 5:return ai;case 2:aj=JD.nil;ak=(al=AF[Z.keyFor(y)],al!==undefined?[al.v,true]:[$ifaceNil,false]);am=ak[0];an=ak[1];if(an){ao=$assertType(am,JD,true);aj=ao[0];}else{aq=(ap=ac.wireType[Z.keyFor(y)],ap!==undefined?ap.v:JK.nil);if(aq===JK.nil){CI(FB);}aj=aq.StructT;}if(aj===JD.nil){$s=6;continue;}$s=7;continue;case 6:$r=CH("type mismatch in decoder: want struct type %s; got non-struct",new JG([ad]));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:ab=new GF.ptr(KS.nil,0);ab.instr=$makeSlice(KS,aj.Field.$length);ar={};as=0;case 9:if(!(as<aj.Field.$length)){$s=10;continue;}au=(at=aj.Field,((as<0||as>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+as]));if(au.Name===""){$s=11;continue;}$s=12;continue;case 11:$r=CH("empty name for remote field of type %s",new JG([new $String(aj.CommonType.Name)]));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 12:av=FG(au.Name);ax=ae.FieldByName(au.Name);$s=14;case 14:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}aw=ax;ay=$clone(aw[0],E.StructField);az=aw[1];if(!az||!BM(au.Name)){$s=15;continue;}$s=16;continue;case 15:ba=ac.decIgnoreOpFor(au.Id,{});$s=17;case 17:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=ba;FJ.copy((bc=ab.instr,((as<0||as>=bc.$length)?($throwRuntimeError("index out of range"),undefined):bc.$array[bc.$offset+as])),new FJ.ptr(bb.$get(),as,JN.nil,av));as=as+(1)>>0;$s=9;continue;case 16:bd=ac.compatibleType(ay.Type,au.Id,{});$s=20;case 20:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}if(!bd){$s=18;continue;}$s=19;continue;case 18:$r=CH("wrong type (%s) for received field %s.%s",new JG([ay.Type,new $String(aj.CommonType.Name),new $String(au.Name)]));$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 19:be=ac.decOpFor(au.Id,ay.Type,ay.Name,ar);$s=22;case 22:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}bf=be;FJ.copy((bg=ab.instr,((as<0||as>=bg.$length)?($throwRuntimeError("index out of range"),undefined):bg.$array[bg.$offset+as])),new FJ.ptr(bf.$get(),as,ay.Index,av));ab.numInstr=ab.numInstr+(1)>>0;as=as+(1)>>0;$s=9;continue;case 10:bh=[ab,aa[0]];$s=23;case 23:return bh;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[ab,aa[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:EV.ptr.prototype.compileDec};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};EV.prototype.compileDec=function(y,z){return this.$val.compileDec(y,z);};EV.ptr.prototype.getDecEnginePtr=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=KT.nil;ab=$ifaceNil;ac=this;ad=z.user;ae=(af=ac.decoderCache[E.Type.keyFor(ad)],af!==undefined?[af.v,true]:[false,false]);ag=ae[0];ah=ae[1];if(!ah){ag={};ai=ad;(ac.decoderCache||$throwRuntimeError("assignment to entry in nil map"))[E.Type.keyFor(ai)]={k:ai,v:ag};}aj=(ak=ag[Z.keyFor(y)],ak!==undefined?[ak.v,true]:[KT.nil,false]);aa=aj[0];ah=aj[1];if(!ah){$s=1;continue;}$s=2;continue;case 1:aa=$newDataPointer(KR.nil,KT);al=y;(ag||$throwRuntimeError("assignment to entry in nil map"))[Z.keyFor(al)]={k:al,v:aa};an=ac.compileDec(y,z);$s=3;case 3:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}am=an;aa.$set(am[0]);ab=am[1];if(!($interfaceIsEqual(ab,$ifaceNil))){delete ag[Z.keyFor(y)];}case 2:$s=-1;return[aa,ab];}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.getDecEnginePtr};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.getDecEnginePtr=function(y,z){return this.$val.getDecEnginePtr(y,z);};EV.ptr.prototype.getIgnoreEnginePtr=function(y){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=KT.nil;aa=$ifaceNil;ab=this;ac=false;ad=(ae=ab.ignorerCache[Z.keyFor(y)],ae!==undefined?[ae.v,true]:[KT.nil,false]);z=ad[0];ac=ad[1];if(!ac){$s=1;continue;}$s=2;continue;case 1:z=$newDataPointer(KR.nil,KT);af=y;(ab.ignorerCache||$throwRuntimeError("assignment to entry in nil map"))[Z.keyFor(af)]={k:af,v:z};ah=(ag=ab.wireType[Z.keyFor(y)],ag!==undefined?ag.v:JK.nil);if(!(ah===JK.nil)&&!(ah.StructT===JD.nil)){$s=3;continue;}$s=4;continue;case 3:aj=y;ak=Y(GL);$s=6;case 6:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=ak;am=ab.compileDec(aj,al);$s=7;case 7:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}ai=am;z.$set(ai[0]);aa=ai[1];$s=5;continue;case 4:an=ab.compileIgnoreSingle(y);$s=8;case 8:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}z.$set(an);case 5:if(!($interfaceIsEqual(aa,$ifaceNil))){delete ab.ignorerCache[Z.keyFor(y)];}case 2:$s=-1;return[z,aa];}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.getIgnoreEnginePtr};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.getIgnoreEnginePtr=function(y){return this.$val.getIgnoreEnginePtr(y);};EV.ptr.prototype.decodeValue=function(y,z){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);aa=this;$deferred.push([CJ,[(aa.$ptr_err||(aa.$ptr_err=new KM(function(){return this.$target.err;},function($v){this.$target.err=$v;},aa)))]]);if(!$clone(z,E.Value).IsValid()){$s=1;continue;}$s=2;continue;case 1:$r=aa.decodeIgnoredValue(y);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=4;case 4:return;case 2:ab=Y($clone(z,E.Value).Type());$s=5;case 5:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;ad=ac.base;ae=KT.nil;ag=aa.getDecEnginePtr(y,ac);$s=6;case 6:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;ae=af[0];aa.err=af[1];if(!($interfaceIsEqual(aa.err,$ifaceNil))){$s=7;continue;}$s=8;continue;case 7:$s=9;case 9:return;case 8:ah=FM($clone(z,E.Value));$s=10;case 10:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}z=ah;ai=ae.$get();aj=ad;ak=aj.Kind();$s=14;case 14:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}if((ak===25)&&(ac.externalDec===0)){$s=11;continue;}$s=12;continue;case 11:am=(al=aa.wireType[Z.keyFor(y)],al!==undefined?al.v:JK.nil);if(!(ai.numInstr===0)){an=false;$s=17;continue s;}ao=aj.NumField();$s=18;case 18:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}an=ao>0;case 17:if(an&&!(am===JK.nil)&&am.StructT.Field.$length>0){$s=15;continue;}$s=16;continue;case 15:ap=ad.Name();$s=19;case 19:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap;$r=CH("type mismatch: no fields matched compiling decoder for %s",new JG([new $String(aq)]));$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 16:$r=aa.decodeStruct(ai,$clone(z,E.Value));$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=13;continue;case 12:$r=aa.decodeSingle(ai,$clone(z,E.Value));$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 13:$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:EV.ptr.prototype.decodeValue};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};EV.prototype.decodeValue=function(y,z){return this.$val.decodeValue(y,z);};EV.ptr.prototype.decodeIgnoredValue=function(y){var aa,ab,ac,ad,ae,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=this;aa=KT.nil;ac=z.getIgnoreEnginePtr(y);$s=1;case 1:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;aa=ab[0];z.err=ab[1];if(!($interfaceIsEqual(z.err,$ifaceNil))){$s=-1;return;}ae=(ad=z.wireType[Z.keyFor(y)],ad!==undefined?ad.v:JK.nil);if(!(ae===JK.nil)&&!(ae.StructT===JD.nil)){$s=2;continue;}$s=3;continue;case 2:$r=z.ignoreStruct(aa.$get());$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=4;continue;case 3:$r=z.ignoreSingle(aa.$get());$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:$s=-1;return;}return;}if($f===undefined){$f={$blk:EV.ptr.prototype.decodeIgnoredValue};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EV.prototype.decodeIgnoredValue=function(y){return this.$val.decodeIgnoredValue(y);};GM=function(){var aa,ab,ac,ad,ae,af,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:y=$throwNilPointerError;z=$throwNilPointerError;aa=y;ab=z;ac=E.TypeOf(new $Int(0)).Bits();$s=2;case 2:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;if(ad===(32)){aa=FS;ab=FT;}else if(ad===(64)){aa=FU;ab=FV;}else{$panic(new $String("gob: unknown size of int/uint"));}case 1:GI[2]=aa;GI[7]=ab;ae=E.TypeOf(new $Uintptr(0)).Bits();$s=4;case 4:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=ae;if(af===(32)){ab=FT;}else if(af===(64)){ab=FV;}else{$panic(new $String("gob: unknown size of uintptr"));}case 3:GI[12]=ab;$s=-1;return;}return;}if($f===undefined){$f={$blk:GM};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GN=function(y){var aa,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=$clone(E.New(y),E.Value).Elem();$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;$s=2;case 2:return aa;}return;}if($f===undefined){$f={$blk:GN};}$f.aa=aa;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GQ=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=GR(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:GQ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GR=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,KB,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding bool array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ai=y.decodeUint();$s=7;case 7:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=!((ah=ai,(ah.$high===0&&ah.$low===0))));ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:GR};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GS=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=GT(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:GS};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GT=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,JY,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding complex64 array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ah=y.decodeUint();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=FX(ah,ab);$s=8;case 8:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=ai;ak=y.decodeUint();$s=9;case 9:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=FX(ak,ab);$s=10;case 10:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=new $Complex64(($fround(aj)),($fround(am))));ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:GT};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GU=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=GV(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:GU};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GV=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,JZ,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding complex128 array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ah=y.decodeUint();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=FW(ah);$s=8;case 8:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=ai;ak=y.decodeUint();$s=9;case 9:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=FW(ak);$s=10;case 10:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=new $Complex128(aj,am));ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:GV};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GW=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=GX(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:GW};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GX=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,JW,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding float32 array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ah=y.decodeUint();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=FX(ah,ab);$s=8;case 8:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=($fround(ai)));ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:GX};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GY=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=GZ(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:GY};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};GZ=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,JX,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding float64 array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ah=y.decodeUint();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=FW(ah);$s=8;case 8:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=ai);ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:GZ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HA=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=HB(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:HA};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HB=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,JN,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding int array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ah=y.decodeInt();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;if((ai.$high<-1||(ai.$high===-1&&ai.$low<2147483648))||(0<ai.$high||(0===ai.$high&&2147483647<ai.$low))){CI(ab);}((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=(((ai.$low+((ai.$high>>31)*4294967296))>>0)));ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:HB};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HC=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=HD(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:HC};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HD=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,JP,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding int16 array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ah=y.decodeInt();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;if((ai.$high<-1||(ai.$high===-1&&ai.$low<4294934528))||(0<ai.$high||(0===ai.$high&&32767<ai.$low))){CI(ab);}((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=(((ai.$low+((ai.$high>>31)*4294967296))<<16>>16)));ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:HD};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HE=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=HF(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:HE};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HF=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,JQ,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding int32 array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ah=y.decodeInt();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;if((ai.$high<-1||(ai.$high===-1&&ai.$low<2147483648))||(0<ai.$high||(0===ai.$high&&2147483647<ai.$low))){CI(ab);}((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=(((ai.$low+((ai.$high>>31)*4294967296))>>0)));ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:HF};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HG=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=HH(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:HG};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HH=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,JR,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding int64 array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ah=y.decodeInt();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=ah);ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:HH};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HI=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=HJ(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:HI};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HJ=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,JO,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding int8 array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ah=y.decodeInt();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;if((ai.$high<-1||(ai.$high===-1&&ai.$low<4294967168))||(0<ai.$high||(0===ai.$high&&127<ai.$low))){CI(ab);}((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=(((ai.$low+((ai.$high>>31)*4294967296))<<24>>24)));ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:HJ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HK=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=HL(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:HK};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HL=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,KC,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding string array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ah=y.decodeUint();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;aj=((ai.$low>>0));if(aj<0||!((ak=(new $Uint64(0,aj)),(ak.$high===ai.$high&&ak.$low===ai.$low)))||aj>y.b.Len()){$s=8;continue;}$s=9;continue;case 8:$r=CH("length of string exceeds input size (%d bytes)",new JG([ai]));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 9:if(aj>y.b.Len()){$s=11;continue;}$s=12;continue;case 11:$r=CH("string data too long for buffer: %d",new JG([new $Int(aj)]));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 12:al=y.b.Bytes();if(al.$length<aj){$s=14;continue;}$s=15;continue;case 14:$r=CH("invalid string length %d: exceeds input size %d",new JG([new $Int(aj),new $Int(al.$length)]));$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 15:((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=($bytesToString($subslice(al,0,aj))));y.b.Drop(aj);ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:HL};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HM=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=HN(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:HM};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HN=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,JS,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding uint array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ah=y.decodeUint();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=((ai.$low>>>0)));ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:HN};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HO=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=HP(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:HO};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HP=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,JT,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding uint16 array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ah=y.decodeUint();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;if((0<ai.$high||(0===ai.$high&&65535<ai.$low))){CI(ab);}((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=((ai.$low<<16>>>16)));ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:HP};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HQ=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=HR(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:HQ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HR=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,JU,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding uint32 array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ah=y.decodeUint();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;if((0<ai.$high||(0===ai.$high&&4294967295<ai.$low))){CI(ab);}((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=((ai.$low>>>0)));ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:HR};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HS=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=HT(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:HS};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HT=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,JV,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding uint64 array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ah=y.decodeUint();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=ah);ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:HT};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HU=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(z,E.Value).CanAddr()){$s=-1;return false;}ac=y;ad=$clone(z,E.Value).Slice(0,$clone(z,E.Value).Len());$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,E.Value);af=aa;ag=ab;ah=HV(ac,ae,af,ag);$s=2;case 2:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:HU};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};HV=function(y,z,aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=$clone(z,E.Value).Interface();$s=1;case 1:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=$assertType(ad,KA,true);ae=ac[0];af=ac[1];if(!af){$s=-1;return false;}ag=0;case 2:if(!(ag<aa)){$s=3;continue;}if(y.b.Len()===0){$s=4;continue;}$s=5;continue;case 4:$r=CH("decoding uintptr array or slice: length exceeds input size (%d elements)",new JG([new $Int(aa)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:ah=y.decodeUint();$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;if((0<ai.$high||(0===ai.$high&&4294967295<ai.$low))){CI(ab);}((ag<0||ag>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ag]=((ai.$low>>>0)));ag=ag+(1)>>0;$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:HV};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Z.methods=[{prop:"gobType",name:"gobType",pkg:"encoding/gob",typ:$funcType([],[AC],false)},{prop:"string",name:"string",pkg:"encoding/gob",typ:$funcType([],[$String],false)},{prop:"name",name:"name",pkg:"encoding/gob",typ:$funcType([],[$String],false)}];KV.methods=[{prop:"id",name:"id",pkg:"encoding/gob",typ:$funcType([],[Z],false)},{prop:"setId",name:"setId",pkg:"encoding/gob",typ:$funcType([Z],[],false)},{prop:"string",name:"string",pkg:"encoding/gob",typ:$funcType([],[$String],false)},{prop:"safeString",name:"safeString",pkg:"encoding/gob",typ:$funcType([KU],[$String],false)},{prop:"name",name:"name",pkg:"encoding/gob",typ:$funcType([],[$String],false)}];JB.methods=[{prop:"init",name:"init",pkg:"encoding/gob",typ:$funcType([AC,$Int],[],false)},{prop:"safeString",name:"safeString",pkg:"encoding/gob",typ:$funcType([KU],[$String],false)},{prop:"string",name:"string",pkg:"encoding/gob",typ:$funcType([],[$String],false)}];JF.methods=[{prop:"safeString",name:"safeString",pkg:"encoding/gob",typ:$funcType([KU],[$String],false)},{prop:"string",name:"string",pkg:"encoding/gob",typ:$funcType([],[$String],false)}];JE.methods=[{prop:"init",name:"init",pkg:"encoding/gob",typ:$funcType([AC,AC],[],false)},{prop:"safeString",name:"safeString",pkg:"encoding/gob",typ:$funcType([KU],[$String],false)},{prop:"string",name:"string",pkg:"encoding/gob",typ:$funcType([],[$String],false)}];JC.methods=[{prop:"init",name:"init",pkg:"encoding/gob",typ:$funcType([AC],[],false)},{prop:"safeString",name:"safeString",pkg:"encoding/gob",typ:$funcType([KU],[$String],false)},{prop:"string",name:"string",pkg:"encoding/gob",typ:$funcType([],[$String],false)}];JD.methods=[{prop:"safeString",name:"safeString",pkg:"encoding/gob",typ:$funcType([KU],[$String],false)},{prop:"string",name:"string",pkg:"encoding/gob",typ:$funcType([],[$String],false)}];JK.methods=[{prop:"string",name:"string",pkg:"encoding/gob",typ:$funcType([],[$String],false)}];KF.methods=[{prop:"writer",name:"writer",pkg:"encoding/gob",typ:$funcType([],[J.Writer],false)},{prop:"pushWriter",name:"pushWriter",pkg:"encoding/gob",typ:$funcType([J.Writer],[],false)},{prop:"popWriter",name:"popWriter",pkg:"encoding/gob",typ:$funcType([],[],false)},{prop:"setError",name:"setError",pkg:"encoding/gob",typ:$funcType([$error],[],false)},{prop:"writeMessage",name:"writeMessage",pkg:"encoding/gob",typ:$funcType([J.Writer,KG],[],false)},{prop:"sendActualType",name:"sendActualType",pkg:"encoding/gob",typ:$funcType([J.Writer,KE,HW,E.Type],[$Bool],false)},{prop:"sendType",name:"sendType",pkg:"encoding/gob",typ:$funcType([J.Writer,KE,E.Type],[$Bool],false)},{prop:"Encode",name:"Encode",pkg:"",typ:$funcType([$emptyInterface],[$error],false)},{prop:"sendTypeDescriptor",name:"sendTypeDescriptor",pkg:"encoding/gob",typ:$funcType([J.Writer,KE,HW],[],false)},{prop:"sendTypeId",name:"sendTypeId",pkg:"encoding/gob",typ:$funcType([KE,HW],[],false)},{prop:"EncodeValue",name:"EncodeValue",pkg:"",typ:$funcType([E.Value],[$error],false)},{prop:"newEncoderState",name:"newEncoderState",pkg:"encoding/gob",typ:$funcType([KG],[KE],false)},{prop:"freeEncoderState",name:"freeEncoderState",pkg:"encoding/gob",typ:$funcType([KE],[],false)},{prop:"encodeSingle",name:"encodeSingle",pkg:"encoding/gob",typ:$funcType([KG,KK,E.Value],[],false)},{prop:"encodeStruct",name:"encodeStruct",pkg:"encoding/gob",typ:$funcType([KG,KK,E.Value],[],false)},{prop:"encodeArray",name:"encodeArray",pkg:"encoding/gob",typ:$funcType([KG,E.Value,CR,$Int,$Int,CN],[],false)},{prop:"encodeMap",name:"encodeMap",pkg:"encoding/gob",typ:$funcType([KG,E.Value,CR,CR,$Int,$Int],[],false)},{prop:"encodeInterface",name:"encodeInterface",pkg:"encoding/gob",typ:$funcType([KG,E.Value],[],false)},{prop:"encodeGobEncoder",name:"encodeGobEncoder",pkg:"encoding/gob",typ:$funcType([KG,HW,E.Value],[],false)},{prop:"encode",name:"encode",pkg:"encoding/gob",typ:$funcType([KG,E.Value,HW],[],false)}];KE.methods=[{prop:"encodeUint",name:"encodeUint",pkg:"encoding/gob",typ:$funcType([$Uint64],[],false)},{prop:"encodeInt",name:"encodeInt",pkg:"encoding/gob",typ:$funcType([$Int64],[],false)},{prop:"update",name:"update",pkg:"encoding/gob",typ:$funcType([KI],[],false)}];KG.methods=[{prop:"writeByte",name:"writeByte",pkg:"encoding/gob",typ:$funcType([$Uint8],[],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([II],[$Int,$error],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Bytes",name:"Bytes",pkg:"",typ:$funcType([],[II],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)}];KO.methods=[{prop:"recvType",name:"recvType",pkg:"encoding/gob",typ:$funcType([Z],[],false)},{prop:"recvMessage",name:"recvMessage",pkg:"encoding/gob",typ:$funcType([],[$Bool],false)},{prop:"readMessage",name:"readMessage",pkg:"encoding/gob",typ:$funcType([$Int],[],false)},{prop:"nextInt",name:"nextInt",pkg:"encoding/gob",typ:$funcType([],[$Int64],false)},{prop:"nextUint",name:"nextUint",pkg:"encoding/gob",typ:$funcType([],[$Uint64],false)},{prop:"decodeTypeSequence",name:"decodeTypeSequence",pkg:"encoding/gob",typ:$funcType([$Bool],[Z],false)},{prop:"Decode",name:"Decode",pkg:"",typ:$funcType([$emptyInterface],[$error],false)},{prop:"DecodeValue",name:"DecodeValue",pkg:"",typ:$funcType([E.Value],[$error],false)},{prop:"newDecoderState",name:"newDecoderState",pkg:"encoding/gob",typ:$funcType([KP],[KN],false)},{prop:"freeDecoderState",name:"freeDecoderState",pkg:"encoding/gob",typ:$funcType([KN],[],false)},{prop:"decodeSingle",name:"decodeSingle",pkg:"encoding/gob",typ:$funcType([KR,E.Value],[],false)},{prop:"decodeStruct",name:"decodeStruct",pkg:"encoding/gob",typ:$funcType([KR,E.Value],[],false)},{prop:"ignoreStruct",name:"ignoreStruct",pkg:"encoding/gob",typ:$funcType([KR],[],false)},{prop:"ignoreSingle",name:"ignoreSingle",pkg:"encoding/gob",typ:$funcType([KR],[],false)},{prop:"decodeArrayHelper",name:"decodeArrayHelper",pkg:"encoding/gob",typ:$funcType([KN,E.Value,FI,$Int,$error,FD],[],false)},{prop:"decodeArray",name:"decodeArray",pkg:"encoding/gob",typ:$funcType([KN,E.Value,FI,$Int,$error,FD],[],false)},{prop:"decodeMap",name:"decodeMap",pkg:"encoding/gob",typ:$funcType([E.Type,KN,E.Value,FI,FI,$error],[],false)},{prop:"ignoreArrayHelper",name:"ignoreArrayHelper",pkg:"encoding/gob",typ:$funcType([KN,FI,$Int],[],false)},{prop:"ignoreArray",name:"ignoreArray",pkg:"encoding/gob",typ:$funcType([KN,FI,$Int],[],false)},{prop:"ignoreMap",name:"ignoreMap",pkg:"encoding/gob",typ:$funcType([KN,FI,FI],[],false)},{prop:"decodeSlice",name:"decodeSlice",pkg:"encoding/gob",typ:$funcType([KN,E.Value,FI,$error,FD],[],false)},{prop:"ignoreSlice",name:"ignoreSlice",pkg:"encoding/gob",typ:$funcType([KN,FI],[],false)},{prop:"decodeInterface",name:"decodeInterface",pkg:"encoding/gob",typ:$funcType([E.Type,KN,E.Value],[],false)},{prop:"ignoreInterface",name:"ignoreInterface",pkg:"encoding/gob",typ:$funcType([KN],[],false)},{prop:"decodeGobDecoder",name:"decodeGobDecoder",pkg:"encoding/gob",typ:$funcType([HW,KN,E.Value],[],false)},{prop:"ignoreGobDecoder",name:"ignoreGobDecoder",pkg:"encoding/gob",typ:$funcType([KN],[],false)},{prop:"decOpFor",name:"decOpFor",pkg:"encoding/gob",typ:$funcType([Z,E.Type,$String,KX],[KQ],false)},{prop:"decIgnoreOpFor",name:"decIgnoreOpFor",pkg:"encoding/gob",typ:$funcType([Z,KY],[KQ],false)},{prop:"gobDecodeOpFor",name:"gobDecodeOpFor",pkg:"encoding/gob",typ:$funcType([HW],[KQ],false)},{prop:"compatibleType",name:"compatibleType",pkg:"encoding/gob",typ:$funcType([E.Type,Z,KW],[$Bool],false)},{prop:"typeString",name:"typeString",pkg:"encoding/gob",typ:$funcType([Z],[$String],false)},{prop:"compileSingle",name:"compileSingle",pkg:"encoding/gob",typ:$funcType([Z,HW],[KR,$error],false)},{prop:"compileIgnoreSingle",name:"compileIgnoreSingle",pkg:"encoding/gob",typ:$funcType([Z],[KR],false)},{prop:"compileDec",name:"compileDec",pkg:"encoding/gob",typ:$funcType([Z,HW],[KR,$error],false)},{prop:"getDecEnginePtr",name:"getDecEnginePtr",pkg:"encoding/gob",typ:$funcType([Z,HW],[KT,$error],false)},{prop:"getIgnoreEnginePtr",name:"getIgnoreEnginePtr",pkg:"encoding/gob",typ:$funcType([Z],[KT,$error],false)},{prop:"decodeValue",name:"decodeValue",pkg:"encoding/gob",typ:$funcType([Z,E.Value],[],false)},{prop:"decodeIgnoredValue",name:"decodeIgnoredValue",pkg:"encoding/gob",typ:$funcType([Z],[],false)}];KN.methods=[{prop:"decodeUint",name:"decodeUint",pkg:"encoding/gob",typ:$funcType([],[$Uint64],false)},{prop:"decodeInt",name:"decodeInt",pkg:"encoding/gob",typ:$funcType([],[$Int64],false)},{prop:"getLength",name:"getLength",pkg:"encoding/gob",typ:$funcType([],[$Int,$Bool],false)}];KP.methods=[{prop:"Read",name:"Read",pkg:"",typ:$funcType([II],[$Int,$error],false)},{prop:"Drop",name:"Drop",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([$Int],[],false)},{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Bytes",name:"Bytes",pkg:"",typ:$funcType([],[II],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)}];O.init("encoding/gob",[{prop:"user",name:"user",embedded:false,exported:false,typ:E.Type,tag:""},{prop:"base",name:"base",embedded:false,exported:false,typ:E.Type,tag:""},{prop:"indir",name:"indir",embedded:false,exported:false,typ:$Int,tag:""},{prop:"externalEnc",name:"externalEnc",embedded:false,exported:false,typ:$Int,tag:""},{prop:"externalDec",name:"externalDec",embedded:false,exported:false,typ:$Int,tag:""},{prop:"encIndir",name:"encIndir",embedded:false,exported:false,typ:$Int8,tag:""},{prop:"decIndir",name:"decIndir",embedded:false,exported:false,typ:$Int8,tag:""}]);AC.init([{prop:"id",name:"id",pkg:"encoding/gob",typ:$funcType([],[Z],false)},{prop:"name",name:"name",pkg:"encoding/gob",typ:$funcType([],[$String],false)},{prop:"safeString",name:"safeString",pkg:"encoding/gob",typ:$funcType([KU],[$String],false)},{prop:"setId",name:"setId",pkg:"encoding/gob",typ:$funcType([Z],[],false)},{prop:"string",name:"string",pkg:"encoding/gob",typ:$funcType([],[$String],false)}]);AH.init("",[{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"Id",name:"Id",embedded:false,exported:true,typ:Z,tag:""}]);BA.init("",[{prop:"CommonType",name:"CommonType",embedded:true,exported:true,typ:AH,tag:""},{prop:"Elem",name:"Elem",embedded:false,exported:true,typ:Z,tag:""},{prop:"Len",name:"Len",embedded:false,exported:true,typ:$Int,tag:""}]);BC.init("",[{prop:"CommonType",name:"CommonType",embedded:true,exported:true,typ:AH,tag:""}]);BE.init("",[{prop:"CommonType",name:"CommonType",embedded:true,exported:true,typ:AH,tag:""},{prop:"Key",name:"Key",embedded:false,exported:true,typ:Z,tag:""},{prop:"Elem",name:"Elem",embedded:false,exported:true,typ:Z,tag:""}]);BG.init("",[{prop:"CommonType",name:"CommonType",embedded:true,exported:true,typ:AH,tag:""},{prop:"Elem",name:"Elem",embedded:false,exported:true,typ:Z,tag:""}]);BI.init("",[{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"Id",name:"Id",embedded:false,exported:true,typ:Z,tag:""}]);BJ.init("",[{prop:"CommonType",name:"CommonType",embedded:true,exported:true,typ:AH,tag:""},{prop:"Field",name:"Field",embedded:false,exported:true,typ:JJ,tag:""}]);BS.init("",[{prop:"ArrayT",name:"ArrayT",embedded:false,exported:true,typ:JB,tag:""},{prop:"SliceT",name:"SliceT",embedded:false,exported:true,typ:JC,tag:""},{prop:"StructT",name:"StructT",embedded:false,exported:true,typ:JD,tag:""},{prop:"MapT",name:"MapT",embedded:false,exported:true,typ:JE,tag:""},{prop:"GobEncoderT",name:"GobEncoderT",embedded:false,exported:true,typ:JF,tag:""},{prop:"BinaryMarshalerT",name:"BinaryMarshalerT",embedded:false,exported:true,typ:JF,tag:""},{prop:"TextMarshalerT",name:"TextMarshalerT",embedded:false,exported:true,typ:JF,tag:""}]);BT.init("encoding/gob",[{prop:"id",name:"id",embedded:false,exported:false,typ:Z,tag:""},{prop:"encInit",name:"encInit",embedded:false,exported:false,typ:F.Mutex,tag:""},{prop:"encoder",name:"encoder",embedded:false,exported:false,typ:G.Value,tag:""},{prop:"wire",name:"wire",embedded:false,exported:false,typ:JK,tag:""}]);BZ.init([{prop:"GobEncode",name:"GobEncode",pkg:"",typ:$funcType([],[II,$error],false)}]);CA.init([{prop:"GobDecode",name:"GobDecode",pkg:"",typ:$funcType([II],[$error],false)}]);CG.init("encoding/gob",[{prop:"err",name:"err",embedded:false,exported:false,typ:$error,tag:""}]);CK.init("encoding/gob",[{prop:"mutex",name:"mutex",embedded:false,exported:false,typ:F.Mutex,tag:""},{prop:"w",name:"w",embedded:false,exported:false,typ:KD,tag:""},{prop:"sent",name:"sent",embedded:false,exported:false,typ:KW,tag:""},{prop:"countState",name:"countState",embedded:false,exported:false,typ:KE,tag:""},{prop:"freeList",name:"freeList",embedded:false,exported:false,typ:KE,tag:""},{prop:"byteBuf",name:"byteBuf",embedded:false,exported:false,typ:CP,tag:""},{prop:"err",name:"err",embedded:false,exported:false,typ:$error,tag:""}]);CN.init([KE,E.Value],[$Bool],false);CO.init("encoding/gob",[{prop:"enc",name:"enc",embedded:false,exported:false,typ:KF,tag:""},{prop:"b",name:"b",embedded:false,exported:false,typ:KG,tag:""},{prop:"sendZero",name:"sendZero",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"fieldnum",name:"fieldnum",embedded:false,exported:false,typ:$Int,tag:""},{prop:"buf",name:"buf",embedded:false,exported:false,typ:KH,tag:""},{prop:"next",name:"next",embedded:false,exported:false,typ:KE,tag:""}]);CP.init("encoding/gob",[{prop:"data",name:"data",embedded:false,exported:false,typ:II,tag:""},{prop:"scratch",name:"scratch",embedded:false,exported:false,typ:JH,tag:""}]);CR.init([KI,KE,E.Value],[],false);CS.init("encoding/gob",[{prop:"op",name:"op",embedded:false,exported:false,typ:CR,tag:""},{prop:"field",name:"field",embedded:false,exported:false,typ:$Int,tag:""},{prop:"index",name:"index",embedded:false,exported:false,typ:JN,tag:""},{prop:"indir",name:"indir",embedded:false,exported:false,typ:$Int,tag:""}]);DD.init("encoding/gob",[{prop:"instr",name:"instr",embedded:false,exported:false,typ:KL,tag:""}]);EV.init("encoding/gob",[{prop:"mutex",name:"mutex",embedded:false,exported:false,typ:F.Mutex,tag:""},{prop:"r",name:"r",embedded:false,exported:false,typ:J.Reader,tag:""},{prop:"buf",name:"buf",embedded:false,exported:false,typ:FF,tag:""},{prop:"wireType",name:"wireType",embedded:false,exported:false,typ:KZ,tag:""},{prop:"decoderCache",name:"decoderCache",embedded:false,exported:false,typ:LB,tag:""},{prop:"ignorerCache",name:"ignorerCache",embedded:false,exported:false,typ:LA,tag:""},{prop:"freeList",name:"freeList",embedded:false,exported:false,typ:KN,tag:""},{prop:"countBuf",name:"countBuf",embedded:false,exported:false,typ:II,tag:""},{prop:"err",name:"err",embedded:false,exported:false,typ:$error,tag:""}]);FD.init([KN,E.Value,$Int,$error],[$Bool],false);FE.init("encoding/gob",[{prop:"dec",name:"dec",embedded:false,exported:false,typ:KO,tag:""},{prop:"b",name:"b",embedded:false,exported:false,typ:KP,tag:""},{prop:"fieldnum",name:"fieldnum",embedded:false,exported:false,typ:$Int,tag:""},{prop:"next",name:"next",embedded:false,exported:false,typ:KN,tag:""}]);FF.init("encoding/gob",[{prop:"data",name:"data",embedded:false,exported:false,typ:II,tag:""},{prop:"offset",name:"offset",embedded:false,exported:false,typ:$Int,tag:""}]);FI.init([LC,KN,E.Value],[],false);FJ.init("encoding/gob",[{prop:"op",name:"op",embedded:false,exported:false,typ:FI,tag:""},{prop:"field",name:"field",embedded:false,exported:false,typ:$Int,tag:""},{prop:"index",name:"index",embedded:false,exported:false,typ:JN,tag:""},{prop:"ovfl",name:"ovfl",embedded:false,exported:false,typ:$error,tag:""}]);GF.init("encoding/gob",[{prop:"instr",name:"instr",embedded:false,exported:false,typ:KS,tag:""},{prop:"numInstr",name:"numInstr",embedded:false,exported:false,typ:$Int,tag:""}]);GK.init("",[]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=N.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}P=new F.Map.ptr(false);AA=0;AB=new F.Mutex.ptr(false);AF=false;AY=HW.nil;BU=new G.Value.ptr($ifaceNil);CB=new F.Map.ptr(false);CC=new F.Map.ptr(false);GG=new E.Value.ptr(HX.nil,0,0);a=E.TypeOf((HY.nil)).Elem();$s=15;case 15:if($c){$c=false;a=a.$blk();}if(a&&a.$blk!==undefined){break s;}R=a;b=E.TypeOf((HZ.nil)).Elem();$s=16;case 16:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}S=b;c=E.TypeOf((IA.nil)).Elem();$s=17;case 17:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}T=c;d=E.TypeOf((IB.nil)).Elem();$s=18;case 18:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}U=d;e=E.TypeOf((IC.nil)).Elem();$s=19;case 19:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}V=e;f=E.TypeOf((ID.nil)).Elem();$s=20;case 20:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}W=f;AD={};AE={};g=BR("bool",(IE.nil),1);$s=21;case 21:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}AI=g;h=BR("int",(IF.nil),2);$s=22;case 22:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}AJ=h;i=BR("uint",(IG.nil),3);$s=23;case 23:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}AK=i;j=BR("float",(IH.nil),4);$s=24;case 24:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}AL=j;k=BR("bytes",(IJ.nil),5);$s=25;case 25:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}AM=k;l=BR("string",(IK.nil),6);$s=26;case 26:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}AN=l;m=BR("complex",(IL.nil),7);$s=27;case 27:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}AO=m;n=BR("interface",(IM.nil),8);$s=28;case 28:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}AP=n;o=BR("_reserved1",(IO.nil),9);$s=29;case 29:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}AQ=o;p=BR("_reserved1",(IQ.nil),10);$s=30;case 30:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}AR=p;q=BR("_reserved1",(IS.nil),11);$s=31;case 31:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}AS=q;r=BR("_reserved1",(IU.nil),12);$s=32;case 32:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}AT=r;s=BR("_reserved1",(IW.nil),13);$s=33;case 33:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}AU=s;t=BR("_reserved1",(IY.nil),14);$s=34;case 34:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}AV=t;u=BR("_reserved1",(JA.nil),15);$s=35;case 35:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}AW=u;w=BY(E.TypeOf((v=new BS.ptr(JB.nil,JC.nil,JD.nil,JE.nil,JF.nil,JF.nil,JF.nil),new v.constructor.elem(v))));$s=36;case 36:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}AX=w.id;CL=$makeSlice(II,9);CQ=new F.Pool.ptr(JG.nil,(function(){var x;x=new CP.ptr(II.nil,JH.zero());x.data=$subslice(new II(x.scratch),0,0);return x;}));DH=$toNativeArray($kindFunc,[$throwNilPointerError,CU,CV,CV,CV,CV,CV,CW,CW,CW,CW,CW,CW,CY,CY,CZ,CZ,$throwNilPointerError,$throwNilPointerError,$throwNilPointerError,$throwNilPointerError,$throwNilPointerError,$throwNilPointerError,$throwNilPointerError,DB]);DN=$makeMap(E.Kind.keyFor,[{k:1,v:DP},{k:15,v:DR},{k:16,v:DT},{k:13,v:DV},{k:14,v:DX},{k:2,v:DZ},{k:4,v:EB},{k:5,v:ED},{k:6,v:EF},{k:3,v:EH},{k:24,v:EJ},{k:7,v:EL},{k:9,v:EN},{k:10,v:EP},{k:11,v:ER},{k:12,v:ET}]);DO=$makeMap(E.Kind.keyFor,[{k:1,v:DQ},{k:15,v:DS},{k:16,v:DU},{k:13,v:DW},{k:14,v:DY},{k:2,v:EA},{k:4,v:EC},{k:5,v:EE},{k:6,v:EG},{k:3,v:EI},{k:24,v:EK},{k:7,v:EM},{k:9,v:EO},{k:10,v:EQ},{k:11,v:ES},{k:12,v:EU}]);EX=B.New("invalid message length");FA=B.New("gob: encoded unsigned integer out of range");FB=B.New("gob: unknown type id or corrupted data");FC=B.New("gob: bad data: field numbers out of bounds");GI=$toNativeArray($kindFunc,[$throwNilPointerError,FN,$throwNilPointerError,FO,FQ,FS,FU,$throwNilPointerError,FP,FR,FT,FV,$throwNilPointerError,FY,FZ,GA,GB,$throwNilPointerError,$throwNilPointerError,$throwNilPointerError,$throwNilPointerError,$throwNilPointerError,$throwNilPointerError,$throwNilPointerError,GD]);GJ=$makeMap(Z.keyFor,[{k:AI,v:FK},{k:AJ,v:FK},{k:AK,v:FK},{k:AL,v:FK},{k:AM,v:GE},{k:AN,v:GE},{k:AO,v:FL}]);GL=E.TypeOf((x=new GK.ptr(),new x.constructor.elem(x)));GO=$makeMap(E.Kind.keyFor,[{k:1,v:GQ},{k:15,v:GS},{k:16,v:GU},{k:13,v:GW},{k:14,v:GY},{k:2,v:HA},{k:4,v:HC},{k:5,v:HE},{k:6,v:HG},{k:3,v:HI},{k:24,v:HK},{k:7,v:HM},{k:9,v:HO},{k:10,v:HQ},{k:11,v:HS},{k:12,v:HU}]);GP=$makeMap(E.Kind.keyFor,[{k:1,v:GR},{k:15,v:GT},{k:16,v:GV},{k:13,v:GX},{k:14,v:GZ},{k:2,v:HB},{k:4,v:HD},{k:5,v:HF},{k:6,v:HH},{k:3,v:HJ},{k:24,v:HL},{k:7,v:HN},{k:9,v:HP},{k:10,v:HR},{k:11,v:HT},{k:12,v:HV}]);$r=AZ();$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=GM();$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/zclconf/go-cty/cty/set"]=(function(){var $pkg={},$init,C,D,A,B,E,J,K,L,M,O,P,Q,R,S,T,U,F,G,H,I,N;C=$packages["bytes"];D=$packages["encoding/gob"];A=$packages["fmt"];B=$packages["sort"];E=$pkg.Set=$newType(0,$kindStruct,"set.Set",true,"github.com/zclconf/go-cty/cty/set",true,function(vals_,rules_){this.$val=this;if(arguments.length===0){this.vals=false;this.rules=$ifaceNil;return;}this.vals=vals_;this.rules=rules_;});J=$pkg.Rules=$newType(8,$kindInterface,"set.Rules",true,"github.com/zclconf/go-cty/cty/set",true,null);K=$pkg.OrderedRules=$newType(8,$kindInterface,"set.OrderedRules",true,"github.com/zclconf/go-cty/cty/set",true,null);L=$pkg.Iterator=$newType(0,$kindStruct,"set.Iterator",true,"github.com/zclconf/go-cty/cty/set",true,function(vals_,idx_){this.$val=this;if(arguments.length===0){this.vals=O.nil;this.idx=0;return;}this.vals=vals_;this.idx=idx_;});M=$pkg.gobSet=$newType(0,$kindStruct,"set.gobSet",true,"github.com/zclconf/go-cty/cty/set",false,function(Version_,Rules_,Values_){this.$val=this;if(arguments.length===0){this.Version=0;this.Rules=$ifaceNil;this.Values=O.nil;return;}this.Version=Version_;this.Rules=Rules_;this.Values=Values_;});O=$sliceType($emptyInterface);P=$sliceType($Int);Q=$sliceType($Uint8);R=$ptrType(L);S=$funcType([$emptyInterface],[],false);T=$ptrType(E);U=$mapType($Int,O);F=function(a){var a;return new E.ptr($makeMap($Int.keyFor,[]),a);};$pkg.NewSet=F;G=function(a,b){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone(F(a),E);d=b;e=0;case 1:if(!(e<d.$length)){$s=2;continue;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);$r=$clone(c,E).Add(f);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e++;$s=1;continue;case 2:$s=-1;return c;}return;}if($f===undefined){$f={$blk:G};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NewSetFromSlice=G;H=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=a.rules.SameRules(b.rules);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:H};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};I=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=H($clone(a,E),$clone(b,E));$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}if(!c){$s=1;continue;}$s=2;continue;case 1:d=A.Errorf("incompatible set rules: %#v, %#v",new O([a.rules,b.rules]));$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$panic(d);case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:I};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};E.ptr.prototype.HasRules=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.rules.SameRules(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.HasRules};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.HasRules=function(a){return this.$val.HasRules(a);};E.ptr.prototype.Rules=function(){var a;a=this;return a.rules;};E.prototype.Rules=function(){return this.$val.Rules();};E.ptr.prototype.Add=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.rules.Hash(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=(f=b.vals[$Int.keyFor(d)],f!==undefined?[f.v,true]:[O.nil,false]);g=e[1];if(!g){h=d;(b.vals||$throwRuntimeError("assignment to entry in nil map"))[$Int.keyFor(h)]={k:h,v:$makeSlice(O,0,1)};}j=(i=b.vals[$Int.keyFor(d)],i!==undefined?i.v:O.nil);k=j;l=0;case 2:if(!(l<k.$length)){$s=3;continue;}m=((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]);n=b.rules.Equivalent(a,m);$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(n){$s=4;continue;}$s=5;continue;case 4:$s=-1;return;case 5:l++;$s=2;continue;case 3:o=d;(b.vals||$throwRuntimeError("assignment to entry in nil map"))[$Int.keyFor(o)]={k:o,v:$append(j,a)};$s=-1;return;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Add};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Add=function(a){return this.$val.Add(a);};E.ptr.prototype.Remove=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.rules.Hash(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=(f=b.vals[$Int.keyFor(d)],f!==undefined?[f.v,true]:[O.nil,false]);g=e[0];h=e[1];if(!h){$s=-1;return;}i=g;j=0;case 2:if(!(j<i.$length)){$s=3;continue;}k=j;l=((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);m=b.rules.Equivalent(a,l);$s=6;case 6:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(m){$s=4;continue;}$s=5;continue;case 4:n=$makeSlice(O,0,(g.$length-1>>0));n=$appendSlice(n,$subslice(g,0,k));n=$appendSlice(n,$subslice(g,(k+1>>0)));if(n.$length>0){o=d;(b.vals||$throwRuntimeError("assignment to entry in nil map"))[$Int.keyFor(o)]={k:o,v:n};}else{delete b.vals[$Int.keyFor(d)];}$s=-1;return;case 5:j++;$s=2;continue;case 3:$s=-1;return;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Remove};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Remove=function(a){return this.$val.Remove(a);};E.ptr.prototype.Has=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.rules.Hash(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=(f=b.vals[$Int.keyFor(d)],f!==undefined?[f.v,true]:[O.nil,false]);g=e[0];h=e[1];if(!h){$s=-1;return false;}i=g;j=0;case 2:if(!(j<i.$length)){$s=3;continue;}k=((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);l=b.rules.Equivalent(a,k);$s=6;case 6:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(l){$s=4;continue;}$s=5;continue;case 4:$s=-1;return true;case 5:j++;$s=2;continue;case 3:$s=-1;return false;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Has};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Has=function(a){return this.$val.Has(a);};E.ptr.prototype.Copy=function(){var a,b,c,d,e,f,g,h,i;a=this;b=$clone(F(a.rules),E);c=a.vals;d=0;e=$keys(c);while(true){if(!(d<e.length)){break;}f=c[e[d]];if(f===undefined){d++;continue;}g=f.k;h=f.v;i=g;(b.vals||$throwRuntimeError("assignment to entry in nil map"))[$Int.keyFor(i)]={k:i,v:h};d++;}return b;};E.prototype.Copy=function(){return this.$val.Copy();};E.ptr.prototype.Iterator=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=$clone(a,E).Values();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=-1;return new L.ptr(c,-1);}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Iterator};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Iterator=function(){return this.$val.Iterator();};E.ptr.prototype.EachValue=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$clone(b,E).Iterator();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;case 2:if(!(d.Next())){$s=3;continue;}$r=a(d.Value());$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=2;continue;case 3:$s=-1;return;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.EachValue};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.EachValue=function(a){return this.$val.EachValue(a);};E.ptr.prototype.Values=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=this;b[0]=O.nil;d=$makeSlice(P,0,$keys(c.vals).length);e=c.vals;f=0;g=$keys(e);while(true){if(!(f<g.length)){break;}h=e[g[f]];if(h===undefined){f++;continue;}i=h.k;d=$append(d,i);f++;}$r=B.Ints(d);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}j=d;k=0;while(true){if(!(k<j.$length)){break;}l=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);b[0]=$appendSlice(b[0],(m=c.vals[$Int.keyFor(l)],m!==undefined?m.v:O.nil));k++;}n=$assertType(c.rules,K,true);a[0]=n[0];o=n[1];if(o){$s=2;continue;}$s=3;continue;case 2:$r=B.SliceStable(b[0],(function(a,b){return function $b(p,q){var p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=a[0].Less(((p<0||p>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+p]),((q<0||q>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+q]));$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;$s=2;case 2:return s;}return;}if($f===undefined){$f={$blk:$b};}$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};})(a,b));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:$s=-1;return b[0];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Values};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Values=function(){return this.$val.Values();};E.ptr.prototype.Length=function(){var a,b,c,d,e,f,g;a=this;b=0;c=a.vals;d=0;e=$keys(c);while(true){if(!(d<e.length)){break;}f=c[e[d]];if(f===undefined){d++;continue;}g=f.v;b=b+g.$length>>0;d++;}return b;};E.prototype.Length=function(){return this.$val.Length();};E.ptr.prototype.Union=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=this;$r=I($clone(c,E),$clone(a,E));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b[0]=$clone(F(c.rules),E);$r=$clone(c,E).EachValue((function(b){return function $b(d){var d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=$clone(b[0],E).Add(d);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};})(b));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=$clone(a,E).EachValue((function(b){return function $b(d){var d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=$clone(b[0],E).Add(d);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};})(b));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return b[0];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Union};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Union=function(a){return this.$val.Union(a);};E.ptr.prototype.Intersection=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=this;$r=I($clone(c,E),$clone(a[0],E));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b[0]=$clone(F(c.rules),E);$r=$clone(c,E).EachValue((function(a,b){return function $b(d){var d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$clone(a[0],E).Has(d);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(e){$s=1;continue;}$s=2;continue;case 1:$r=$clone(b[0],E).Add(d);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};})(a,b));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return b[0];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Intersection};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Intersection=function(a){return this.$val.Intersection(a);};E.ptr.prototype.Subtract=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=this;$r=I($clone(c,E),$clone(a[0],E));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b[0]=$clone(F(c.rules),E);$r=$clone(c,E).EachValue((function(a,b){return function $b(d){var d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$clone(a[0],E).Has(d);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(!e){$s=1;continue;}$s=2;continue;case 1:$r=$clone(b[0],E).Add(d);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};})(a,b));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return b[0];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Subtract};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Subtract=function(a){return this.$val.Subtract(a);};E.ptr.prototype.SymmetricDifference=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];c[0]=this;$r=I($clone(c[0],E),$clone(a[0],E));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b[0]=$clone(F(c[0].rules),E);$r=$clone(c[0],E).EachValue((function(a,b,c){return function $b(d){var d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$clone(a[0],E).Has(d);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(!e){$s=1;continue;}$s=2;continue;case 1:$r=$clone(b[0],E).Add(d);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};})(a,b,c));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=$clone(a[0],E).EachValue((function(a,b,c){return function $b(d){var d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$clone(c[0],E).Has(d);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(!e){$s=1;continue;}$s=2;continue;case 1:$r=$clone(b[0],E).Add(d);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};})(a,b,c));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return b[0];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.SymmetricDifference};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.SymmetricDifference=function(a){return this.$val.SymmetricDifference(a);};L.ptr.prototype.Value=function(){var a,b,c;a=this;return(b=a.vals,c=a.idx,((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]));};L.prototype.Value=function(){return this.$val.Value();};L.ptr.prototype.Next=function(){var a;a=this;a.idx=a.idx+(1)>>0;return a.idx<a.vals.$length;};L.prototype.Next=function(){return this.$val.Next();};E.ptr.prototype.GobEncode=function(){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=$clone(a,E).Values();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=new M.ptr(0,a.rules,b);d=new C.Buffer.ptr(Q.nil,0,0);e=D.NewEncoder(d);f=e.Encode(new c.constructor.elem(c));$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(!($interfaceIsEqual(g,$ifaceNil))){$s=3;continue;}$s=4;continue;case 3:h=A.Errorf("error encoding set.Set: %s",new O([g]));$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=[Q.nil,h];$s=6;case 6:return i;case 4:$s=-1;return[d.Bytes(),$ifaceNil];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.GobEncode};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.GobEncode=function(){return this.$val.GobEncode();};E.ptr.prototype.GobDecode=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=this;d=C.NewReader(a);e=D.NewDecoder(d);b[0]=new M.ptr(0,$ifaceNil,O.nil);f=e.Decode(b[0]);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(!($interfaceIsEqual(g,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:h=A.Errorf("error decoding set.Set: %s",new O([g]));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=5;case 5:return i;case 3:if(!((b[0].Version===0))){$s=6;continue;}$s=7;continue;case 6:j=A.Errorf("unsupported set.Set encoding version %d; need 0",new O([new $Int(b[0].Version)]));$s=8;case 8:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=9;case 9:return k;case 7:l=G(b[0].Rules,b[0].Values);$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=$clone(l,E);c.vals=m.vals;c.rules=m.rules;$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.GobDecode};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.GobDecode=function(a){return this.$val.GobDecode(a);};N=function(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=D.Register((O.nil));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:N};}$f.$s=$s;$f.$r=$r;return $f;};E.methods=[{prop:"HasRules",name:"HasRules",pkg:"",typ:$funcType([J],[$Bool],false)},{prop:"Rules",name:"Rules",pkg:"",typ:$funcType([],[J],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([$emptyInterface],[],false)},{prop:"Remove",name:"Remove",pkg:"",typ:$funcType([$emptyInterface],[],false)},{prop:"Has",name:"Has",pkg:"",typ:$funcType([$emptyInterface],[$Bool],false)},{prop:"Copy",name:"Copy",pkg:"",typ:$funcType([],[E],false)},{prop:"Iterator",name:"Iterator",pkg:"",typ:$funcType([],[R],false)},{prop:"EachValue",name:"EachValue",pkg:"",typ:$funcType([S],[],false)},{prop:"Values",name:"Values",pkg:"",typ:$funcType([],[O],false)},{prop:"Length",name:"Length",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Union",name:"Union",pkg:"",typ:$funcType([E],[E],false)},{prop:"Intersection",name:"Intersection",pkg:"",typ:$funcType([E],[E],false)},{prop:"Subtract",name:"Subtract",pkg:"",typ:$funcType([E],[E],false)},{prop:"SymmetricDifference",name:"SymmetricDifference",pkg:"",typ:$funcType([E],[E],false)},{prop:"GobEncode",name:"GobEncode",pkg:"",typ:$funcType([],[Q,$error],false)}];T.methods=[{prop:"GobDecode",name:"GobDecode",pkg:"",typ:$funcType([Q],[$error],false)}];R.methods=[{prop:"Value",name:"Value",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"Next",name:"Next",pkg:"",typ:$funcType([],[$Bool],false)}];E.init("github.com/zclconf/go-cty/cty/set",[{prop:"vals",name:"vals",embedded:false,exported:false,typ:U,tag:""},{prop:"rules",name:"rules",embedded:false,exported:false,typ:J,tag:""}]);J.init([{prop:"Equivalent",name:"Equivalent",pkg:"",typ:$funcType([$emptyInterface,$emptyInterface],[$Bool],false)},{prop:"Hash",name:"Hash",pkg:"",typ:$funcType([$emptyInterface],[$Int],false)},{prop:"SameRules",name:"SameRules",pkg:"",typ:$funcType([J],[$Bool],false)}]);K.init([{prop:"Equivalent",name:"Equivalent",pkg:"",typ:$funcType([$emptyInterface,$emptyInterface],[$Bool],false)},{prop:"Hash",name:"Hash",pkg:"",typ:$funcType([$emptyInterface],[$Int],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$emptyInterface,$emptyInterface],[$Bool],false)},{prop:"SameRules",name:"SameRules",pkg:"",typ:$funcType([J],[$Bool],false)}]);L.init("github.com/zclconf/go-cty/cty/set",[{prop:"vals",name:"vals",embedded:false,exported:false,typ:O,tag:""},{prop:"idx",name:"idx",embedded:false,exported:false,typ:$Int,tag:""}]);M.init("",[{prop:"Version",name:"Version",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Rules",name:"Rules",embedded:false,exported:true,typ:J,tag:""},{prop:"Values",name:"Values",embedded:false,exported:true,typ:O,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=N();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["golang.org/x/text/transform"]=(function(){var $pkg={},$init,A,B,C,D,E,F;A=$packages["bytes"];B=$packages["errors"];C=$packages["io"];D=$packages["unicode/utf8"];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrShortDst=B.New("transform: short destination buffer");$pkg.ErrShortSrc=B.New("transform: short source buffer");$pkg.ErrEndOfSpan=B.New("transform: input and output are not identical");E=B.New("transform: inconsistent byte count returned");F=B.New("transform: short internal buffer");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["golang.org/x/text/unicode/norm"]=(function(){var $pkg={},$init,F,E,B,D,C,A,G,H,Q,W,AE,AF,AG,AQ,AR,BE,BH,BI,BJ,BL,BR,BS,BT,BV,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,I,J,K,L,N,O,P,S,T,U,V,Y,Z,AA,AB,AC,AD,BK,M,R,X,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BF,BG,BM,BN,BO,BP,BQ,BU,BW,BX,BY,CA;F=$packages["encoding/binary"];E=$packages["fmt"];B=$packages["golang.org/x/text/transform"];D=$packages["io"];C=$packages["sync"];A=$packages["unicode/utf8"];G=$pkg.valueRange=$newType(0,$kindStruct,"norm.valueRange",true,"golang.org/x/text/unicode/norm",false,function(value_,lo_,hi_){this.$val=this;if(arguments.length===0){this.value=0;this.lo=0;this.hi=0;return;}this.value=value_;this.lo=lo_;this.hi=hi_;});H=$pkg.sparseBlocks=$newType(0,$kindStruct,"norm.sparseBlocks",true,"golang.org/x/text/unicode/norm",false,function(values_,offset_){this.$val=this;if(arguments.length===0){this.values=CD.nil;this.offset=CC.nil;return;}this.values=values_;this.offset=offset_;});Q=$pkg.nfcTrie=$newType(0,$kindStruct,"norm.nfcTrie",true,"golang.org/x/text/unicode/norm",false,function(){this.$val=this;if(arguments.length===0){return;}});W=$pkg.nfkcTrie=$newType(0,$kindStruct,"norm.nfkcTrie",true,"golang.org/x/text/unicode/norm",false,function(){this.$val=this;if(arguments.length===0){return;}});AE=$pkg.normWriter=$newType(0,$kindStruct,"norm.normWriter",true,"golang.org/x/text/unicode/norm",false,function(rb_,w_,buf_){this.$val=this;if(arguments.length===0){this.rb=new BT.ptr(CG.zero(),CH.zero(),0,0,0,new BJ.ptr(0,false,false,$throwNilPointerError,$throwNilPointerError),new BE.ptr("",CI.nil),0,new BE.ptr("",CI.nil),CI.nil,$throwNilPointerError);this.w=$ifaceNil;this.buf=CI.nil;return;}this.rb=rb_;this.w=w_;this.buf=buf_;});AF=$pkg.normReader=$newType(0,$kindStruct,"norm.normReader",true,"golang.org/x/text/unicode/norm",false,function(rb_,r_,inbuf_,outbuf_,bufStart_,lastBoundary_,err_){this.$val=this;if(arguments.length===0){this.rb=new BT.ptr(CG.zero(),CH.zero(),0,0,0,new BJ.ptr(0,false,false,$throwNilPointerError,$throwNilPointerError),new BE.ptr("",CI.nil),0,new BE.ptr("",CI.nil),CI.nil,$throwNilPointerError);this.r=$ifaceNil;this.inbuf=CI.nil;this.outbuf=CI.nil;this.bufStart=0;this.lastBoundary=0;this.err=$ifaceNil;return;}this.rb=rb_;this.r=r_;this.inbuf=inbuf_;this.outbuf=outbuf_;this.bufStart=bufStart_;this.lastBoundary=lastBoundary_;this.err=err_;});AG=$pkg.Form=$newType(4,$kindInt,"norm.Form",true,"golang.org/x/text/unicode/norm",true,null);AQ=$pkg.Iter=$newType(0,$kindStruct,"norm.Iter",true,"golang.org/x/text/unicode/norm",true,function(rb_,buf_,info_,next_,asciiF_,p_,multiSeg_){this.$val=this;if(arguments.length===0){this.rb=new BT.ptr(CG.zero(),CH.zero(),0,0,0,new BJ.ptr(0,false,false,$throwNilPointerError,$throwNilPointerError),new BE.ptr("",CI.nil),0,new BE.ptr("",CI.nil),CI.nil,$throwNilPointerError);this.buf=CH.zero();this.info=new BH.ptr(0,0,0,0,0,0,0);this.next=$throwNilPointerError;this.asciiF=$throwNilPointerError;this.p=0;this.multiSeg=CI.nil;return;}this.rb=rb_;this.buf=buf_;this.info=info_;this.next=next_;this.asciiF=asciiF_;this.p=p_;this.multiSeg=multiSeg_;});AR=$pkg.iterFunc=$newType(4,$kindFunc,"norm.iterFunc",true,"golang.org/x/text/unicode/norm",false,null);BE=$pkg.input=$newType(0,$kindStruct,"norm.input",true,"golang.org/x/text/unicode/norm",false,function(str_,bytes_){this.$val=this;if(arguments.length===0){this.str="";this.bytes=CI.nil;return;}this.str=str_;this.bytes=bytes_;});BH=$pkg.Properties=$newType(0,$kindStruct,"norm.Properties",true,"golang.org/x/text/unicode/norm",true,function(pos_,size_,ccc_,tccc_,nLead_,flags_,index_){this.$val=this;if(arguments.length===0){this.pos=0;this.size=0;this.ccc=0;this.tccc=0;this.nLead=0;this.flags=0;this.index=0;return;}this.pos=pos_;this.size=size_;this.ccc=ccc_;this.tccc=tccc_;this.nLead=nLead_;this.flags=flags_;this.index=index_;});BI=$pkg.lookupFunc=$newType(4,$kindFunc,"norm.lookupFunc",true,"golang.org/x/text/unicode/norm",false,null);BJ=$pkg.formInfo=$newType(0,$kindStruct,"norm.formInfo",true,"golang.org/x/text/unicode/norm",false,function(form_,composing_,compatibility_,info_,nextMain_){this.$val=this;if(arguments.length===0){this.form=0;this.composing=false;this.compatibility=false;this.info=$throwNilPointerError;this.nextMain=$throwNilPointerError;return;}this.form=form_;this.composing=composing_;this.compatibility=compatibility_;this.info=info_;this.nextMain=nextMain_;});BL=$pkg.qcInfo=$newType(1,$kindUint8,"norm.qcInfo",true,"golang.org/x/text/unicode/norm",false,null);BR=$pkg.ssState=$newType(4,$kindInt,"norm.ssState",true,"golang.org/x/text/unicode/norm",false,null);BS=$pkg.streamSafe=$newType(1,$kindUint8,"norm.streamSafe",true,"golang.org/x/text/unicode/norm",false,null);BT=$pkg.reorderBuffer=$newType(0,$kindStruct,"norm.reorderBuffer",true,"golang.org/x/text/unicode/norm",false,function(rune_,byte$1_,nbyte_,ss_,nrune_,f_,src_,nsrc_,tmpBytes_,out_,flushF_){this.$val=this;if(arguments.length===0){this.rune=CG.zero();this.byte$1=CH.zero();this.nbyte=0;this.ss=0;this.nrune=0;this.f=new BJ.ptr(0,false,false,$throwNilPointerError,$throwNilPointerError);this.src=new BE.ptr("",CI.nil);this.nsrc=0;this.tmpBytes=new BE.ptr("",CI.nil);this.out=CI.nil;this.flushF=$throwNilPointerError;return;}this.rune=rune_;this.byte$1=byte$1_;this.nbyte=nbyte_;this.ss=ss_;this.nrune=nrune_;this.f=f_;this.src=src_;this.nsrc=nsrc_;this.tmpBytes=tmpBytes_;this.out=out_;this.flushF=flushF_;});BV=$pkg.insertErr=$newType(4,$kindInt,"norm.insertErr",true,"golang.org/x/text/unicode/norm",false,null);CB=$sliceType($error);CC=$sliceType($Uint16);CD=$sliceType(G);CE=$ptrType(BJ);CF=$sliceType(CE);CG=$arrayType(BH,32);CH=$arrayType($Uint8,128);CI=$sliceType($Uint8);CJ=$ptrType(BS);CK=$arrayType(BH,31);CL=$sliceType($emptyInterface);CM=$arrayType($Uint8,8);CN=$sliceType(BH);CO=$ptrType(H);CP=$ptrType(Q);CQ=$ptrType(W);CR=$ptrType(AE);CS=$ptrType(AF);CT=$ptrType(AQ);CU=$ptrType(BE);CV=$ptrType(BT);CW=$funcType([CV],[$Bool],false);H.ptr.prototype.lookup=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m;c=this;e=(d=c.offset,((a<0||a>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+a]));g=$clone((f=c.values,((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e])),G);h=e+1<<16>>>16;i=h+((g.lo<<16>>>16))<<16>>>16;while(true){if(!(h<i)){break;}k=h+(j=((i-h<<16>>>16))/2,(j===j&&j!==1/0&&j!==-1/0)?j>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16;m=$clone((l=c.values,((k<0||k>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+k])),G);if(m.lo<=b&&b<=m.hi){return m.value+((((b-m.lo<<24>>>24)<<16>>>16))*g.value<<16>>>16)<<16>>>16;}if(b<m.lo){i=k;}else{h=k+1<<16>>>16;}}return 0;};H.prototype.lookup=function(a,b){return this.$val.lookup(a,b);};AG.prototype.Reset=function(){};$ptrType(AG).prototype.Reset=function(){return new AG(this.$get()).Reset();};AG.prototype.Transform=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=0;e=0;f=$ifaceNil;g=this.$val;h=b;i=c;j=a.$length;if(j<h.$length){f=B.ErrShortDst;i=false;h=$subslice(h,0,j);}l=((g<0||g>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+g]).quickSpan($clone(BF(h),BE),0,h.$length,i);$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=k[1];o=$copySlice(a,$subslice(h,0,m));if(!n){$s=2;continue;}$s=3;continue;case 2:q=new AG(g).transform($subslice(a,o),$subslice(b,o),c);$s=4;case 4:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;d=p[0];e=p[1];f=p[2];r=d+o>>0;s=e+o>>0;t=f;d=r;e=s;f=t;$s=-1;return[d,e,f];case 3:if($interfaceIsEqual(f,$ifaceNil)&&o<b.$length&&!c){f=B.ErrShortSrc;}u=o;v=o;w=f;d=u;e=v;f=w;$s=-1;return[d,e,f];}return;}if($f===undefined){$f={$blk:AG.prototype.Transform};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.Transform=function(a,b,c){return new AG(this.$get()).Transform(a,b,c);};M=function(a){var a;if(a.out.$length<($imul(a.nrune,4))){return false;}a.out=$subslice(a.out,a.flushCopy(a.out));return true;};AG.prototype.transform=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=0;f=0;g=$ifaceNil;h=this.$val;d[0]=new BT.ptr(CG.zero(),CH.zero(),0,0,0,new BJ.ptr(0,false,false,$throwNilPointerError,$throwNilPointerError),new BE.ptr("",CI.nil),0,new BE.ptr("",CI.nil),CI.nil,$throwNilPointerError);d[0].init(h,b);case 1:d[0].setFlusher($subslice(a,e),M);i=AN(d[0],f,c);$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;if(j<0){k=e;l=f;m=(n=-j,((n<0||n>=N.$length)?($throwRuntimeError("index out of range"),undefined):N.$array[N.$offset+n]));e=k;f=l;g=m;$s=-1;return[e,f,g];}e=a.$length-d[0].out.$length>>0;f=j;j=d[0].nsrc;o=c;p=(f+a.$length>>0)-e>>0;if(p<j){g=B.ErrShortDst;j=p;o=false;}r=d[0].f.quickSpan($clone(d[0].src,BE),f,j,o);$s=4;case 4:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;j=q[0];s=q[1];t=$copySlice($subslice(a,e),$subslice(d[0].src.bytes,f,j));f=f+(t)>>0;e=e+(t)>>0;if(s){if($interfaceIsEqual(g,$ifaceNil)&&t<d[0].nsrc&&!c){g=B.ErrShortSrc;}u=e;v=f;w=g;e=u;f=v;g=w;$s=-1;return[e,f,g];}$s=1;continue;case 2:$s=-1;return[e,f,g];}return;}if($f===undefined){$f={$blk:AG.prototype.transform};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.transform=function(a,b,c){return new AG(this.$get()).transform(a,b,c);};Q.ptr.prototype.lookup=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=0;d=this;e=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]);if(e<128){f=((e<0||e>=S.length)?($throwRuntimeError("index out of range"),undefined):S[e]);g=1;b=f;c=g;return[b,c];}else if(e<194){h=0;i=1;b=h;c=i;return[b,c];}else if(e<224){if(a.$length<2){j=0;k=0;b=j;c=k;return[b,c];}l=((e<0||e>=T.length)?($throwRuntimeError("index out of range"),undefined):T[e]);m=(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]);if(m<128||192<=m){n=0;o=1;b=n;c=o;return[b,c];}p=d.lookupValue(((l>>>0)),m);q=2;b=p;c=q;return[b,c];}else if(e<240){if(a.$length<3){r=0;s=0;b=r;c=s;return[b,c];}t=((e<0||e>=T.length)?($throwRuntimeError("index out of range"),undefined):T[e]);u=(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]);if(u<128||192<=u){v=0;w=1;b=v;c=w;return[b,c];}x=(((t>>>0))<<6>>>0)+((u>>>0))>>>0;t=((x<0||x>=T.length)?($throwRuntimeError("index out of range"),undefined):T[x]);y=(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]);if(y<128||192<=y){z=0;aa=2;b=z;c=aa;return[b,c];}ab=d.lookupValue(((t>>>0)),y);ac=3;b=ab;c=ac;return[b,c];}else if(e<248){if(a.$length<4){ad=0;ae=0;b=ad;c=ae;return[b,c];}af=((e<0||e>=T.length)?($throwRuntimeError("index out of range"),undefined):T[e]);ag=(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]);if(ag<128||192<=ag){ah=0;ai=1;b=ah;c=ai;return[b,c];}aj=(((af>>>0))<<6>>>0)+((ag>>>0))>>>0;af=((aj<0||aj>=T.length)?($throwRuntimeError("index out of range"),undefined):T[aj]);ak=(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]);if(ak<128||192<=ak){al=0;am=2;b=al;c=am;return[b,c];}aj=(((af>>>0))<<6>>>0)+((ak>>>0))>>>0;af=((aj<0||aj>=T.length)?($throwRuntimeError("index out of range"),undefined):T[aj]);an=(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]);if(an<128||192<=an){ao=0;ap=3;b=ao;c=ap;return[b,c];}aq=d.lookupValue(((af>>>0)),an);ar=4;b=aq;c=ar;return[b,c];}as=0;at=1;b=as;c=at;return[b,c];};Q.prototype.lookup=function(a){return this.$val.lookup(a);};Q.ptr.prototype.lookupString=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=0;d=this;e=a.charCodeAt(0);if(e<128){f=((e<0||e>=S.length)?($throwRuntimeError("index out of range"),undefined):S[e]);g=1;b=f;c=g;return[b,c];}else if(e<194){h=0;i=1;b=h;c=i;return[b,c];}else if(e<224){if(a.length<2){j=0;k=0;b=j;c=k;return[b,c];}l=((e<0||e>=T.length)?($throwRuntimeError("index out of range"),undefined):T[e]);m=a.charCodeAt(1);if(m<128||192<=m){n=0;o=1;b=n;c=o;return[b,c];}p=d.lookupValue(((l>>>0)),m);q=2;b=p;c=q;return[b,c];}else if(e<240){if(a.length<3){r=0;s=0;b=r;c=s;return[b,c];}t=((e<0||e>=T.length)?($throwRuntimeError("index out of range"),undefined):T[e]);u=a.charCodeAt(1);if(u<128||192<=u){v=0;w=1;b=v;c=w;return[b,c];}x=(((t>>>0))<<6>>>0)+((u>>>0))>>>0;t=((x<0||x>=T.length)?($throwRuntimeError("index out of range"),undefined):T[x]);y=a.charCodeAt(2);if(y<128||192<=y){z=0;aa=2;b=z;c=aa;return[b,c];}ab=d.lookupValue(((t>>>0)),y);ac=3;b=ab;c=ac;return[b,c];}else if(e<248){if(a.length<4){ad=0;ae=0;b=ad;c=ae;return[b,c];}af=((e<0||e>=T.length)?($throwRuntimeError("index out of range"),undefined):T[e]);ag=a.charCodeAt(1);if(ag<128||192<=ag){ah=0;ai=1;b=ah;c=ai;return[b,c];}aj=(((af>>>0))<<6>>>0)+((ag>>>0))>>>0;af=((aj<0||aj>=T.length)?($throwRuntimeError("index out of range"),undefined):T[aj]);ak=a.charCodeAt(2);if(ak<128||192<=ak){al=0;am=2;b=al;c=am;return[b,c];}aj=(((af>>>0))<<6>>>0)+((ak>>>0))>>>0;af=((aj<0||aj>=T.length)?($throwRuntimeError("index out of range"),undefined):T[aj]);an=a.charCodeAt(3);if(an<128||192<=an){ao=0;ap=3;b=ao;c=ap;return[b,c];}aq=d.lookupValue(((af>>>0)),an);ar=4;b=aq;c=ar;return[b,c];}as=0;at=1;b=as;c=at;return[b,c];};Q.prototype.lookupString=function(a){return this.$val.lookupString(a);};R=function(a){var a;return new Q.ptr();};Q.ptr.prototype.lookupValue=function(a,b){var a,b,c,d;c=this;if(a<46){return((d=(a<<6>>>0)+((b>>>0))>>>0,((d<0||d>=S.length)?($throwRuntimeError("index out of range"),undefined):S[d])));}else{a=a-(46)>>>0;return(I.lookup(a,b));}};Q.prototype.lookupValue=function(a,b){return this.$val.lookupValue(a,b);};W.ptr.prototype.lookup=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=0;d=this;e=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]);if(e<128){f=((e<0||e>=Y.length)?($throwRuntimeError("index out of range"),undefined):Y[e]);g=1;b=f;c=g;return[b,c];}else if(e<194){h=0;i=1;b=h;c=i;return[b,c];}else if(e<224){if(a.$length<2){j=0;k=0;b=j;c=k;return[b,c];}l=((e<0||e>=Z.length)?($throwRuntimeError("index out of range"),undefined):Z[e]);m=(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]);if(m<128||192<=m){n=0;o=1;b=n;c=o;return[b,c];}p=d.lookupValue(((l>>>0)),m);q=2;b=p;c=q;return[b,c];}else if(e<240){if(a.$length<3){r=0;s=0;b=r;c=s;return[b,c];}t=((e<0||e>=Z.length)?($throwRuntimeError("index out of range"),undefined):Z[e]);u=(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]);if(u<128||192<=u){v=0;w=1;b=v;c=w;return[b,c];}x=(((t>>>0))<<6>>>0)+((u>>>0))>>>0;t=((x<0||x>=Z.length)?($throwRuntimeError("index out of range"),undefined):Z[x]);y=(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]);if(y<128||192<=y){z=0;aa=2;b=z;c=aa;return[b,c];}ab=d.lookupValue(((t>>>0)),y);ac=3;b=ab;c=ac;return[b,c];}else if(e<248){if(a.$length<4){ad=0;ae=0;b=ad;c=ae;return[b,c];}af=((e<0||e>=Z.length)?($throwRuntimeError("index out of range"),undefined):Z[e]);ag=(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]);if(ag<128||192<=ag){ah=0;ai=1;b=ah;c=ai;return[b,c];}aj=(((af>>>0))<<6>>>0)+((ag>>>0))>>>0;af=((aj<0||aj>=Z.length)?($throwRuntimeError("index out of range"),undefined):Z[aj]);ak=(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]);if(ak<128||192<=ak){al=0;am=2;b=al;c=am;return[b,c];}aj=(((af>>>0))<<6>>>0)+((ak>>>0))>>>0;af=((aj<0||aj>=Z.length)?($throwRuntimeError("index out of range"),undefined):Z[aj]);an=(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]);if(an<128||192<=an){ao=0;ap=3;b=ao;c=ap;return[b,c];}aq=d.lookupValue(((af>>>0)),an);ar=4;b=aq;c=ar;return[b,c];}as=0;at=1;b=as;c=at;return[b,c];};W.prototype.lookup=function(a){return this.$val.lookup(a);};W.ptr.prototype.lookupString=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=0;d=this;e=a.charCodeAt(0);if(e<128){f=((e<0||e>=Y.length)?($throwRuntimeError("index out of range"),undefined):Y[e]);g=1;b=f;c=g;return[b,c];}else if(e<194){h=0;i=1;b=h;c=i;return[b,c];}else if(e<224){if(a.length<2){j=0;k=0;b=j;c=k;return[b,c];}l=((e<0||e>=Z.length)?($throwRuntimeError("index out of range"),undefined):Z[e]);m=a.charCodeAt(1);if(m<128||192<=m){n=0;o=1;b=n;c=o;return[b,c];}p=d.lookupValue(((l>>>0)),m);q=2;b=p;c=q;return[b,c];}else if(e<240){if(a.length<3){r=0;s=0;b=r;c=s;return[b,c];}t=((e<0||e>=Z.length)?($throwRuntimeError("index out of range"),undefined):Z[e]);u=a.charCodeAt(1);if(u<128||192<=u){v=0;w=1;b=v;c=w;return[b,c];}x=(((t>>>0))<<6>>>0)+((u>>>0))>>>0;t=((x<0||x>=Z.length)?($throwRuntimeError("index out of range"),undefined):Z[x]);y=a.charCodeAt(2);if(y<128||192<=y){z=0;aa=2;b=z;c=aa;return[b,c];}ab=d.lookupValue(((t>>>0)),y);ac=3;b=ab;c=ac;return[b,c];}else if(e<248){if(a.length<4){ad=0;ae=0;b=ad;c=ae;return[b,c];}af=((e<0||e>=Z.length)?($throwRuntimeError("index out of range"),undefined):Z[e]);ag=a.charCodeAt(1);if(ag<128||192<=ag){ah=0;ai=1;b=ah;c=ai;return[b,c];}aj=(((af>>>0))<<6>>>0)+((ag>>>0))>>>0;af=((aj<0||aj>=Z.length)?($throwRuntimeError("index out of range"),undefined):Z[aj]);ak=a.charCodeAt(2);if(ak<128||192<=ak){al=0;am=2;b=al;c=am;return[b,c];}aj=(((af>>>0))<<6>>>0)+((ak>>>0))>>>0;af=((aj<0||aj>=Z.length)?($throwRuntimeError("index out of range"),undefined):Z[aj]);an=a.charCodeAt(3);if(an<128||192<=an){ao=0;ap=3;b=ao;c=ap;return[b,c];}aq=d.lookupValue(((af>>>0)),an);ar=4;b=aq;c=ar;return[b,c];}as=0;at=1;b=as;c=at;return[b,c];};W.prototype.lookupString=function(a){return this.$val.lookupString(a);};X=function(a){var a;return new W.ptr();};W.ptr.prototype.lookupValue=function(a,b){var a,b,c,d;c=this;if(a<92){return((d=(a<<6>>>0)+((b>>>0))>>>0,((d<0||d>=Y.length)?($throwRuntimeError("index out of range"),undefined):Y[d])));}else{a=a-(92)>>>0;return(J.lookup(a,b));}};W.prototype.lookupValue=function(a,b){return this.$val.lookupValue(a,b);};AE.ptr.prototype.Write=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;case 1:if(!(a.$length>0)){$s=2;continue;}e=a.$length;if(e>4000){e=4000;}BE.copy(d.rb.src,BF($subslice(a,0,e)));d.rb.nsrc=e;f=AK(d.rb,d.buf,0);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}d.buf=f;a=$subslice(a,e);b=b+(e)>>0;g=AM(d.rb.f,d.buf);$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(h===-1){h=0;}if(h>0){$s=5;continue;}$s=6;continue;case 5:j=d.w.Write($subslice(d.buf,0,h));$s=7;case 7:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;c=i[1];if(!($interfaceIsEqual(c,$ifaceNil))){$s=2;continue;}k=$copySlice(d.buf,$subslice(d.buf,h));d.buf=$subslice(d.buf,0,k);case 6:$s=1;continue;case 2:l=b;m=c;b=l;c=m;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.Write};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.Write=function(a){return this.$val.Write(a);};AE.ptr.prototype.Close=function(){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.buf.$length>0){$s=1;continue;}$s=2;continue;case 1:c=a.w.Write(a.buf);$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){$s=-1;return d;}case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.Close};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.Close=function(){return this.$val.Close();};AG.prototype.Writer=function(a){var a,b,c;b=this.$val;c=new AE.ptr(new BT.ptr(CG.zero(),CH.zero(),0,0,0,new BJ.ptr(0,false,false,$throwNilPointerError,$throwNilPointerError),new BE.ptr("",CI.nil),0,new BE.ptr("",CI.nil),CI.nil,$throwNilPointerError),a,CI.nil);c.rb.init(b,CI.nil);return c;};$ptrType(AG).prototype.Writer=function(a){return new AG(this.$get()).Writer(a);};AF.ptr.prototype.Read=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;case 1:if((b.lastBoundary-b.bufStart>>0)>0){c=$copySlice(a,$subslice(b.outbuf,b.bufStart,b.lastBoundary));b.bufStart=b.bufStart+(c)>>0;if((b.lastBoundary-b.bufStart>>0)>0){$s=-1;return[c,$ifaceNil];}$s=-1;return[c,b.err];}if(!($interfaceIsEqual(b.err,$ifaceNil))){$s=-1;return[0,b.err];}d=$copySlice(b.outbuf,$subslice(b.outbuf,b.lastBoundary));b.outbuf=$subslice(b.outbuf,0,d);b.bufStart=0;f=b.r.Read(b.inbuf);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];BE.copy(b.rb.src,BF($subslice(b.inbuf,0,g)));i=g;j=h;b.rb.nsrc=i;b.err=j;if(g>0){$s=4;continue;}$s=5;continue;case 4:k=AK(b.rb,b.outbuf,0);$s=6;case 6:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}b.outbuf=k;case 5:if($interfaceIsEqual(h,D.EOF)){$s=7;continue;}$s=8;continue;case 7:b.lastBoundary=b.outbuf.$length;$s=9;continue;case 8:l=AM(b.rb.f,b.outbuf);$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}b.lastBoundary=l;if(b.lastBoundary===-1){b.lastBoundary=0;}case 9:$s=1;continue;case 2:$s=-1;return[0,$ifaceNil];}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.Read};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.Read=function(a){return this.$val.Read(a);};AG.prototype.Reader=function(a){var a,b,c,d;b=this.$val;c=$makeSlice(CI,4000);d=new AF.ptr(new BT.ptr(CG.zero(),CH.zero(),0,0,0,new BJ.ptr(0,false,false,$throwNilPointerError,$throwNilPointerError),new BE.ptr("",CI.nil),0,new BE.ptr("",CI.nil),CI.nil,$throwNilPointerError),a,c,CI.nil,0,0,$ifaceNil);d.rb.init(b,c);return d;};$ptrType(AG).prototype.Reader=function(a){return new AG(this.$get()).Reader(a);};AG.prototype.Bytes=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=this.$val;d=$clone(BF(a),BE);e=((c<0||c>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+c]);g=e.quickSpan($clone(d,BE),0,a.$length,true);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];if(i){$s=-1;return a;}j=$makeSlice(CI,h,a.$length);$copySlice(j,$subslice(a,0,h));b[0]=new BT.ptr(CG.zero(),CH.zero(),0,0,0,$clone(e,BJ),$clone(d,BE),a.$length,new BE.ptr("",CI.nil),j,BU);k=AL(b[0],h);$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=3;case 3:return l;}return;}if($f===undefined){$f={$blk:AG.prototype.Bytes};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.Bytes=function(a){return new AG(this.$get()).Bytes(a);};AG.prototype.String=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=this.$val;d=$clone(BG(a),BE);e=((c<0||c>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+c]);g=e.quickSpan($clone(d,BE),0,a.length,true);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];if(i){$s=-1;return a;}j=$makeSlice(CI,h,a.length);$copyString(j,$substring(a,0,h));b[0]=new BT.ptr(CG.zero(),CH.zero(),0,0,0,$clone(e,BJ),$clone(d,BE),a.length,new BE.ptr("",CI.nil),j,BU);k=AL(b[0],h);$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=($bytesToString(k));$s=3;case 3:return l;}return;}if($f===undefined){$f={$blk:AG.prototype.String};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.String=function(a){return new AG(this.$get()).String(a);};AG.prototype.IsNormal=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=this.$val;d=$clone(BF(a),BE);e=((c<0||c>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+c]);g=e.quickSpan($clone(d,BE),0,a.$length,true);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];if(i){$s=-1;return true;}b[0]=new BT.ptr(CG.zero(),CH.zero(),0,0,0,$clone(e,BJ),$clone(d,BE),a.$length,new BE.ptr("",CI.nil),CI.nil,$throwNilPointerError);b[0].setFlusher(CI.nil,AH);case 2:if(!(h<a.$length)){$s=3;continue;}b[0].out=$subslice(a,h);j=AN(b[0],h,true);$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}h=j;if(h<0){$s=-1;return false;}l=b[0].f.quickSpan($clone(b[0].src,BE),h,a.$length,true);$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;h=k[0];$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:AG.prototype.IsNormal};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.IsNormal=function(a){return new AG(this.$get()).IsNormal(a);};AH=function(a){var a,b,c,d,e,f,g,h;b=a.out;c=0;while(true){if(!(c<a.nrune)){break;}e=$clone((d=a.rune,((c<0||c>=d.length)?($throwRuntimeError("index out of range"),undefined):d[c])),BH);if(((e.size>>0))>b.$length){return false;}f=e.pos;g=f+e.size<<24>>>24;while(true){if(!(f<g)){break;}if(!(((0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])===(h=a.byte$1,((f<0||f>=h.length)?($throwRuntimeError("index out of range"),undefined):h[f]))))){return false;}b=$subslice(b,1);f=f+(1)<<24>>>24;}c=c+(1)>>0;}return true;};AG.prototype.IsNormalString=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];d=this.$val;e=$clone(BG(a[0]),BE);f=((d<0||d>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+d]);h=f.quickSpan($clone(e,BE),0,a[0].length,true);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;b[0]=g[0];i=g[1];if(i){$s=-1;return true;}c[0]=new BT.ptr(CG.zero(),CH.zero(),0,0,0,$clone(f,BJ),$clone(e,BE),a[0].length,new BE.ptr("",CI.nil),CI.nil,$throwNilPointerError);c[0].setFlusher(CI.nil,(function(a,b,c){return function(j){var j,k,l,m,n,o,p;k=0;while(true){if(!(k<j.nrune)){break;}m=$clone((l=j.rune,((k<0||k>=l.length)?($throwRuntimeError("index out of range"),undefined):l[k])),BH);if((b[0]+((m.size>>0))>>0)>a[0].length){return false;}n=m.pos;o=n+m.size<<24>>>24;while(true){if(!(n<o)){break;}if(!((a[0].charCodeAt(b[0])===(p=j.byte$1,((n<0||n>=p.length)?($throwRuntimeError("index out of range"),undefined):p[n]))))){return false;}b[0]=b[0]+(1)>>0;n=n+(1)<<24>>>24;}k=k+(1)>>0;}return true;};})(a,b,c));case 2:if(!(b[0]<a[0].length)){$s=3;continue;}j=AN(c[0],b[0],true);$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}b[0]=j;if(b[0]<0){$s=-1;return false;}l=c[0].f.quickSpan($clone(c[0].src,BE),b[0],a[0].length,true);$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;b[0]=k[0];$s=2;continue;case 3:$s=-1;return true;}return;}if($f===undefined){$f={$blk:AG.prototype.IsNormalString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.IsNormalString=function(a){return new AG(this.$get()).IsNormalString(a);};AI=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=AO(a.f,a.out);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=$clone(b[0],BH);e=b[1];if((e===-1)||(d.size===0)){$s=-1;return true;}f=e+((d.size>>0))>>0;g=a.out.$length-f>>0;if(g>0){$s=2;continue;}$s=3;continue;case 2:h=$makeSlice(CI,0);h=$appendSlice(h,$subslice(a.out,(a.out.$length-g>>0)));a.out=$subslice(a.out,0,f);$r=AP(a);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=a.doFlush();$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;a.out=$appendSlice(a.out,h);$s=-1;return false;case 3:j=$subslice(a.out,e);a.out=$subslice(a.out,0,e);$r=AP(a);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}k=(a.$ptr_ss||(a.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},a))).next($clone(d,BH));if(k===1){$s=7;continue;}if(k===2){$s=8;continue;}$s=9;continue;case 7:l=a.doFlush();$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;(a.$ptr_ss||(a.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},a))).first($clone(d,BH));$s=9;continue;case 8:m=a.doFlush();$s=11;case 11:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;a.insertCGJ();a.ss=0;case 9:$r=a.insertUnsafe($clone(BF(j),BE),0,$clone(d,BH));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:AI};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AJ=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(a.nsrc===b){$s=-1;return b;}d=a.f.quickSpan($clone(a.src,BE),b,a.nsrc,true);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];a.out=a.src.appendSlice(a.out,b,e);$s=-1;return e;}return;}if($f===undefined){$f={$blk:AJ};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AG.prototype.Append=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this.$val;d=new AG(c).doAppend(a,$clone(BF(b),BE),b.$length);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:AG.prototype.Append};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.Append=function(a,b){return new AG(this.$get()).Append(a,b);};AG.prototype.doAppend=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=this.$val;if(c===0){$s=-1;return a;}g=((f<0||f>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+f]);if(a.$length===0){$s=1;continue;}$s=2;continue;case 1:i=g.quickSpan($clone(b,BE),0,c,true);$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=h[0];a=b.appendSlice(a,0,j);if(j===c){$s=-1;return a;}d[0]=new BT.ptr(CG.zero(),CH.zero(),0,0,0,$clone(g,BJ),$clone(b,BE),c,new BE.ptr("",CI.nil),a,BU);k=AL(d[0],j);$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=5;case 5:return l;case 2:e[0]=new BT.ptr(CG.zero(),CH.zero(),0,0,0,$clone(g,BJ),$clone(b,BE),c,new BE.ptr("",CI.nil),CI.nil,$throwNilPointerError);m=AK(e[0],a,0);$s=6;case 6:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=7;case 7:return n;}return;}if($f===undefined){$f={$blk:AG.prototype.doAppend};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.doAppend=function(a,b,c){return new AG(this.$get()).doAppend(a,b,c);};AK=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a.setFlusher(b,BU);d=$clone(a.src,BE);e=a.nsrc;f=$clone(d,BE);g=e;h=b.$length>0;i=f.skipContinuationBytes(c);if(i>c){$s=1;continue;}$s=2;continue;case 1:a.out=f.appendSlice(a.out,c,i);c=i;j=AI(a);$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}h=j;case 2:k=a.f;if(h){$s=4;continue;}$s=5;continue;case 4:l=new BH.ptr(0,0,0,0,0,0,0);if(c<g){$s=6;continue;}$s=7;continue;case 6:m=k.info($clone(f,BE),c);$s=8;case 8:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}BH.copy(l,m);if(!$clone(l,BH).BoundaryBefore()||$clone(l,BH).nLeadingNonStarters()>0){$s=9;continue;}$s=10;continue;case 9:if(c===0){$s=11;continue;}$s=12;continue;case 11:$r=AP(a);$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 12:n=AN(a,c,true);$s=14;case 14:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}c=n;case 10:case 7:if(l.size===0){$s=15;continue;}$s=16;continue;case 15:o=a.doFlush();$s=17;case 17:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;$s=-1;return f.appendSlice(a.out,c,g);case 16:if(a.nrune>0){$s=18;continue;}$s=19;continue;case 18:p=AL(a,c);$s=20;case 20:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;$s=21;case 21:return q;case 19:case 5:r=AJ(a,c);$s=22;case 22:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}c=r;s=AL(a,c);$s=23;case 23:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;$s=24;case 24:return t;}return;}if($f===undefined){$f={$blk:AK};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};AL=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=a.nsrc;case 1:if(!(b<c)){$s=2;continue;}d=AN(a,b,true);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}b=d;e=AJ(a,b);$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}b=e;$s=1;continue;case 2:$s=-1;return a.out;}return;}if($f===undefined){$f={$blk:AL};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AG.prototype.AppendString=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this.$val;d=new AG(c).doAppend(a,$clone(BG(b),BE),b.length);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:AG.prototype.AppendString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.AppendString=function(a,b){return new AG(this.$get()).AppendString(a,b);};AG.prototype.QuickSpan=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this.$val;d=((b<0||b>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+b]).quickSpan($clone(BF(a),BE),0,a.$length,true);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];$s=-1;return e;}return;}if($f===undefined){$f={$blk:AG.prototype.QuickSpan};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.QuickSpan=function(a){return new AG(this.$get()).QuickSpan(a);};AG.prototype.Span=function(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=0;d=$ifaceNil;e=this.$val;g=((e<0||e>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+e]).quickSpan($clone(BF(a),BE),0,a.$length,b);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;c=f[0];h=f[1];if(c<a.$length){if(!h){d=B.ErrEndOfSpan;}else{d=B.ErrShortSrc;}}i=c;j=d;c=i;d=j;$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:AG.prototype.Span};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.Span=function(a,b){return new AG(this.$get()).Span(a,b);};AG.prototype.SpanString=function(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=0;d=$ifaceNil;e=this.$val;g=((e<0||e>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+e]).quickSpan($clone(BG(a),BE),0,a.length,b);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;c=f[0];h=f[1];if(c<a.length){if(!h){d=B.ErrEndOfSpan;}else{d=B.ErrShortSrc;}}i=c;j=d;c=i;d=j;$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:AG.prototype.SpanString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.SpanString=function(a,b){return new AG(this.$get()).SpanString(a,b);};BJ.ptr.prototype.quickSpan=function(a,b,c,d){var a,aa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=0;f=false;g=this;h=0;i=0;j=b;e=c;case 1:if(!(b<e)){$s=2;continue;}k=a.skipASCII(b,e);if(!((b===k))){b=k;j=b-1>>0;h=0;i=0;$s=1;continue;}l=g.info($clone(a,BE),b);$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=$clone(l,BH);if(m.size===0){if(d){n=e;o=true;e=n;f=o;$s=-1;return[e,f];}p=j;q=true;e=p;f=q;$s=-1;return[e,f];}s=(r||(r=new CJ(function(){return i;},function($v){i=$v;}))).next($clone(m,BH));if(s===(1)){j=b;}else if(s===(2)){t=j;u=false;e=t;f=u;$s=-1;return[e,f];}else if(s===(0)){if(h>m.ccc){v=j;w=false;e=v;f=w;$s=-1;return[e,f];}}if(g.composing){if(!$clone(m,BH).isYesC()){$s=2;continue;}}else{if(!$clone(m,BH).isYesD()){$s=2;continue;}}h=m.ccc;b=b+(((m.size>>0)))>>0;$s=1;continue;case 2:if(b===e){if(!d){e=j;}x=e;y=true;e=x;f=y;$s=-1;return[e,f];}z=j;aa=false;e=z;f=aa;$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:BJ.ptr.prototype.quickSpan};}$f.a=a;$f.aa=aa;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BJ.prototype.quickSpan=function(a,b,c,d){return this.$val.quickSpan(a,b,c,d);};AG.prototype.QuickSpanString=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this.$val;d=((b<0||b>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+b]).quickSpan($clone(BG(a),BE),0,a.length,true);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];$s=-1;return e;}return;}if($f===undefined){$f={$blk:AG.prototype.QuickSpanString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.QuickSpanString=function(a){return new AG(this.$get()).QuickSpanString(a);};AG.prototype.FirstBoundary=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this.$val;c=new AG(b).firstBoundary($clone(BF(a),BE),a.$length);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:AG.prototype.FirstBoundary};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.FirstBoundary=function(a){return new AG(this.$get()).FirstBoundary(a);};AG.prototype.firstBoundary=function(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this.$val;d=a.skipContinuationBytes(0);if(d>=b){$s=-1;return-1;}e=((c<0||c>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+c]);f=0;case 1:g=e.info($clone(a,BE),d);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=$clone(g,BH);if(h.size===0){$s=-1;return-1;}j=(i||(i=new CJ(function(){return f;},function($v){f=$v;}))).next($clone(h,BH));if(!((j===0))){$s=-1;return d;}d=d+(((h.size>>0)))>>0;if(d>=b){if(!$clone(h,BH).BoundaryAfter()&&!new BS(f).isMax()){$s=-1;return-1;}$s=-1;return b;}$s=1;continue;case 2:$s=-1;return 0;}return;}if($f===undefined){$f={$blk:AG.prototype.firstBoundary};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.firstBoundary=function(a,b){return new AG(this.$get()).firstBoundary(a,b);};AG.prototype.FirstBoundaryInString=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this.$val;c=new AG(b).firstBoundary($clone(BG(a),BE),a.length);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:AG.prototype.FirstBoundaryInString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.FirstBoundaryInString=function(a){return new AG(this.$get()).FirstBoundaryInString(a);};AG.prototype.NextBoundary=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this.$val;d=new AG(c).nextBoundary($clone(BF(a),BE),a.$length,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:AG.prototype.NextBoundary};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.NextBoundary=function(a,b){return new AG(this.$get()).NextBoundary(a,b);};AG.prototype.NextBoundaryInString=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this.$val;d=new AG(c).nextBoundary($clone(BG(a),BE),a.length,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:AG.prototype.NextBoundaryInString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.NextBoundaryInString=function(a,b){return new AG(this.$get()).NextBoundaryInString(a,b);};AG.prototype.nextBoundary=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this.$val;if(b===0){if(c){$s=-1;return 0;}$s=-1;return-1;}e=((d<0||d>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+d]);f=e.info($clone(a,BE),0);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=$clone(f,BH);if(g.size===0){if(c){$s=-1;return 1;}$s=-1;return-1;}h=0;(i||(i=new CJ(function(){return h;},function($v){h=$v;}))).first($clone(g,BH));j=((g.size>>0));case 2:if(!(j<b)){$s=3;continue;}k=e.info($clone(a,BE),j);$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}BH.copy(g,k);if(g.size===0){if(c){$s=-1;return j;}$s=-1;return-1;}l=(i||(i=new CJ(function(){return h;},function($v){h=$v;}))).next($clone(g,BH));if(!((l===0))){$s=-1;return j;}j=j+(((g.size>>0)))>>0;$s=2;continue;case 3:if(!c&&!$clone(g,BH).BoundaryAfter()&&!new BS(h).isMax()){$s=-1;return-1;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AG.prototype.nextBoundary};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.nextBoundary=function(a,b,c){return new AG(this.$get()).nextBoundary(a,b,c);};AG.prototype.LastBoundary=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this.$val;c=AM(((b<0||b>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+b]),a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:AG.prototype.LastBoundary};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AG).prototype.LastBoundary=function(a){return new AG(this.$get()).LastBoundary(a);};AM=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=b.$length;e=AO(a,b);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=$clone(d[0],BH);g=d[1];if(g===-1){$s=-1;return-1;}if(f.size===0){$s=2;continue;}$s=3;continue;case 2:if(g===0){$s=-1;return-1;}c=g;i=AO(a,$subslice(b,0,c));$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;BH.copy(f,h[0]);g=h[1];if(g===-1){$s=-1;return c;}case 3:if(!(((g+((f.size>>0))>>0)===c))){$s=-1;return c;}if($clone(f,BH).BoundaryAfter()){$s=-1;return c;}j=0;l=(k||(k=new CJ(function(){return j;},function($v){j=$v;}))).backwards($clone(f,BH));c=g;case 5:if(!(c>=0&&!((l===1)))){$s=6;continue;}n=AO(a,$subslice(b,0,c));$s=7;case 7:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;BH.copy(f,m[0]);g=m[1];l=(k||(k=new CJ(function(){return j;},function($v){j=$v;}))).backwards($clone(f,BH));if(l===2){$s=6;continue;}if(!(((g+((f.size>>0))>>0)===c))){if(g===-1){$s=-1;return-1;}$s=-1;return c;}c=g;$s=5;continue;case 6:$s=-1;return c;}return;}if($f===undefined){$f={$blk:AM};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AN=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=a.f.info($clone(a.src,BE),b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$clone(d,BH);if(e.size===0){$s=-1;return 0;}f=(a.$ptr_ss||(a.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},a))).next($clone(e,BH));if(f===1){$s=2;continue;}if(f===2){$s=3;continue;}$s=4;continue;case 2:if(a.nrune>0){$s=5;continue;}$s=6;continue;case 5:$s=7;continue;case 6:$s=4;continue;case 3:a.insertCGJ();$s=7;continue;case 4:g=a.insertFlush($clone(a.src,BE),b,$clone(e,BH));$s=8;case 8:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!((h===0))){$s=-1;return((h>>0));}case 9:b=b+(((e.size>>0)))>>0;if(b>=a.nsrc){if(!c&&!$clone(e,BH).BoundaryAfter()){$s=-1;return-2;}$s=10;continue;}i=a.f.info($clone(a.src,BE),b);$s=11;case 11:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}BH.copy(e,i);if(e.size===0){if(!c){$s=-1;return-2;}$s=10;continue;}j=(a.$ptr_ss||(a.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},a))).next($clone(e,BH));if(j===1){$s=10;continue;}else if(j===2){a.insertCGJ();$s=10;continue;}k=a.insertFlush($clone(a.src,BE),b,$clone(e,BH));$s=12;case 12:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(!((l===0))){$s=-1;return((l>>0));}$s=9;continue;case 10:case 7:m=a.doFlush();$s=15;case 15:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(!m){$s=13;continue;}$s=14;continue;case 13:$s=-1;return-1;case 14:$s=-1;return b;}return;}if($f===undefined){$f={$blk:AN};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AO=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=b.$length-1>>0;while(true){if(!(c>=0&&!A.RuneStart(((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])))){break;}c=c-(1)>>0;}if(c<0){$s=-1;return[new BH.ptr(0,0,0,0,0,0,0),-1];}d=a.info($clone(BF(b),BE),c);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=[d,c];$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:AO};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AP=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.f;d=AO(b,a.out);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=$clone(c[0],BH);f=c[1];if(!((((e.size>>0))===(a.out.$length-f>>0)))){$s=-1;return;}if($clone(e,BH).BoundaryAfter()){$s=-1;return;}g=CK.zero();h=0;i=0;j=a.out.$length;case 2:BH.copy(((h<0||h>=g.length)?($throwRuntimeError("index out of range"),undefined):g[h]),e);l=(k||(k=new CJ(function(){return i;},function($v){i=$v;}))).backwards($clone(e,BH));if(l===2){$s=3;continue;}h=h+(1)>>0;j=j-(((e.size>>0)))>>0;if((l===1)||j<0){$s=3;continue;}n=AO(b,$subslice(a.out,0,j));$s=4;case 4:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;BH.copy(e,m[0]);f=m[1];if(!((((e.size>>0))===(j-f>>0)))){$s=3;continue;}$s=2;continue;case 3:a.ss=i;o=CH.zero();p=$subslice(new CI(o),0,$copySlice(new CI(o),$subslice(a.out,j)));a.out=$subslice(a.out,0,j);h=h-(1)>>0;case 5:if(!(h>=0)){$s=6;continue;}BH.copy(e,((h<0||h>=g.length)?($throwRuntimeError("index out of range"),undefined):g[h]));$r=a.insertUnsafe($clone(BF(p),BE),0,$clone(e,BH));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p=$subslice(p,e.size);h=h-(1)>>0;$s=5;continue;case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:AP};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AQ.ptr.prototype.Init=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;c.p=0;if(b.$length===0){c.setDone();c.rb.nsrc=0;$s=-1;return;}c.multiSeg=CI.nil;c.rb.init(a,b);c.next=c.rb.f.nextMain;c.asciiF=AS;d=c.rb.f.info($clone(c.rb.src,BE),c.p);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}BH.copy(c.info,d);(e=c.rb,(e.$ptr_ss||(e.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},e)))).first($clone(c.info,BH));$s=-1;return;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Init};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Init=function(a,b){return this.$val.Init(a,b);};AQ.ptr.prototype.InitString=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;c.p=0;if(b.length===0){c.setDone();c.rb.nsrc=0;$s=-1;return;}c.multiSeg=CI.nil;c.rb.initString(a,b);c.next=c.rb.f.nextMain;c.asciiF=AT;d=c.rb.f.info($clone(c.rb.src,BE),c.p);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}BH.copy(c.info,d);(e=c.rb,(e.$ptr_ss||(e.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},e)))).first($clone(c.info,BH));$s=-1;return;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.InitString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.InitString=function(a,b){return this.$val.InitString(a,b);};AQ.ptr.prototype.Seek=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=new $Int64(0,0);e=b;if(e===(0)){$s=2;continue;}if(e===(1)){$s=3;continue;}if(e===(2)){$s=4;continue;}$s=5;continue;case 2:d=a;$s=6;continue;case 3:d=(f=(new $Int64(0,c.p)),new $Int64(f.$high+a.$high,f.$low+a.$low));$s=6;continue;case 4:d=(g=(new $Int64(0,c.rb.nsrc)),new $Int64(g.$high+a.$high,g.$low+a.$low));$s=6;continue;case 5:h=E.Errorf("norm: invalid whence",new CL([]));$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=[new $Int64(0,0),h];$s=8;case 8:return i;case 6:case 1:if((d.$high<0||(d.$high===0&&d.$low<0))){$s=9;continue;}$s=10;continue;case 9:j=E.Errorf("norm: negative position",new CL([]));$s=11;case 11:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=[new $Int64(0,0),j];$s=12;case 12:return k;case 10:if((((d.$low+((d.$high>>31)*4294967296))>>0))>=c.rb.nsrc){c.setDone();$s=-1;return[(new $Int64(0,c.p)),$ifaceNil];}c.p=(((d.$low+((d.$high>>31)*4294967296))>>0));c.multiSeg=CI.nil;c.next=c.rb.f.nextMain;l=c.rb.f.info($clone(c.rb.src,BE),c.p);$s=13;case 13:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}BH.copy(c.info,l);(m=c.rb,(m.$ptr_ss||(m.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},m)))).first($clone(c.info,BH));$s=-1;return[d,$ifaceNil];}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Seek};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Seek=function(a,b){return this.$val.Seek(a,b);};AQ.ptr.prototype.returnSlice=function(a,b){var a,b,c;c=this;if(c.rb.src.bytes===CI.nil){return $subslice(new CI(c.buf),0,$copyString(new CI(c.buf),$substring(c.rb.src.str,a,b)));}return $subslice(c.rb.src.bytes,a,b);};AQ.prototype.returnSlice=function(a,b){return this.$val.returnSlice(a,b);};AQ.ptr.prototype.Pos=function(){var a;a=this;return a.p;};AQ.prototype.Pos=function(){return this.$val.Pos();};AQ.ptr.prototype.setDone=function(){var a;a=this;a.next=AV;a.p=a.rb.nsrc;};AQ.prototype.setDone=function(){return this.$val.setDone();};AQ.ptr.prototype.Done=function(){var a;a=this;return a.p>=a.rb.nsrc;};AQ.prototype.Done=function(){return this.$val.Done();};AQ.ptr.prototype.Next=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.next(a);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Next};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Next=function(){return this.$val.Next();};AS=function(a){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.p+1>>0;if(b>=a.rb.nsrc){c=a.p;a.setDone();$s=-1;return $subslice(a.rb.src.bytes,c,b);}if((d=a.rb.src.bytes,((b<0||b>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+b]))<128){e=a.p;a.p=b;$s=-1;return $subslice(a.rb.src.bytes,e,b);}f=a.rb.f.info($clone(a.rb.src,BE),a.p);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}BH.copy(a.info,f);a.next=a.rb.f.nextMain;g=a.next(a);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=3;case 3:return h;}return;}if($f===undefined){$f={$blk:AS};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AT=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.p+1>>0;if(b>=a.rb.nsrc){a.buf[0]=a.rb.src.str.charCodeAt(a.p);a.setDone();$s=-1;return $subslice(new CI(a.buf),0,1);}if(a.rb.src.str.charCodeAt(b)<128){a.buf[0]=a.rb.src.str.charCodeAt(a.p);a.p=b;$s=-1;return $subslice(new CI(a.buf),0,1);}c=a.rb.f.info($clone(a.rb.src,BE),a.p);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}BH.copy(a.info,c);a.next=a.rb.f.nextMain;d=a.next(a);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=3;case 3:return e;}return;}if($f===undefined){$f={$blk:AT};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AU=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.p;c=b+3>>0;if(c>=a.rb.nsrc){$s=1;continue;}if(a.rb.src.hangul(c)===0){$s=2;continue;}$s=3;continue;case 1:a.setDone();$s=3;continue;case 2:(d=a.rb,(d.$ptr_ss||(d.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},d)))).next($clone(a.info,BH));e=a.rb.f.info($clone(a.rb.src,BE),a.p);$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}BH.copy(a.info,e);a.next=a.rb.f.nextMain;f=a.next(a);$s=5;case 5:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=6;case 6:return g;case 3:a.p=c;$s=-1;return $subslice(new CI(a.buf),0,CA(new CI(a.buf),a.rb.src.hangul(b)));}return;}if($f===undefined){$f={$blk:AU};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AV=function(a){var a;return CI.nil;};AW=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=a.multiSeg;b=1;while(true){if(!(b<c.$length&&!A.RuneStart(((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b])))){break;}b=b+(1)>>0;}case 1:if(!(b<c.$length)){$s=2;continue;}d=a.rb.f.info(new BE.ptr("",c),b);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$clone(d,BH);if($clone(e,BH).BoundaryBefore()){a.multiSeg=$subslice(c,b);$s=-1;return $subslice(c,0,b);}b=b+(((e.size>>0)))>>0;$s=1;continue;case 2:a.next=a.rb.f.nextMain;f=a.next(a);$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=5;case 5:return g;}return;}if($f===undefined){$f={$blk:AW};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AX=function(a){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=a.multiSeg;case 1:if(!(b<c.$length)){$s=2;continue;}d=a.rb.f.info(new BE.ptr("",c),b);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$clone(d,BH);if($clone(e,BH).BoundaryBefore()){$s=4;continue;}$s=5;continue;case 4:$r=a.rb.compose();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=$subslice(new CI(a.buf),0,a.rb.flushCopy(new CI(a.buf)));$r=a.rb.insertUnsafe(new BE.ptr("",c),b,$clone(e,BH));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a.multiSeg=$subslice(c,(b+((e.size>>0))>>0));$s=-1;return f;case 5:$r=a.rb.insertUnsafe(new BE.ptr("",c),b,$clone(e,BH));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=b+(((e.size>>0)))>>0;$s=1;continue;case 2:a.multiSeg=CI.nil;a.next=BB;g=BC(a);$s=9;case 9:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=10;case 10:return h;}return;}if($f===undefined){$f={$blk:AX};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AY=function(a){var a,aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=CI.nil;c=0;d=a.p;e=0;f=d;g=e;case 1:h=((a.info.size>>0));if(h<=1){$s=3;continue;}$s=4;continue;case 3:a.rb.ss=0;i=a.p;a.p=a.p+(1)>>0;if(a.p>=a.rb.nsrc){a.setDone();b=a.returnSlice(i,a.p);$s=-1;return b;}else if(a.rb.src._byte(a.p)<128){a.next=a.asciiF;b=a.returnSlice(i,a.p);$s=-1;return b;}c=c+(1)>>0;$s=5;continue;case 4:j=$clone(a.info,BH).Decomposition();if(!(j===CI.nil)){$s=6;continue;}$s=7;continue;case 6:k=c+j.$length>>0;if(c>0){$s=9;continue;}if($clone(a.info,BH).multiSegment()){$s=10;continue;}$s=11;continue;case 9:a.rb.src.copySlice($subslice(new CI(a.buf),g),f,a.p);if(k>128){b=$subslice(new CI(a.buf),0,c);$s=-1;return b;}$s=11;continue;case 10:if(a.multiSeg===CI.nil){$s=12;continue;}$s=13;continue;case 12:a.multiSeg=j;a.next=AW;l=AW(a);$s=14;case 14:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}b=l;m=b;$s=15;case 15:return m;case 13:j=a.multiSeg;a.multiSeg=CI.nil;k=j.$length;case 11:n=a.info.tccc;a.p=a.p+(h)>>0;if(a.p>=a.rb.nsrc){$s=16;continue;}$s=17;continue;case 16:a.setDone();BH.copy(a.info,new BH.ptr(0,0,0,0,0,0,0));$s=18;continue;case 17:o=a.rb.f.info($clone(a.rb.src,BE),a.p);$s=19;case 19:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}BH.copy(a.info,o);case 18:q=(p=a.rb,(p.$ptr_ss||(p.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},p)))).next($clone(a.info,BH));if(q===(2)){a.next=BA;if(c>0){$copySlice($subslice(new CI(a.buf),c),j);b=$subslice(new CI(a.buf),0,k);$s=-1;return b;}b=j;$s=-1;return b;}else if(q===(1)){if(c>0){$copySlice($subslice(new CI(a.buf),c),j);b=$subslice(new CI(a.buf),0,k);$s=-1;return b;}b=j;$s=-1;return b;}$copySlice($subslice(new CI(a.buf),c),j);c=k;r=a.p;s=c;f=r;g=s;if(a.info.ccc<n){$s=20;continue;}$s=21;continue;case 20:$s=22;continue;case 21:$s=1;continue;$s=8;continue;case 7:t=a.rb.src.hangul(a.p);if(!((t===0))){c=CA(new CI(a.buf),t);a.p=a.p+(3)>>0;u=a.p;v=c;f=u;g=v;if(a.p>=a.rb.nsrc){a.setDone();$s=2;continue;}else if(!((a.rb.src.hangul(a.p)===0))){a.next=AU;b=$subslice(new CI(a.buf),0,c);$s=-1;return b;}}else{w=c+h>>0;if(w>128){$s=2;continue;}c=w;a.p=a.p+(h)>>0;}case 8:case 5:if(a.p>=a.rb.nsrc){a.setDone();$s=2;continue;}x=a.info.tccc;y=a.rb.f.info($clone(a.rb.src,BE),a.p);$s=23;case 23:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}BH.copy(a.info,y);aa=(z=a.rb,(z.$ptr_ss||(z.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},z)))).next($clone(a.info,BH));if(aa===1){$s=2;continue;}else if(aa===2){a.next=BA;$s=2;continue;}if(a.info.ccc<x){$s=24;continue;}$s=25;continue;case 24:$s=22;continue;case 25:$s=1;continue;case 2:if(g===0){b=a.returnSlice(f,a.p);$s=-1;return b;}else if(f<a.p){a.rb.src.copySlice($subslice(new CI(a.buf),g),f,a.p);}b=$subslice(new CI(a.buf),0,c);$s=-1;return b;case 22:a.rb.src.copySlice($subslice(new CI(a.buf),g),f,a.p);ab=a.rb.insertDecomposed($subslice(new CI(a.buf),0,c));$s=26;case 26:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ab;ac=AZ(a);$s=27;case 27:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}b=ac;ad=b;$s=28;case 28:return ad;}return;}if($f===undefined){$f={$blk:AY};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AZ=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:$r=a.rb.insertUnsafe($clone(a.rb.src,BE),a.p,$clone(a.info,BH));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a.p=a.p+(((a.info.size>>0)))>>0;if(a.p>=a.rb.nsrc){a.setDone();$s=2;continue;}b=a.rb.f.info($clone(a.rb.src,BE),a.p);$s=4;case 4:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}BH.copy(a.info,b);if(a.info.ccc===0){$s=2;continue;}d=(c=a.rb,(c.$ptr_ss||(c.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},c)))).next($clone(a.info,BH));if(d===2){a.next=BA;$s=2;continue;}$s=1;continue;case 2:$s=-1;return $subslice(new CI(a.buf),0,a.rb.flushCopy(new CI(a.buf)));}return;}if($f===undefined){$f={$blk:AZ};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BA=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a.rb.ss=0;a.rb.insertCGJ();a.next=AY;(b=a.rb,(b.$ptr_ss||(b.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},b)))).first($clone(a.info,BH));c=AZ(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BA};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BB=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=a.p;d=b;e=c;f=0;case 1:if(!$clone(a.info,BH).isYesC()){$s=3;continue;}$s=4;continue;case 3:$s=5;continue;case 4:f=a.info.tccc;g=((a.info.size>>0));if(g===0){g=1;}h=d+g>>0;if(h>128){$s=2;continue;}d=h;a.p=a.p+(g)>>0;if(a.p>=a.rb.nsrc){a.setDone();$s=2;continue;}else if(a.rb.src._byte(a.p)<128){a.rb.ss=0;a.next=a.asciiF;$s=2;continue;}i=a.rb.f.info($clone(a.rb.src,BE),a.p);$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}BH.copy(a.info,i);k=(j=a.rb,(j.$ptr_ss||(j.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},j)))).next($clone(a.info,BH));if(k===1){$s=2;continue;}else if(k===2){a.next=BD;$s=2;continue;}if(a.info.ccc<f){$s=7;continue;}$s=8;continue;case 7:$s=5;continue;case 8:$s=1;continue;case 2:$s=-1;return a.returnSlice(e,a.p);case 5:a.p=e;l=a.rb.f.info($clone(a.rb.src,BE),a.p);$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}BH.copy(a.info,l);(m=a.rb,(m.$ptr_ss||(m.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},m)))).first($clone(a.info,BH));if($clone(a.info,BH).multiSegment()){$s=10;continue;}$s=11;continue;case 10:n=$clone(a.info,BH).Decomposition();o=a.rb.f.info(new BE.ptr("",n),0);$s=12;case 12:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=$clone(o,BH);$r=a.rb.insertUnsafe(new BE.ptr("",n),0,$clone(p,BH));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a.multiSeg=$subslice(n,((p.size>>0)));a.next=AX;q=AX(a);$s=14;case 14:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;$s=15;case 15:return r;case 11:(s=a.rb,(s.$ptr_ss||(s.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},s)))).first($clone(a.info,BH));$r=a.rb.insertUnsafe($clone(a.rb.src,BE),a.p,$clone(a.info,BH));$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}t=BC(a);$s=17;case 17:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t;$s=18;case 18:return u;}return;}if($f===undefined){$f={$blk:BB};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};BC=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:a.p=a.p+(((a.info.size>>0)))>>0;if(a.p>=a.rb.nsrc){a.setDone();$s=2;continue;}b=a.rb.f.info($clone(a.rb.src,BE),a.p);$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}BH.copy(a.info,b);d=(c=a.rb,(c.$ptr_ss||(c.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},c)))).next($clone(a.info,BH));if(d===1){$s=2;continue;}else if(d===2){a.next=BD;$s=2;continue;}$r=a.rb.insertUnsafe($clone(a.rb.src,BE),a.p,$clone(a.info,BH));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:$r=a.rb.compose();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=$subslice(new CI(a.buf),0,a.rb.flushCopy(new CI(a.buf)));$s=-1;return e;}return;}if($f===undefined){$f={$blk:BC};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BD=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a.rb.ss=0;a.rb.insertCGJ();a.next=BB;(b=a.rb,(b.$ptr_ss||(b.$ptr_ss=new CJ(function(){return this.$target.ss;},function($v){this.$target.ss=$v;},b)))).first($clone(a.info,BH));$r=a.rb.insertUnsafe($clone(a.rb.src,BE),a.p,$clone(a.info,BH));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=BC(a);$s=2;case 2:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=3;case 3:return d;}return;}if($f===undefined){$f={$blk:BD};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BF=function(a){var a;return new BE.ptr("",a);};BG=function(a){var a;return new BE.ptr(a,CI.nil);};BE.ptr.prototype.setBytes=function(a){var a,b;b=this;b.str="";b.bytes=a;};BE.prototype.setBytes=function(a){return this.$val.setBytes(a);};BE.ptr.prototype.setString=function(a){var a,b;b=this;b.str=a;b.bytes=CI.nil;};BE.prototype.setString=function(a){return this.$val.setString(a);};BE.ptr.prototype._byte=function(a){var a,b,c;b=this;if(b.bytes===CI.nil){return b.str.charCodeAt(a);}return(c=b.bytes,((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]));};BE.prototype._byte=function(a){return this.$val._byte(a);};BE.ptr.prototype.skipASCII=function(a,b){var a,b,c,d;c=this;if(c.bytes===CI.nil){while(true){if(!(a<b&&c.str.charCodeAt(a)<128)){break;}a=a+(1)>>0;}}else{while(true){if(!(a<b&&(d=c.bytes,((a<0||a>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+a]))<128)){break;}a=a+(1)>>0;}}return a;};BE.prototype.skipASCII=function(a,b){return this.$val.skipASCII(a,b);};BE.ptr.prototype.skipContinuationBytes=function(a){var a,b,c;b=this;if(b.bytes===CI.nil){while(true){if(!(a<b.str.length&&!A.RuneStart(b.str.charCodeAt(a)))){break;}a=a+(1)>>0;}}else{while(true){if(!(a<b.bytes.$length&&!A.RuneStart((c=b.bytes,((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]))))){break;}a=a+(1)>>0;}}return a;};BE.prototype.skipContinuationBytes=function(a){return this.$val.skipContinuationBytes(a);};BE.ptr.prototype.appendSlice=function(a,b,c){var a,b,c,d,e;d=this;if(!(d.bytes===CI.nil)){return $appendSlice(a,$subslice(d.bytes,b,c));}e=b;while(true){if(!(e<c)){break;}a=$append(a,d.str.charCodeAt(e));e=e+(1)>>0;}return a;};BE.prototype.appendSlice=function(a,b,c){return this.$val.appendSlice(a,b,c);};BE.ptr.prototype.copySlice=function(a,b,c){var a,b,c,d;d=this;if(d.bytes===CI.nil){return $copyString(a,$substring(d.str,b,c));}return $copySlice(a,$subslice(d.bytes,b,c));};BE.prototype.copySlice=function(a,b,c){return this.$val.copySlice(a,b,c);};BE.ptr.prototype.charinfoNFC=function(a){var a,b;b=this;if(b.bytes===CI.nil){return K.lookupString($substring(b.str,a));}return K.lookup($subslice(b.bytes,a));};BE.prototype.charinfoNFC=function(a){return this.$val.charinfoNFC(a);};BE.ptr.prototype.charinfoNFKC=function(a){var a,b;b=this;if(b.bytes===CI.nil){return L.lookupString($substring(b.str,a));}return L.lookup($subslice(b.bytes,a));};BE.prototype.charinfoNFKC=function(a){return this.$val.charinfoNFKC(a);};BE.ptr.prototype.hangul=function(a){var a,b,c,d,e,f;b=0;c=this;d=0;if(c.bytes===CI.nil){if(!BX($substring(c.str,a))){b=0;return b;}e=A.DecodeRuneInString($substring(c.str,a));b=e[0];d=e[1];}else{if(!BW($subslice(c.bytes,a))){b=0;return b;}f=A.DecodeRune($subslice(c.bytes,a));b=f[0];d=f[1];}if(!((d===3))){b=0;return b;}b=b;return b;};BE.prototype.hangul=function(a){return this.$val.hangul(a);};BH.ptr.prototype.BoundaryBefore=function(){var a;a=this;if((a.ccc===0)&&!$clone(a,BH).combinesBackward()){return true;}return false;};BH.prototype.BoundaryBefore=function(){return this.$val.BoundaryBefore();};BH.ptr.prototype.BoundaryAfter=function(){var a;a=this;return $clone(a,BH).isInert();};BH.prototype.BoundaryAfter=function(){return this.$val.BoundaryAfter();};BH.ptr.prototype.isYesC=function(){var a;a=this;return((a.flags&16)>>>0)===0;};BH.prototype.isYesC=function(){return this.$val.isYesC();};BH.ptr.prototype.isYesD=function(){var a;a=this;return((a.flags&4)>>>0)===0;};BH.prototype.isYesD=function(){return this.$val.isYesD();};BH.ptr.prototype.combinesBackward=function(){var a;a=this;return!((((a.flags&8)>>>0)===0));};BH.prototype.combinesBackward=function(){return this.$val.combinesBackward();};BH.ptr.prototype.hasDecomposition=function(){var a;a=this;return!((((a.flags&4)>>>0)===0));};BH.prototype.hasDecomposition=function(){return this.$val.hasDecomposition();};BH.ptr.prototype.isInert=function(){var a;a=this;return(((a.flags&63)>>>0)===0)&&(a.ccc===0);};BH.prototype.isInert=function(){return this.$val.isInert();};BH.ptr.prototype.multiSegment=function(){var a;a=this;return a.index>=6256&&a.index<12151;};BH.prototype.multiSegment=function(){return this.$val.multiSegment();};BH.ptr.prototype.nLeadingNonStarters=function(){var a;a=this;return a.nLead;};BH.prototype.nLeadingNonStarters=function(){return this.$val.nLeadingNonStarters();};BH.ptr.prototype.nTrailingNonStarters=function(){var a;a=this;return((((a.flags&3)>>>0)<<24>>>24));};BH.prototype.nTrailingNonStarters=function(){return this.$val.nTrailingNonStarters();};BH.ptr.prototype.Decomposition=function(){var a,b,c;a=this;if(a.index===0){return CI.nil;}b=a.index;c=(((b<0||b>=P.length)?($throwRuntimeError("index out of range"),undefined):P[b])&63)>>>0;b=b+(1)<<16>>>16;return $subslice(new CI(P),b,(b+((c<<16>>>16))<<16>>>16));};BH.prototype.Decomposition=function(){return this.$val.Decomposition();};BH.ptr.prototype.Size=function(){var a;a=this;return((a.size>>0));};BH.prototype.Size=function(){return this.$val.Size();};BH.ptr.prototype.CCC=function(){var a,b;a=this;if(a.index>=19087){return 0;}return(b=a.ccc,((b<0||b>=O.length)?($throwRuntimeError("index out of range"),undefined):O[b]));};BH.prototype.CCC=function(){return this.$val.CCC();};BH.ptr.prototype.LeadCCC=function(){var a,b;a=this;return(b=a.ccc,((b<0||b>=O.length)?($throwRuntimeError("index out of range"),undefined):O[b]));};BH.prototype.LeadCCC=function(){return this.$val.LeadCCC();};BH.ptr.prototype.TrailCCC=function(){var a,b;a=this;return(b=a.tccc,((b<0||b>=O.length)?($throwRuntimeError("index out of range"),undefined):O[b]));};BH.prototype.TrailCCC=function(){return this.$val.TrailCCC();};BM=function(){var a,b,c,d,e;AC={};a=CM.zero();b=0;while(true){if(!(b<7528)){break;}$copyString(new CI(a),$substring("\x00A\x03\x00\x00\x00\x00\xC0\x00A\x03\x01\x00\x00\x00\xC1\x00A\x03\x02\x00\x00\x00\xC2\x00A\x03\x03\x00\x00\x00\xC3\x00A\x03\b\x00\x00\x00\xC4\x00A\x03\n\x00\x00\x00\xC5\x00C\x03'\x00\x00\x00\xC7\x00E\x03\x00\x00\x00\x00\xC8\x00E\x03\x01\x00\x00\x00\xC9\x00E\x03\x02\x00\x00\x00\xCA\x00E\x03\b\x00\x00\x00\xCB\x00I\x03\x00\x00\x00\x00\xCC\x00I\x03\x01\x00\x00\x00\xCD\x00I\x03\x02\x00\x00\x00\xCE\x00I\x03\b\x00\x00\x00\xCF\x00N\x03\x03\x00\x00\x00\xD1\x00O\x03\x00\x00\x00\x00\xD2\x00O\x03\x01\x00\x00\x00\xD3\x00O\x03\x02\x00\x00\x00\xD4\x00O\x03\x03\x00\x00\x00\xD5\x00O\x03\b\x00\x00\x00\xD6\x00U\x03\x00\x00\x00\x00\xD9\x00U\x03\x01\x00\x00\x00\xDA\x00U\x03\x02\x00\x00\x00\xDB\x00U\x03\b\x00\x00\x00\xDC\x00Y\x03\x01\x00\x00\x00\xDD\x00a\x03\x00\x00\x00\x00\xE0\x00a\x03\x01\x00\x00\x00\xE1\x00a\x03\x02\x00\x00\x00\xE2\x00a\x03\x03\x00\x00\x00\xE3\x00a\x03\b\x00\x00\x00\xE4\x00a\x03\n\x00\x00\x00\xE5\x00c\x03'\x00\x00\x00\xE7\x00e\x03\x00\x00\x00\x00\xE8\x00e\x03\x01\x00\x00\x00\xE9\x00e\x03\x02\x00\x00\x00\xEA\x00e\x03\b\x00\x00\x00\xEB\x00i\x03\x00\x00\x00\x00\xEC\x00i\x03\x01\x00\x00\x00\xED\x00i\x03\x02\x00\x00\x00\xEE\x00i\x03\b\x00\x00\x00\xEF\x00n\x03\x03\x00\x00\x00\xF1\x00o\x03\x00\x00\x00\x00\xF2\x00o\x03\x01\x00\x00\x00\xF3\x00o\x03\x02\x00\x00\x00\xF4\x00o\x03\x03\x00\x00\x00\xF5\x00o\x03\b\x00\x00\x00\xF6\x00u\x03\x00\x00\x00\x00\xF9\x00u\x03\x01\x00\x00\x00\xFA\x00u\x03\x02\x00\x00\x00\xFB\x00u\x03\b\x00\x00\x00\xFC\x00y\x03\x01\x00\x00\x00\xFD\x00y\x03\b\x00\x00\x00\xFF\x00A\x03\x04\x00\x00\x01\x00\x00a\x03\x04\x00\x00\x01\x01\x00A\x03\x06\x00\x00\x01\x02\x00a\x03\x06\x00\x00\x01\x03\x00A\x03(\x00\x00\x01\x04\x00a\x03(\x00\x00\x01\x05\x00C\x03\x01\x00\x00\x01\x06\x00c\x03\x01\x00\x00\x01\x07\x00C\x03\x02\x00\x00\x01\b\x00c\x03\x02\x00\x00\x01\t\x00C\x03\x07\x00\x00\x01\n\x00c\x03\x07\x00\x00\x01\v\x00C\x03\f\x00\x00\x01\f\x00c\x03\f\x00\x00\x01\r\x00D\x03\f\x00\x00\x01\x0E\x00d\x03\f\x00\x00\x01\x0F\x00E\x03\x04\x00\x00\x01\x12\x00e\x03\x04\x00\x00\x01\x13\x00E\x03\x06\x00\x00\x01\x14\x00e\x03\x06\x00\x00\x01\x15\x00E\x03\x07\x00\x00\x01\x16\x00e\x03\x07\x00\x00\x01\x17\x00E\x03(\x00\x00\x01\x18\x00e\x03(\x00\x00\x01\x19\x00E\x03\f\x00\x00\x01\x1A\x00e\x03\f\x00\x00\x01\x1B\x00G\x03\x02\x00\x00\x01\x1C\x00g\x03\x02\x00\x00\x01\x1D\x00G\x03\x06\x00\x00\x01\x1E\x00g\x03\x06\x00\x00\x01\x1F\x00G\x03\x07\x00\x00\x01 \x00g\x03\x07\x00\x00\x01!\x00G\x03'\x00\x00\x01\"\x00g\x03'\x00\x00\x01#\x00H\x03\x02\x00\x00\x01$\x00h\x03\x02\x00\x00\x01%\x00I\x03\x03\x00\x00\x01(\x00i\x03\x03\x00\x00\x01)\x00I\x03\x04\x00\x00\x01*\x00i\x03\x04\x00\x00\x01+\x00I\x03\x06\x00\x00\x01,\x00i\x03\x06\x00\x00\x01-\x00I\x03(\x00\x00\x01.\x00i\x03(\x00\x00\x01/\x00I\x03\x07\x00\x00\x010\x00J\x03\x02\x00\x00\x014\x00j\x03\x02\x00\x00\x015\x00K\x03'\x00\x00\x016\x00k\x03'\x00\x00\x017\x00L\x03\x01\x00\x00\x019\x00l\x03\x01\x00\x00\x01:\x00L\x03'\x00\x00\x01;\x00l\x03'\x00\x00\x01<\x00L\x03\f\x00\x00\x01=\x00l\x03\f\x00\x00\x01>\x00N\x03\x01\x00\x00\x01C\x00n\x03\x01\x00\x00\x01D\x00N\x03'\x00\x00\x01E\x00n\x03'\x00\x00\x01F\x00N\x03\f\x00\x00\x01G\x00n\x03\f\x00\x00\x01H\x00O\x03\x04\x00\x00\x01L\x00o\x03\x04\x00\x00\x01M\x00O\x03\x06\x00\x00\x01N\x00o\x03\x06\x00\x00\x01O\x00O\x03\v\x00\x00\x01P\x00o\x03\v\x00\x00\x01Q\x00R\x03\x01\x00\x00\x01T\x00r\x03\x01\x00\x00\x01U\x00R\x03'\x00\x00\x01V\x00r\x03'\x00\x00\x01W\x00R\x03\f\x00\x00\x01X\x00r\x03\f\x00\x00\x01Y\x00S\x03\x01\x00\x00\x01Z\x00s\x03\x01\x00\x00\x01[\x00S\x03\x02\x00\x00\x01\\\x00s\x03\x02\x00\x00\x01]\x00S\x03'\x00\x00\x01^\x00s\x03'\x00\x00\x01_\x00S\x03\f\x00\x00\x01`\x00s\x03\f\x00\x00\x01a\x00T\x03'\x00\x00\x01b\x00t\x03'\x00\x00\x01c\x00T\x03\f\x00\x00\x01d\x00t\x03\f\x00\x00\x01e\x00U\x03\x03\x00\x00\x01h\x00u\x03\x03\x00\x00\x01i\x00U\x03\x04\x00\x00\x01j\x00u\x03\x04\x00\x00\x01k\x00U\x03\x06\x00\x00\x01l\x00u\x03\x06\x00\x00\x01m\x00U\x03\n\x00\x00\x01n\x00u\x03\n\x00\x00\x01o\x00U\x03\v\x00\x00\x01p\x00u\x03\v\x00\x00\x01q\x00U\x03(\x00\x00\x01r\x00u\x03(\x00\x00\x01s\x00W\x03\x02\x00\x00\x01t\x00w\x03\x02\x00\x00\x01u\x00Y\x03\x02\x00\x00\x01v\x00y\x03\x02\x00\x00\x01w\x00Y\x03\b\x00\x00\x01x\x00Z\x03\x01\x00\x00\x01y\x00z\x03\x01\x00\x00\x01z\x00Z\x03\x07\x00\x00\x01{\x00z\x03\x07\x00\x00\x01|\x00Z\x03\f\x00\x00\x01}\x00z\x03\f\x00\x00\x01~\x00O\x03\x1B\x00\x00\x01\xA0\x00o\x03\x1B\x00\x00\x01\xA1\x00U\x03\x1B\x00\x00\x01\xAF\x00u\x03\x1B\x00\x00\x01\xB0\x00A\x03\f\x00\x00\x01\xCD\x00a\x03\f\x00\x00\x01\xCE\x00I\x03\f\x00\x00\x01\xCF\x00i\x03\f\x00\x00\x01\xD0\x00O\x03\f\x00\x00\x01\xD1\x00o\x03\f\x00\x00\x01\xD2\x00U\x03\f\x00\x00\x01\xD3\x00u\x03\f\x00\x00\x01\xD4\x00\xDC\x03\x04\x00\x00\x01\xD5\x00\xFC\x03\x04\x00\x00\x01\xD6\x00\xDC\x03\x01\x00\x00\x01\xD7\x00\xFC\x03\x01\x00\x00\x01\xD8\x00\xDC\x03\f\x00\x00\x01\xD9\x00\xFC\x03\f\x00\x00\x01\xDA\x00\xDC\x03\x00\x00\x00\x01\xDB\x00\xFC\x03\x00\x00\x00\x01\xDC\x00\xC4\x03\x04\x00\x00\x01\xDE\x00\xE4\x03\x04\x00\x00\x01\xDF\x02&\x03\x04\x00\x00\x01\xE0\x02'\x03\x04\x00\x00\x01\xE1\x00\xC6\x03\x04\x00\x00\x01\xE2\x00\xE6\x03\x04\x00\x00\x01\xE3\x00G\x03\f\x00\x00\x01\xE6\x00g\x03\f\x00\x00\x01\xE7\x00K\x03\f\x00\x00\x01\xE8\x00k\x03\f\x00\x00\x01\xE9\x00O\x03(\x00\x00\x01\xEA\x00o\x03(\x00\x00\x01\xEB\x01\xEA\x03\x04\x00\x00\x01\xEC\x01\xEB\x03\x04\x00\x00\x01\xED\x01\xB7\x03\f\x00\x00\x01\xEE\x02\x92\x03\f\x00\x00\x01\xEF\x00j\x03\f\x00\x00\x01\xF0\x00G\x03\x01\x00\x00\x01\xF4\x00g\x03\x01\x00\x00\x01\xF5\x00N\x03\x00\x00\x00\x01\xF8\x00n\x03\x00\x00\x00\x01\xF9\x00\xC5\x03\x01\x00\x00\x01\xFA\x00\xE5\x03\x01\x00\x00\x01\xFB\x00\xC6\x03\x01\x00\x00\x01\xFC\x00\xE6\x03\x01\x00\x00\x01\xFD\x00\xD8\x03\x01\x00\x00\x01\xFE\x00\xF8\x03\x01\x00\x00\x01\xFF\x00A\x03\x0F\x00\x00\x02\x00\x00a\x03\x0F\x00\x00\x02\x01\x00A\x03\x11\x00\x00\x02\x02\x00a\x03\x11\x00\x00\x02\x03\x00E\x03\x0F\x00\x00\x02\x04\x00e\x03\x0F\x00\x00\x02\x05\x00E\x03\x11\x00\x00\x02\x06\x00e\x03\x11\x00\x00\x02\x07\x00I\x03\x0F\x00\x00\x02\b\x00i\x03\x0F\x00\x00\x02\t\x00I\x03\x11\x00\x00\x02\n\x00i\x03\x11\x00\x00\x02\v\x00O\x03\x0F\x00\x00\x02\f\x00o\x03\x0F\x00\x00\x02\r\x00O\x03\x11\x00\x00\x02\x0E\x00o\x03\x11\x00\x00\x02\x0F\x00R\x03\x0F\x00\x00\x02\x10\x00r\x03\x0F\x00\x00\x02\x11\x00R\x03\x11\x00\x00\x02\x12\x00r\x03\x11\x00\x00\x02\x13\x00U\x03\x0F\x00\x00\x02\x14\x00u\x03\x0F\x00\x00\x02\x15\x00U\x03\x11\x00\x00\x02\x16\x00u\x03\x11\x00\x00\x02\x17\x00S\x03&\x00\x00\x02\x18\x00s\x03&\x00\x00\x02\x19\x00T\x03&\x00\x00\x02\x1A\x00t\x03&\x00\x00\x02\x1B\x00H\x03\f\x00\x00\x02\x1E\x00h\x03\f\x00\x00\x02\x1F\x00A\x03\x07\x00\x00\x02&\x00a\x03\x07\x00\x00\x02'\x00E\x03'\x00\x00\x02(\x00e\x03'\x00\x00\x02)\x00\xD6\x03\x04\x00\x00\x02*\x00\xF6\x03\x04\x00\x00\x02+\x00\xD5\x03\x04\x00\x00\x02,\x00\xF5\x03\x04\x00\x00\x02-\x00O\x03\x07\x00\x00\x02.\x00o\x03\x07\x00\x00\x02/\x02.\x03\x04\x00\x00\x020\x02/\x03\x04\x00\x00\x021\x00Y\x03\x04\x00\x00\x022\x00y\x03\x04\x00\x00\x023\x00\xA8\x03\x01\x00\x00\x03\x85\x03\x91\x03\x01\x00\x00\x03\x86\x03\x95\x03\x01\x00\x00\x03\x88\x03\x97\x03\x01\x00\x00\x03\x89\x03\x99\x03\x01\x00\x00\x03\x8A\x03\x9F\x03\x01\x00\x00\x03\x8C\x03\xA5\x03\x01\x00\x00\x03\x8E\x03\xA9\x03\x01\x00\x00\x03\x8F\x03\xCA\x03\x01\x00\x00\x03\x90\x03\x99\x03\b\x00\x00\x03\xAA\x03\xA5\x03\b\x00\x00\x03\xAB\x03\xB1\x03\x01\x00\x00\x03\xAC\x03\xB5\x03\x01\x00\x00\x03\xAD\x03\xB7\x03\x01\x00\x00\x03\xAE\x03\xB9\x03\x01\x00\x00\x03\xAF\x03\xCB\x03\x01\x00\x00\x03\xB0\x03\xB9\x03\b\x00\x00\x03\xCA\x03\xC5\x03\b\x00\x00\x03\xCB\x03\xBF\x03\x01\x00\x00\x03\xCC\x03\xC5\x03\x01\x00\x00\x03\xCD\x03\xC9\x03\x01\x00\x00\x03\xCE\x03\xD2\x03\x01\x00\x00\x03\xD3\x03\xD2\x03\b\x00\x00\x03\xD4\x04\x15\x03\x00\x00\x00\x04\x00\x04\x15\x03\b\x00\x00\x04\x01\x04\x13\x03\x01\x00\x00\x04\x03\x04\x06\x03\b\x00\x00\x04\x07\x04\x1A\x03\x01\x00\x00\x04\f\x04\x18\x03\x00\x00\x00\x04\r\x04#\x03\x06\x00\x00\x04\x0E\x04\x18\x03\x06\x00\x00\x04\x19\x048\x03\x06\x00\x00\x049\x045\x03\x00\x00\x00\x04P\x045\x03\b\x00\x00\x04Q\x043\x03\x01\x00\x00\x04S\x04V\x03\b\x00\x00\x04W\x04:\x03\x01\x00\x00\x04\\\x048\x03\x00\x00\x00\x04]\x04C\x03\x06\x00\x00\x04^\x04t\x03\x0F\x00\x00\x04v\x04u\x03\x0F\x00\x00\x04w\x04\x16\x03\x06\x00\x00\x04\xC1\x046\x03\x06\x00\x00\x04\xC2\x04\x10\x03\x06\x00\x00\x04\xD0\x040\x03\x06\x00\x00\x04\xD1\x04\x10\x03\b\x00\x00\x04\xD2\x040\x03\b\x00\x00\x04\xD3\x04\x15\x03\x06\x00\x00\x04\xD6\x045\x03\x06\x00\x00\x04\xD7\x04\xD8\x03\b\x00\x00\x04\xDA\x04\xD9\x03\b\x00\x00\x04\xDB\x04\x16\x03\b\x00\x00\x04\xDC\x046\x03\b\x00\x00\x04\xDD\x04\x17\x03\b\x00\x00\x04\xDE\x047\x03\b\x00\x00\x04\xDF\x04\x18\x03\x04\x00\x00\x04\xE2\x048\x03\x04\x00\x00\x04\xE3\x04\x18\x03\b\x00\x00\x04\xE4\x048\x03\b\x00\x00\x04\xE5\x04\x1E\x03\b\x00\x00\x04\xE6\x04>\x03\b\x00\x00\x04\xE7\x04\xE8\x03\b\x00\x00\x04\xEA\x04\xE9\x03\b\x00\x00\x04\xEB\x04-\x03\b\x00\x00\x04\xEC\x04M\x03\b\x00\x00\x04\xED\x04#\x03\x04\x00\x00\x04\xEE\x04C\x03\x04\x00\x00\x04\xEF\x04#\x03\b\x00\x00\x04\xF0\x04C\x03\b\x00\x00\x04\xF1\x04#\x03\v\x00\x00\x04\xF2\x04C\x03\v\x00\x00\x04\xF3\x04'\x03\b\x00\x00\x04\xF4\x04G\x03\b\x00\x00\x04\xF5\x04+\x03\b\x00\x00\x04\xF8\x04K\x03\b\x00\x00\x04\xF9\x06'\x06S\x00\x00\x06\"\x06'\x06T\x00\x00\x06#\x06H\x06T\x00\x00\x06$\x06'\x06U\x00\x00\x06%\x06J\x06T\x00\x00\x06&\x06\xD5\x06T\x00\x00\x06\xC0\x06\xC1\x06T\x00\x00\x06\xC2\x06\xD2\x06T\x00\x00\x06\xD3\t(\t<\x00\x00\t)\t0\t<\x00\x00\t1\t3\t<\x00\x00\t4\t\xC7\t\xBE\x00\x00\t\xCB\t\xC7\t\xD7\x00\x00\t\xCC\vG\vV\x00\x00\vH\vG\v>\x00\x00\vK\vG\vW\x00\x00\vL\v\x92\v\xD7\x00\x00\v\x94\v\xC6\v\xBE\x00\x00\v\xCA\v\xC7\v\xBE\x00\x00\v\xCB\v\xC6\v\xD7\x00\x00\v\xCC\fF\fV\x00\x00\fH\f\xBF\f\xD5\x00\x00\f\xC0\f\xC6\f\xD5\x00\x00\f\xC7\f\xC6\f\xD6\x00\x00\f\xC8\f\xC6\f\xC2\x00\x00\f\xCA\f\xCA\f\xD5\x00\x00\f\xCB\rF\r>\x00\x00\rJ\rG\r>\x00\x00\rK\rF\rW\x00\x00\rL\r\xD9\r\xCA\x00\x00\r\xDA\r\xD9\r\xCF\x00\x00\r\xDC\r\xDC\r\xCA\x00\x00\r\xDD\r\xD9\r\xDF\x00\x00\r\xDE\x10%\x10.\x00\x00\x10&\x1B\x05\x1B5\x00\x00\x1B\x06\x1B\x07\x1B5\x00\x00\x1B\b\x1B\t\x1B5\x00\x00\x1B\n\x1B\v\x1B5\x00\x00\x1B\f\x1B\r\x1B5\x00\x00\x1B\x0E\x1B\x11\x1B5\x00\x00\x1B\x12\x1B:\x1B5\x00\x00\x1B;\x1B<\x1B5\x00\x00\x1B=\x1B>\x1B5\x00\x00\x1B@\x1B?\x1B5\x00\x00\x1BA\x1BB\x1B5\x00\x00\x1BC\x00A\x03%\x00\x00\x1E\x00\x00a\x03%\x00\x00\x1E\x01\x00B\x03\x07\x00\x00\x1E\x02\x00b\x03\x07\x00\x00\x1E\x03\x00B\x03#\x00\x00\x1E\x04\x00b\x03#\x00\x00\x1E\x05\x00B\x031\x00\x00\x1E\x06\x00b\x031\x00\x00\x1E\x07\x00\xC7\x03\x01\x00\x00\x1E\b\x00\xE7\x03\x01\x00\x00\x1E\t\x00D\x03\x07\x00\x00\x1E\n\x00d\x03\x07\x00\x00\x1E\v\x00D\x03#\x00\x00\x1E\f\x00d\x03#\x00\x00\x1E\r\x00D\x031\x00\x00\x1E\x0E\x00d\x031\x00\x00\x1E\x0F\x00D\x03'\x00\x00\x1E\x10\x00d\x03'\x00\x00\x1E\x11\x00D\x03-\x00\x00\x1E\x12\x00d\x03-\x00\x00\x1E\x13\x01\x12\x03\x00\x00\x00\x1E\x14\x01\x13\x03\x00\x00\x00\x1E\x15\x01\x12\x03\x01\x00\x00\x1E\x16\x01\x13\x03\x01\x00\x00\x1E\x17\x00E\x03-\x00\x00\x1E\x18\x00e\x03-\x00\x00\x1E\x19\x00E\x030\x00\x00\x1E\x1A\x00e\x030\x00\x00\x1E\x1B\x02(\x03\x06\x00\x00\x1E\x1C\x02)\x03\x06\x00\x00\x1E\x1D\x00F\x03\x07\x00\x00\x1E\x1E\x00f\x03\x07\x00\x00\x1E\x1F\x00G\x03\x04\x00\x00\x1E \x00g\x03\x04\x00\x00\x1E!\x00H\x03\x07\x00\x00\x1E\"\x00h\x03\x07\x00\x00\x1E#\x00H\x03#\x00\x00\x1E$\x00h\x03#\x00\x00\x1E%\x00H\x03\b\x00\x00\x1E&\x00h\x03\b\x00\x00\x1E'\x00H\x03'\x00\x00\x1E(\x00h\x03'\x00\x00\x1E)\x00H\x03.\x00\x00\x1E*\x00h\x03.\x00\x00\x1E+\x00I\x030\x00\x00\x1E,\x00i\x030\x00\x00\x1E-\x00\xCF\x03\x01\x00\x00\x1E.\x00\xEF\x03\x01\x00\x00\x1E/\x00K\x03\x01\x00\x00\x1E0\x00k\x03\x01\x00\x00\x1E1\x00K\x03#\x00\x00\x1E2\x00k\x03#\x00\x00\x1E3\x00K\x031\x00\x00\x1E4\x00k\x031\x00\x00\x1E5\x00L\x03#\x00\x00\x1E6\x00l\x03#\x00\x00\x1E7\x1E6\x03\x04\x00\x00\x1E8\x1E7\x03\x04\x00\x00\x1E9\x00L\x031\x00\x00\x1E:\x00l\x031\x00\x00\x1E;\x00L\x03-\x00\x00\x1E<\x00l\x03-\x00\x00\x1E=\x00M\x03\x01\x00\x00\x1E>\x00m\x03\x01\x00\x00\x1E?\x00M\x03\x07\x00\x00\x1E@\x00m\x03\x07\x00\x00\x1EA\x00M\x03#\x00\x00\x1EB\x00m\x03#\x00\x00\x1EC\x00N\x03\x07\x00\x00\x1ED\x00n\x03\x07\x00\x00\x1EE\x00N\x03#\x00\x00\x1EF\x00n\x03#\x00\x00\x1EG\x00N\x031\x00\x00\x1EH\x00n\x031\x00\x00\x1EI\x00N\x03-\x00\x00\x1EJ\x00n\x03-\x00\x00\x1EK\x00\xD5\x03\x01\x00\x00\x1EL\x00\xF5\x03\x01\x00\x00\x1EM\x00\xD5\x03\b\x00\x00\x1EN\x00\xF5\x03\b\x00\x00\x1EO\x01L\x03\x00\x00\x00\x1EP\x01M\x03\x00\x00\x00\x1EQ\x01L\x03\x01\x00\x00\x1ER\x01M\x03\x01\x00\x00\x1ES\x00P\x03\x01\x00\x00\x1ET\x00p\x03\x01\x00\x00\x1EU\x00P\x03\x07\x00\x00\x1EV\x00p\x03\x07\x00\x00\x1EW\x00R\x03\x07\x00\x00\x1EX\x00r\x03\x07\x00\x00\x1EY\x00R\x03#\x00\x00\x1EZ\x00r\x03#\x00\x00\x1E[\x1EZ\x03\x04\x00\x00\x1E\\\x1E[\x03\x04\x00\x00\x1E]\x00R\x031\x00\x00\x1E^\x00r\x031\x00\x00\x1E_\x00S\x03\x07\x00\x00\x1E`\x00s\x03\x07\x00\x00\x1Ea\x00S\x03#\x00\x00\x1Eb\x00s\x03#\x00\x00\x1Ec\x01Z\x03\x07\x00\x00\x1Ed\x01[\x03\x07\x00\x00\x1Ee\x01`\x03\x07\x00\x00\x1Ef\x01a\x03\x07\x00\x00\x1Eg\x1Eb\x03\x07\x00\x00\x1Eh\x1Ec\x03\x07\x00\x00\x1Ei\x00T\x03\x07\x00\x00\x1Ej\x00t\x03\x07\x00\x00\x1Ek\x00T\x03#\x00\x00\x1El\x00t\x03#\x00\x00\x1Em\x00T\x031\x00\x00\x1En\x00t\x031\x00\x00\x1Eo\x00T\x03-\x00\x00\x1Ep\x00t\x03-\x00\x00\x1Eq\x00U\x03$\x00\x00\x1Er\x00u\x03$\x00\x00\x1Es\x00U\x030\x00\x00\x1Et\x00u\x030\x00\x00\x1Eu\x00U\x03-\x00\x00\x1Ev\x00u\x03-\x00\x00\x1Ew\x01h\x03\x01\x00\x00\x1Ex\x01i\x03\x01\x00\x00\x1Ey\x01j\x03\b\x00\x00\x1Ez\x01k\x03\b\x00\x00\x1E{\x00V\x03\x03\x00\x00\x1E|\x00v\x03\x03\x00\x00\x1E}\x00V\x03#\x00\x00\x1E~\x00v\x03#\x00\x00\x1E\x7F\x00W\x03\x00\x00\x00\x1E\x80\x00w\x03\x00\x00\x00\x1E\x81\x00W\x03\x01\x00\x00\x1E\x82\x00w\x03\x01\x00\x00\x1E\x83\x00W\x03\b\x00\x00\x1E\x84\x00w\x03\b\x00\x00\x1E\x85\x00W\x03\x07\x00\x00\x1E\x86\x00w\x03\x07\x00\x00\x1E\x87\x00W\x03#\x00\x00\x1E\x88\x00w\x03#\x00\x00\x1E\x89\x00X\x03\x07\x00\x00\x1E\x8A\x00x\x03\x07\x00\x00\x1E\x8B\x00X\x03\b\x00\x00\x1E\x8C\x00x\x03\b\x00\x00\x1E\x8D\x00Y\x03\x07\x00\x00\x1E\x8E\x00y\x03\x07\x00\x00\x1E\x8F\x00Z\x03\x02\x00\x00\x1E\x90\x00z\x03\x02\x00\x00\x1E\x91\x00Z\x03#\x00\x00\x1E\x92\x00z\x03#\x00\x00\x1E\x93\x00Z\x031\x00\x00\x1E\x94\x00z\x031\x00\x00\x1E\x95\x00h\x031\x00\x00\x1E\x96\x00t\x03\b\x00\x00\x1E\x97\x00w\x03\n\x00\x00\x1E\x98\x00y\x03\n\x00\x00\x1E\x99\x01\x7F\x03\x07\x00\x00\x1E\x9B\x00A\x03#\x00\x00\x1E\xA0\x00a\x03#\x00\x00\x1E\xA1\x00A\x03\t\x00\x00\x1E\xA2\x00a\x03\t\x00\x00\x1E\xA3\x00\xC2\x03\x01\x00\x00\x1E\xA4\x00\xE2\x03\x01\x00\x00\x1E\xA5\x00\xC2\x03\x00\x00\x00\x1E\xA6\x00\xE2\x03\x00\x00\x00\x1E\xA7\x00\xC2\x03\t\x00\x00\x1E\xA8\x00\xE2\x03\t\x00\x00\x1E\xA9\x00\xC2\x03\x03\x00\x00\x1E\xAA\x00\xE2\x03\x03\x00\x00\x1E\xAB\x1E\xA0\x03\x02\x00\x00\x1E\xAC\x1E\xA1\x03\x02\x00\x00\x1E\xAD\x01\x02\x03\x01\x00\x00\x1E\xAE\x01\x03\x03\x01\x00\x00\x1E\xAF\x01\x02\x03\x00\x00\x00\x1E\xB0\x01\x03\x03\x00\x00\x00\x1E\xB1\x01\x02\x03\t\x00\x00\x1E\xB2\x01\x03\x03\t\x00\x00\x1E\xB3\x01\x02\x03\x03\x00\x00\x1E\xB4\x01\x03\x03\x03\x00\x00\x1E\xB5\x1E\xA0\x03\x06\x00\x00\x1E\xB6\x1E\xA1\x03\x06\x00\x00\x1E\xB7\x00E\x03#\x00\x00\x1E\xB8\x00e\x03#\x00\x00\x1E\xB9\x00E\x03\t\x00\x00\x1E\xBA\x00e\x03\t\x00\x00\x1E\xBB\x00E\x03\x03\x00\x00\x1E\xBC\x00e\x03\x03\x00\x00\x1E\xBD\x00\xCA\x03\x01\x00\x00\x1E\xBE\x00\xEA\x03\x01\x00\x00\x1E\xBF\x00\xCA\x03\x00\x00\x00\x1E\xC0\x00\xEA\x03\x00\x00\x00\x1E\xC1\x00\xCA\x03\t\x00\x00\x1E\xC2\x00\xEA\x03\t\x00\x00\x1E\xC3\x00\xCA\x03\x03\x00\x00\x1E\xC4\x00\xEA\x03\x03\x00\x00\x1E\xC5\x1E\xB8\x03\x02\x00\x00\x1E\xC6\x1E\xB9\x03\x02\x00\x00\x1E\xC7\x00I\x03\t\x00\x00\x1E\xC8\x00i\x03\t\x00\x00\x1E\xC9\x00I\x03#\x00\x00\x1E\xCA\x00i\x03#\x00\x00\x1E\xCB\x00O\x03#\x00\x00\x1E\xCC\x00o\x03#\x00\x00\x1E\xCD\x00O\x03\t\x00\x00\x1E\xCE\x00o\x03\t\x00\x00\x1E\xCF\x00\xD4\x03\x01\x00\x00\x1E\xD0\x00\xF4\x03\x01\x00\x00\x1E\xD1\x00\xD4\x03\x00\x00\x00\x1E\xD2\x00\xF4\x03\x00\x00\x00\x1E\xD3\x00\xD4\x03\t\x00\x00\x1E\xD4\x00\xF4\x03\t\x00\x00\x1E\xD5\x00\xD4\x03\x03\x00\x00\x1E\xD6\x00\xF4\x03\x03\x00\x00\x1E\xD7\x1E\xCC\x03\x02\x00\x00\x1E\xD8\x1E\xCD\x03\x02\x00\x00\x1E\xD9\x01\xA0\x03\x01\x00\x00\x1E\xDA\x01\xA1\x03\x01\x00\x00\x1E\xDB\x01\xA0\x03\x00\x00\x00\x1E\xDC\x01\xA1\x03\x00\x00\x00\x1E\xDD\x01\xA0\x03\t\x00\x00\x1E\xDE\x01\xA1\x03\t\x00\x00\x1E\xDF\x01\xA0\x03\x03\x00\x00\x1E\xE0\x01\xA1\x03\x03\x00\x00\x1E\xE1\x01\xA0\x03#\x00\x00\x1E\xE2\x01\xA1\x03#\x00\x00\x1E\xE3\x00U\x03#\x00\x00\x1E\xE4\x00u\x03#\x00\x00\x1E\xE5\x00U\x03\t\x00\x00\x1E\xE6\x00u\x03\t\x00\x00\x1E\xE7\x01\xAF\x03\x01\x00\x00\x1E\xE8\x01\xB0\x03\x01\x00\x00\x1E\xE9\x01\xAF\x03\x00\x00\x00\x1E\xEA\x01\xB0\x03\x00\x00\x00\x1E\xEB\x01\xAF\x03\t\x00\x00\x1E\xEC\x01\xB0\x03\t\x00\x00\x1E\xED\x01\xAF\x03\x03\x00\x00\x1E\xEE\x01\xB0\x03\x03\x00\x00\x1E\xEF\x01\xAF\x03#\x00\x00\x1E\xF0\x01\xB0\x03#\x00\x00\x1E\xF1\x00Y\x03\x00\x00\x00\x1E\xF2\x00y\x03\x00\x00\x00\x1E\xF3\x00Y\x03#\x00\x00\x1E\xF4\x00y\x03#\x00\x00\x1E\xF5\x00Y\x03\t\x00\x00\x1E\xF6\x00y\x03\t\x00\x00\x1E\xF7\x00Y\x03\x03\x00\x00\x1E\xF8\x00y\x03\x03\x00\x00\x1E\xF9\x03\xB1\x03\x13\x00\x00\x1F\x00\x03\xB1\x03\x14\x00\x00\x1F\x01\x1F\x00\x03\x00\x00\x00\x1F\x02\x1F\x01\x03\x00\x00\x00\x1F\x03\x1F\x00\x03\x01\x00\x00\x1F\x04\x1F\x01\x03\x01\x00\x00\x1F\x05\x1F\x00\x03B\x00\x00\x1F\x06\x1F\x01\x03B\x00\x00\x1F\x07\x03\x91\x03\x13\x00\x00\x1F\b\x03\x91\x03\x14\x00\x00\x1F\t\x1F\b\x03\x00\x00\x00\x1F\n\x1F\t\x03\x00\x00\x00\x1F\v\x1F\b\x03\x01\x00\x00\x1F\f\x1F\t\x03\x01\x00\x00\x1F\r\x1F\b\x03B\x00\x00\x1F\x0E\x1F\t\x03B\x00\x00\x1F\x0F\x03\xB5\x03\x13\x00\x00\x1F\x10\x03\xB5\x03\x14\x00\x00\x1F\x11\x1F\x10\x03\x00\x00\x00\x1F\x12\x1F\x11\x03\x00\x00\x00\x1F\x13\x1F\x10\x03\x01\x00\x00\x1F\x14\x1F\x11\x03\x01\x00\x00\x1F\x15\x03\x95\x03\x13\x00\x00\x1F\x18\x03\x95\x03\x14\x00\x00\x1F\x19\x1F\x18\x03\x00\x00\x00\x1F\x1A\x1F\x19\x03\x00\x00\x00\x1F\x1B\x1F\x18\x03\x01\x00\x00\x1F\x1C\x1F\x19\x03\x01\x00\x00\x1F\x1D\x03\xB7\x03\x13\x00\x00\x1F \x03\xB7\x03\x14\x00\x00\x1F!\x1F \x03\x00\x00\x00\x1F\"\x1F!\x03\x00\x00\x00\x1F#\x1F \x03\x01\x00\x00\x1F$\x1F!\x03\x01\x00\x00\x1F%\x1F \x03B\x00\x00\x1F&\x1F!\x03B\x00\x00\x1F'\x03\x97\x03\x13\x00\x00\x1F(\x03\x97\x03\x14\x00\x00\x1F)\x1F(\x03\x00\x00\x00\x1F*\x1F)\x03\x00\x00\x00\x1F+\x1F(\x03\x01\x00\x00\x1F,\x1F)\x03\x01\x00\x00\x1F-\x1F(\x03B\x00\x00\x1F.\x1F)\x03B\x00\x00\x1F/\x03\xB9\x03\x13\x00\x00\x1F0\x03\xB9\x03\x14\x00\x00\x1F1\x1F0\x03\x00\x00\x00\x1F2\x1F1\x03\x00\x00\x00\x1F3\x1F0\x03\x01\x00\x00\x1F4\x1F1\x03\x01\x00\x00\x1F5\x1F0\x03B\x00\x00\x1F6\x1F1\x03B\x00\x00\x1F7\x03\x99\x03\x13\x00\x00\x1F8\x03\x99\x03\x14\x00\x00\x1F9\x1F8\x03\x00\x00\x00\x1F:\x1F9\x03\x00\x00\x00\x1F;\x1F8\x03\x01\x00\x00\x1F<\x1F9\x03\x01\x00\x00\x1F=\x1F8\x03B\x00\x00\x1F>\x1F9\x03B\x00\x00\x1F?\x03\xBF\x03\x13\x00\x00\x1F@\x03\xBF\x03\x14\x00\x00\x1FA\x1F@\x03\x00\x00\x00\x1FB\x1FA\x03\x00\x00\x00\x1FC\x1F@\x03\x01\x00\x00\x1FD\x1FA\x03\x01\x00\x00\x1FE\x03\x9F\x03\x13\x00\x00\x1FH\x03\x9F\x03\x14\x00\x00\x1FI\x1FH\x03\x00\x00\x00\x1FJ\x1FI\x03\x00\x00\x00\x1FK\x1FH\x03\x01\x00\x00\x1FL\x1FI\x03\x01\x00\x00\x1FM\x03\xC5\x03\x13\x00\x00\x1FP\x03\xC5\x03\x14\x00\x00\x1FQ\x1FP\x03\x00\x00\x00\x1FR\x1FQ\x03\x00\x00\x00\x1FS\x1FP\x03\x01\x00\x00\x1FT\x1FQ\x03\x01\x00\x00\x1FU\x1FP\x03B\x00\x00\x1FV\x1FQ\x03B\x00\x00\x1FW\x03\xA5\x03\x14\x00\x00\x1FY\x1FY\x03\x00\x00\x00\x1F[\x1FY\x03\x01\x00\x00\x1F]\x1FY\x03B\x00\x00\x1F_\x03\xC9\x03\x13\x00\x00\x1F`\x03\xC9\x03\x14\x00\x00\x1Fa\x1F`\x03\x00\x00\x00\x1Fb\x1Fa\x03\x00\x00\x00\x1Fc\x1F`\x03\x01\x00\x00\x1Fd\x1Fa\x03\x01\x00\x00\x1Fe\x1F`\x03B\x00\x00\x1Ff\x1Fa\x03B\x00\x00\x1Fg\x03\xA9\x03\x13\x00\x00\x1Fh\x03\xA9\x03\x14\x00\x00\x1Fi\x1Fh\x03\x00\x00\x00\x1Fj\x1Fi\x03\x00\x00\x00\x1Fk\x1Fh\x03\x01\x00\x00\x1Fl\x1Fi\x03\x01\x00\x00\x1Fm\x1Fh\x03B\x00\x00\x1Fn\x1Fi\x03B\x00\x00\x1Fo\x03\xB1\x03\x00\x00\x00\x1Fp\x03\xB5\x03\x00\x00\x00\x1Fr\x03\xB7\x03\x00\x00\x00\x1Ft\x03\xB9\x03\x00\x00\x00\x1Fv\x03\xBF\x03\x00\x00\x00\x1Fx\x03\xC5\x03\x00\x00\x00\x1Fz\x03\xC9\x03\x00\x00\x00\x1F|\x1F\x00\x03E\x00\x00\x1F\x80\x1F\x01\x03E\x00\x00\x1F\x81\x1F\x02\x03E\x00\x00\x1F\x82\x1F\x03\x03E\x00\x00\x1F\x83\x1F\x04\x03E\x00\x00\x1F\x84\x1F\x05\x03E\x00\x00\x1F\x85\x1F\x06\x03E\x00\x00\x1F\x86\x1F\x07\x03E\x00\x00\x1F\x87\x1F\b\x03E\x00\x00\x1F\x88\x1F\t\x03E\x00\x00\x1F\x89\x1F\n\x03E\x00\x00\x1F\x8A\x1F\v\x03E\x00\x00\x1F\x8B\x1F\f\x03E\x00\x00\x1F\x8C\x1F\r\x03E\x00\x00\x1F\x8D\x1F\x0E\x03E\x00\x00\x1F\x8E\x1F\x0F\x03E\x00\x00\x1F\x8F\x1F \x03E\x00\x00\x1F\x90\x1F!\x03E\x00\x00\x1F\x91\x1F\"\x03E\x00\x00\x1F\x92\x1F#\x03E\x00\x00\x1F\x93\x1F$\x03E\x00\x00\x1F\x94\x1F%\x03E\x00\x00\x1F\x95\x1F&\x03E\x00\x00\x1F\x96\x1F'\x03E\x00\x00\x1F\x97\x1F(\x03E\x00\x00\x1F\x98\x1F)\x03E\x00\x00\x1F\x99\x1F*\x03E\x00\x00\x1F\x9A\x1F+\x03E\x00\x00\x1F\x9B\x1F,\x03E\x00\x00\x1F\x9C\x1F-\x03E\x00\x00\x1F\x9D\x1F.\x03E\x00\x00\x1F\x9E\x1F/\x03E\x00\x00\x1F\x9F\x1F`\x03E\x00\x00\x1F\xA0\x1Fa\x03E\x00\x00\x1F\xA1\x1Fb\x03E\x00\x00\x1F\xA2\x1Fc\x03E\x00\x00\x1F\xA3\x1Fd\x03E\x00\x00\x1F\xA4\x1Fe\x03E\x00\x00\x1F\xA5\x1Ff\x03E\x00\x00\x1F\xA6\x1Fg\x03E\x00\x00\x1F\xA7\x1Fh\x03E\x00\x00\x1F\xA8\x1Fi\x03E\x00\x00\x1F\xA9\x1Fj\x03E\x00\x00\x1F\xAA\x1Fk\x03E\x00\x00\x1F\xAB\x1Fl\x03E\x00\x00\x1F\xAC\x1Fm\x03E\x00\x00\x1F\xAD\x1Fn\x03E\x00\x00\x1F\xAE\x1Fo\x03E\x00\x00\x1F\xAF\x03\xB1\x03\x06\x00\x00\x1F\xB0\x03\xB1\x03\x04\x00\x00\x1F\xB1\x1Fp\x03E\x00\x00\x1F\xB2\x03\xB1\x03E\x00\x00\x1F\xB3\x03\xAC\x03E\x00\x00\x1F\xB4\x03\xB1\x03B\x00\x00\x1F\xB6\x1F\xB6\x03E\x00\x00\x1F\xB7\x03\x91\x03\x06\x00\x00\x1F\xB8\x03\x91\x03\x04\x00\x00\x1F\xB9\x03\x91\x03\x00\x00\x00\x1F\xBA\x03\x91\x03E\x00\x00\x1F\xBC\x00\xA8\x03B\x00\x00\x1F\xC1\x1Ft\x03E\x00\x00\x1F\xC2\x03\xB7\x03E\x00\x00\x1F\xC3\x03\xAE\x03E\x00\x00\x1F\xC4\x03\xB7\x03B\x00\x00\x1F\xC6\x1F\xC6\x03E\x00\x00\x1F\xC7\x03\x95\x03\x00\x00\x00\x1F\xC8\x03\x97\x03\x00\x00\x00\x1F\xCA\x03\x97\x03E\x00\x00\x1F\xCC\x1F\xBF\x03\x00\x00\x00\x1F\xCD\x1F\xBF\x03\x01\x00\x00\x1F\xCE\x1F\xBF\x03B\x00\x00\x1F\xCF\x03\xB9\x03\x06\x00\x00\x1F\xD0\x03\xB9\x03\x04\x00\x00\x1F\xD1\x03\xCA\x03\x00\x00\x00\x1F\xD2\x03\xB9\x03B\x00\x00\x1F\xD6\x03\xCA\x03B\x00\x00\x1F\xD7\x03\x99\x03\x06\x00\x00\x1F\xD8\x03\x99\x03\x04\x00\x00\x1F\xD9\x03\x99\x03\x00\x00\x00\x1F\xDA\x1F\xFE\x03\x00\x00\x00\x1F\xDD\x1F\xFE\x03\x01\x00\x00\x1F\xDE\x1F\xFE\x03B\x00\x00\x1F\xDF\x03\xC5\x03\x06\x00\x00\x1F\xE0\x03\xC5\x03\x04\x00\x00\x1F\xE1\x03\xCB\x03\x00\x00\x00\x1F\xE2\x03\xC1\x03\x13\x00\x00\x1F\xE4\x03\xC1\x03\x14\x00\x00\x1F\xE5\x03\xC5\x03B\x00\x00\x1F\xE6\x03\xCB\x03B\x00\x00\x1F\xE7\x03\xA5\x03\x06\x00\x00\x1F\xE8\x03\xA5\x03\x04\x00\x00\x1F\xE9\x03\xA5\x03\x00\x00\x00\x1F\xEA\x03\xA1\x03\x14\x00\x00\x1F\xEC\x00\xA8\x03\x00\x00\x00\x1F\xED\x1F|\x03E\x00\x00\x1F\xF2\x03\xC9\x03E\x00\x00\x1F\xF3\x03\xCE\x03E\x00\x00\x1F\xF4\x03\xC9\x03B\x00\x00\x1F\xF6\x1F\xF6\x03E\x00\x00\x1F\xF7\x03\x9F\x03\x00\x00\x00\x1F\xF8\x03\xA9\x03\x00\x00\x00\x1F\xFA\x03\xA9\x03E\x00\x00\x1F\xFC!\x90\x038\x00\x00!\x9A!\x92\x038\x00\x00!\x9B!\x94\x038\x00\x00!\xAE!\xD0\x038\x00\x00!\xCD!\xD4\x038\x00\x00!\xCE!\xD2\x038\x00\x00!\xCF\"\x03\x038\x00\x00\"\x04\"\b\x038\x00\x00\"\t\"\v\x038\x00\x00\"\f\"#\x038\x00\x00\"$\"%\x038\x00\x00\"&\"<\x038\x00\x00\"A\"C\x038\x00\x00\"D\"E\x038\x00\x00\"G\"H\x038\x00\x00\"I\x00=\x038\x00\x00\"`\"a\x038\x00\x00\"b\"M\x038\x00\x00\"m\x00<\x038\x00\x00\"n\x00>\x038\x00\x00\"o\"d\x038\x00\x00\"p\"e\x038\x00\x00\"q\"r\x038\x00\x00\"t\"s\x038\x00\x00\"u\"v\x038\x00\x00\"x\"w\x038\x00\x00\"y\"z\x038\x00\x00\"\x80\"{\x038\x00\x00\"\x81\"\x82\x038\x00\x00\"\x84\"\x83\x038\x00\x00\"\x85\"\x86\x038\x00\x00\"\x88\"\x87\x038\x00\x00\"\x89\"\xA2\x038\x00\x00\"\xAC\"\xA8\x038\x00\x00\"\xAD\"\xA9\x038\x00\x00\"\xAE\"\xAB\x038\x00\x00\"\xAF\"|\x038\x00\x00\"\xE0\"}\x038\x00\x00\"\xE1\"\x91\x038\x00\x00\"\xE2\"\x92\x038\x00\x00\"\xE3\"\xB2\x038\x00\x00\"\xEA\"\xB3\x038\x00\x00\"\xEB\"\xB4\x038\x00\x00\"\xEC\"\xB5\x038\x00\x00\"\xED0K0\x99\x00\x000L0M0\x99\x00\x000N0O0\x99\x00\x000P0Q0\x99\x00\x000R0S0\x99\x00\x000T0U0\x99\x00\x000V0W0\x99\x00\x000X0Y0\x99\x00\x000Z0[0\x99\x00\x000\\0]0\x99\x00\x000^0_0\x99\x00\x000`0a0\x99\x00\x000b0d0\x99\x00\x000e0f0\x99\x00\x000g0h0\x99\x00\x000i0o0\x99\x00\x000p0o0\x9A\x00\x000q0r0\x99\x00\x000s0r0\x9A\x00\x000t0u0\x99\x00\x000v0u0\x9A\x00\x000w0x0\x99\x00\x000y0x0\x9A\x00\x000z0{0\x99\x00\x000|0{0\x9A\x00\x000}0F0\x99\x00\x000\x940\x9D0\x99\x00\x000\x9E0\xAB0\x99\x00\x000\xAC0\xAD0\x99\x00\x000\xAE0\xAF0\x99\x00\x000\xB00\xB10\x99\x00\x000\xB20\xB30\x99\x00\x000\xB40\xB50\x99\x00\x000\xB60\xB70\x99\x00\x000\xB80\xB90\x99\x00\x000\xBA0\xBB0\x99\x00\x000\xBC0\xBD0\x99\x00\x000\xBE0\xBF0\x99\x00\x000\xC00\xC10\x99\x00\x000\xC20\xC40\x99\x00\x000\xC50\xC60\x99\x00\x000\xC70\xC80\x99\x00\x000\xC90\xCF0\x99\x00\x000\xD00\xCF0\x9A\x00\x000\xD10\xD20\x99\x00\x000\xD30\xD20\x9A\x00\x000\xD40\xD50\x99\x00\x000\xD60\xD50\x9A\x00\x000\xD70\xD80\x99\x00\x000\xD90\xD80\x9A\x00\x000\xDA0\xDB0\x99\x00\x000\xDC0\xDB0\x9A\x00\x000\xDD0\xA60\x99\x00\x000\xF40\xEF0\x99\x00\x000\xF70\xF00\x99\x00\x000\xF80\xF10\x99\x00\x000\xF90\xF20\x99\x00\x000\xFA0\xFD0\x99\x00\x000\xFE\x10\x99\x10\xBA\x00\x01\x10\x9A\x10\x9B\x10\xBA\x00\x01\x10\x9C\x10\xA5\x10\xBA\x00\x01\x10\xAB\x111\x11'\x00\x01\x11.\x112\x11'\x00\x01\x11/\x13G\x13>\x00\x01\x13K\x13G\x13W\x00\x01\x13L\x14\xB9\x14\xBA\x00\x01\x14\xBB\x14\xB9\x14\xB0\x00\x01\x14\xBC\x14\xB9\x14\xBD\x00\x01\x14\xBE\x15\xB8\x15\xAF\x00\x01\x15\xBA\x15\xB9\x15\xAF\x00\x01\x15\xBB\x195\x190\x00\x01\x198",b,(b+8>>0)));c=$clone(F.BigEndian,F.bigEndian).Uint32($subslice(new CI(a),0,4));d=$clone(F.BigEndian,F.bigEndian).Uint32($subslice(new CI(a),4));e=c;(AC||$throwRuntimeError("assignment to entry in nil map"))[$Uint32.keyFor(e)]={k:e,v:((d>>0))};b=b+(8)>>0;}};BN=function(a,b){var a,b,c,d;c=(((((a<<16>>>16))>>>0))<<16>>>0)+((((b<<16>>>16))>>>0))>>>0;if(AC===false){$panic(new $String("caller error"));}return(d=AC[$Uint32.keyFor(c)],d!==undefined?d.v:0);};BO=function(a,b){var a,b,c,d,e;c=a.charinfoNFC(b);d=c[0];e=c[1];return BQ(d,e);};BP=function(a,b){var a,b,c,d,e;c=a.charinfoNFKC(b);d=c[0];e=c[1];return BQ(d,e);};AG.prototype.Properties=function(a){var a,b,c,d;b=this.$val;if((b===0)||(b===1)){c=K.lookup(a);return BQ(c[0],c[1]);}d=L.lookup(a);return BQ(d[0],d[1]);};$ptrType(AG).prototype.Properties=function(a){return new AG(this.$get()).Properties(a);};AG.prototype.PropertiesString=function(a){var a,b,c,d;b=this.$val;if((b===0)||(b===1)){c=K.lookupString(a);return BQ(c[0],c[1]);}d=L.lookupString(a);return BQ(d[0],d[1]);};$ptrType(AG).prototype.PropertiesString=function(a){return new AG(this.$get()).PropertiesString(a);};BQ=function(a,b){var a,b,c,d,e,f,g,h;if(a===0){return new BH.ptr(0,((b<<24>>>24)),0,0,0,0,0);}else if(a>=32768){c=new BH.ptr(0,((b<<24>>>24)),((a<<24>>>24)),((a<<24>>>24)),0,(((a>>>8<<16>>>16)<<24>>>24)),0);if(c.ccc>0||$clone(c,BH).combinesBackward()){c.nLead=((((c.flags&3)>>>0)<<24>>>24));}return c;}d=((a<0||a>=P.length)?($throwRuntimeError("index out of range"),undefined):P[a]);e=(((((((d&192)>>>0)<<24>>>24))>>>2<<24>>>24))|4)>>>0;f=new BH.ptr(0,((b<<24>>>24)),0,0,0,e,a);if(a>=11435){a=a+((((((d&63)>>>0)<<16>>>16))+1<<16>>>16))<<16>>>16;g=((a<0||a>=P.length)?($throwRuntimeError("index out of range"),undefined):P[a]);f.tccc=g>>>2<<24>>>24;f.flags=(f.flags|(((((g&3)>>>0)<<24>>>24))))>>>0;if(a>=18885){f.nLead=(g&3)>>>0;if(a>=19126){f.flags=(f.flags&(3))>>>0;f.index=0;return f;}f.ccc=(h=a+1<<16>>>16,((h<0||h>=P.length)?($throwRuntimeError("index out of range"),undefined):P[h]));}}return f;};$ptrType(BS).prototype.first=function(a){var a,b;b=this;b.$set((($clone(a,BH).nTrailingNonStarters()<<24>>>24)));};$ptrType(BS).prototype.next=function(a){var a,b,c;b=this;if(b.$get()>30){$panic(new $String("streamSafe was not reset"));}c=$clone(a,BH).nLeadingNonStarters();b.$set(b.$get()+(((c<<24>>>24)))<<24>>>24);if(b.$get()>30){b.$set(0);return 2;}if(c===0){b.$set((($clone(a,BH).nTrailingNonStarters()<<24>>>24)));return 1;}return 0;};$ptrType(BS).prototype.backwards=function(a){var a,b,c;b=this;if(b.$get()>30){$panic(new $String("streamSafe was not reset"));}c=b.$get()+(($clone(a,BH).nTrailingNonStarters()<<24>>>24))<<24>>>24;if(c>30){return 2;}b.$set(c);if($clone(a,BH).nLeadingNonStarters()===0){return 1;}return 0;};BS.prototype.isMax=function(){var a;a=this.$val;return a===30;};$ptrType(BS).prototype.isMax=function(){return new BS(this.$get()).isMax();};BT.ptr.prototype.init=function(a,b){var a,b,c;c=this;BJ.copy(c.f,((a<0||a>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+a]));c.src.setBytes(b);c.nsrc=b.$length;c.ss=0;};BT.prototype.init=function(a,b){return this.$val.init(a,b);};BT.ptr.prototype.initString=function(a,b){var a,b,c;c=this;BJ.copy(c.f,((a<0||a>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+a]));c.src.setString(b);c.nsrc=b.length;c.ss=0;};BT.prototype.initString=function(a,b){return this.$val.initString(a,b);};BT.ptr.prototype.setFlusher=function(a,b){var a,b,c;c=this;c.out=a;c.flushF=b;};BT.prototype.setFlusher=function(a,b){return this.$val.setFlusher(a,b);};BT.ptr.prototype.reset=function(){var a;a=this;a.nrune=0;a.nbyte=0;};BT.prototype.reset=function(){return this.$val.reset();};BT.ptr.prototype.doFlush=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.f.composing){$s=1;continue;}$s=2;continue;case 1:$r=a.compose();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:b=a.flushF(a);$s=4;case 4:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;a.reset();$s=-1;return c;}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.doFlush};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.doFlush=function(){return this.$val.doFlush();};BU=function(a){var a,b,c,d,e,f;b=0;while(true){if(!(b<a.nrune)){break;}d=(c=a.rune,((b<0||b>=c.length)?($throwRuntimeError("index out of range"),undefined):c[b])).pos;f=d+(e=a.rune,((b<0||b>=e.length)?($throwRuntimeError("index out of range"),undefined):e[b])).size<<24>>>24;a.out=$appendSlice(a.out,$subslice(new CI(a.byte$1),d,f));b=b+(1)>>0;}return true;};BT.ptr.prototype.flushCopy=function(a){var a,b,c,d,e,f;b=this;c=0;d=0;while(true){if(!(d<b.nrune)){break;}f=$clone((e=b.rune,((d<0||d>=e.length)?($throwRuntimeError("index out of range"),undefined):e[d])),BH);c=c+($copySlice($subslice(a,c),$subslice(new CI(b.byte$1),f.pos,(f.pos+f.size<<24>>>24))))>>0;d=d+(1)>>0;}b.reset();return c;};BT.prototype.flushCopy=function(a){return this.$val.flushCopy(a);};BT.ptr.prototype.insertOrdered=function(a){var a,b,c,d,e,f,g,h;b=this;c=b.nrune;d=new CN(b.rune);e=a.ccc;if(e>0){while(true){if(!(c>0)){break;}if((f=c-1>>0,((f<0||f>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+f])).ccc<=e){break;}BH.copy(((c<0||c>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+c]),(g=c-1>>0,((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g])));c=c-(1)>>0;}}b.nrune=b.nrune+(1)>>0;h=(b.nbyte);b.nbyte=b.nbyte+(4)<<24>>>24;a.pos=h;BH.copy(((c<0||c>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+c]),a);};BT.prototype.insertOrdered=function(a){return this.$val.insertOrdered(a);};BT.ptr.prototype.insertFlush=function(a,b,c){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=a.hangul(b);if(!((e===0))){d.decomposeHangul(e);$s=-1;return 0;}if($clone(c,BH).hasDecomposition()){$s=1;continue;}$s=2;continue;case 1:f=d.insertDecomposed($clone(c,BH).Decomposition());$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=4;case 4:return g;case 2:d.insertSingle($clone(a,BE),b,$clone(c,BH));$s=-1;return 0;}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.insertFlush};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.insertFlush=function(a,b,c){return this.$val.insertFlush(a,b,c);};BT.ptr.prototype.insertUnsafe=function(a,b,c){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=a.hangul(b);if(!((e===0))){d.decomposeHangul(e);}if($clone(c,BH).hasDecomposition()){$s=1;continue;}$s=2;continue;case 1:f=d.insertDecomposed($clone(c,BH).Decomposition());$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;$s=3;continue;case 2:d.insertSingle($clone(a,BE),b,$clone(c,BH));case 3:$s=-1;return;}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.insertUnsafe};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.insertUnsafe=function(a,b,c){return this.$val.insertUnsafe(a,b,c);};BT.ptr.prototype.insertDecomposed=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;b.tmpBytes.setBytes(a);c=0;case 1:if(!(c<a.$length)){$s=2;continue;}d=b.f.info($clone(b.tmpBytes,BE),c);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$clone(d,BH);if(!($clone(e,BH).BoundaryBefore()&&b.nrune>0)){f=false;$s=6;continue s;}g=b.doFlush();$s=7;case 7:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=!g;case 6:if(f){$s=4;continue;}$s=5;continue;case 4:$s=-1;return-1;case 5:c=c+($copySlice($subslice(new CI(b.byte$1),b.nbyte),$subslice(a,c,(c+((e.size>>0))>>0))))>>0;b.insertOrdered($clone(e,BH));$s=1;continue;case 2:$s=-1;return 0;}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.insertDecomposed};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.insertDecomposed=function(a){return this.$val.insertDecomposed(a);};BT.ptr.prototype.insertSingle=function(a,b,c){var a,b,c,d;d=this;a.copySlice($subslice(new CI(d.byte$1),d.nbyte),b,b+((c.size>>0))>>0);d.insertOrdered($clone(c,BH));};BT.prototype.insertSingle=function(a,b,c){return this.$val.insertSingle(a,b,c);};BT.ptr.prototype.insertCGJ=function(){var a;a=this;a.insertSingle(new BE.ptr("\xCD\x8F",CI.nil),0,new BH.ptr(0,2,0,0,0,0,0));};BT.prototype.insertCGJ=function(){return this.$val.insertCGJ();};BT.ptr.prototype.appendRune=function(a){var a,b,c,d,e,f;b=this;c=b.nbyte;d=A.EncodeRune($subslice(new CI(b.byte$1),c),(a));b.nbyte=b.nbyte+(4)<<24>>>24;BH.copy((e=b.rune,f=b.nrune,((f<0||f>=e.length)?($throwRuntimeError("index out of range"),undefined):e[f])),new BH.ptr(c,((d<<24>>>24)),0,0,0,0,0));b.nrune=b.nrune+(1)>>0;};BT.prototype.appendRune=function(a){return this.$val.appendRune(a);};BT.ptr.prototype.assignRune=function(a,b){var a,b,c,d,e,f,g;c=this;e=(d=c.rune,((a<0||a>=d.length)?($throwRuntimeError("index out of range"),undefined):d[a])).pos;f=A.EncodeRune($subslice(new CI(c.byte$1),e),(b));BH.copy((g=c.rune,((a<0||a>=g.length)?($throwRuntimeError("index out of range"),undefined):g[a])),new BH.ptr(e,((f<<24>>>24)),0,0,0,0,0));};BT.prototype.assignRune=function(a,b){return this.$val.assignRune(a,b);};BT.ptr.prototype.runeAt=function(a){var a,b,c,d,e,f;b=this;d=$clone((c=b.rune,((a<0||a>=c.length)?($throwRuntimeError("index out of range"),undefined):c[a])),BH);e=A.DecodeRune($subslice(new CI(b.byte$1),d.pos,(d.pos+d.size<<24>>>24)));f=e[0];return f;};BT.prototype.runeAt=function(a){return this.$val.runeAt(a);};BT.ptr.prototype.bytesAt=function(a){var a,b,c,d;b=this;d=$clone((c=b.rune,((a<0||a>=c.length)?($throwRuntimeError("index out of range"),undefined):c[a])),BH);return $subslice(new CI(b.byte$1),d.pos,(((d.pos>>0))+((d.size>>0))>>0));};BT.prototype.bytesAt=function(a){return this.$val.bytesAt(a);};BW=function(a){var a,b,c;if(a.$length<3){return false;}b=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]);if(b<234){return false;}c=(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]);if((b===234)){return c>=176;}else if(b<237){return true;}else if(b>237){return false;}else if(c<158){return true;}return(c===158)&&(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2])<164;};BX=function(a){var a,b,c;if(a.length<3){return false;}b=a.charCodeAt(0);if(b<234){return false;}c=a.charCodeAt(1);if((b===234)){return c>=176;}else if(b<237){return true;}else if(b>237){return false;}else if(c<158){return true;}return(c===158)&&a.charCodeAt(2)<164;};BY=function(a){var a;return((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])===225)&&(((((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])&252)>>>0))===132);};CA=function(a,b){var a,b,c,d,e,f,g;b=b-(44032)>>0;d=(c=b%28,c===c?c:$throwRuntimeError("integer divide by zero"));b=(e=b/(28),(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero"));A.EncodeRune(a,4352+(f=b/21,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero"))>>0);A.EncodeRune($subslice(a,3),4449+(g=b%21,g===g?g:$throwRuntimeError("integer divide by zero"))>>0);if(!((d===0))){A.EncodeRune($subslice(a,6),4519+d>>0);return 9;}return 6;};BT.ptr.prototype.decomposeHangul=function(a){var a,b,c,d,e,f,g;b=this;a=a-(44032)>>0;d=(c=a%28,c===c?c:$throwRuntimeError("integer divide by zero"));a=(e=a/(28),(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero"));b.appendRune(4352+(f=a/21,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero"))>>0);b.appendRune(4449+(g=a%21,g===g?g:$throwRuntimeError("integer divide by zero"))>>0);if(!((d===0))){b.appendRune(4519+d>>0);}};BT.prototype.decomposeHangul=function(a){return this.$val.decomposeHangul(a);};BT.ptr.prototype.combineHangul=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l;d=this;e=new CN(d.rune);f=d.nrune;while(true){if(!(b<f)){break;}h=(g=c-1>>0,((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g])).ccc;i=((b<0||b>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+b]).ccc;if(h===0){a=c-1>>0;}if(!((a===(c-1>>0)))&&h>=i){BH.copy(((c<0||c>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+c]),((b<0||b>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+b]));c=c+(1)>>0;}else{j=d.runeAt(a);k=d.runeAt(b);if(4352<=j&&j<4371&&4449<=k&&k<4470){d.assignRune(a,(44032+($imul(((j-4352>>0)),588))>>0)+($imul(((k-4449>>0)),28))>>0);}else if(44032<=j&&j<55204&&4519<k&&k<4547&&(((l=((j-44032>>0))%28,l===l?l:$throwRuntimeError("integer divide by zero")))===0)){d.assignRune(a,(j+k>>0)-4519>>0);}else{BH.copy(((c<0||c>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+c]),((b<0||b>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+b]));c=c+(1)>>0;}}b=b+(1)>>0;}d.nrune=c;};BT.prototype.combineHangul=function(a,b,c){return this.$val.combineHangul(a,b,c);};BT.ptr.prototype.compose=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;$r=AD.Do(BM);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=a.nrune;if(b===0){$s=-1;return;}c=1;d=new CN(a.rune);e=0;f=1;g=e;h=f;while(true){if(!(h<b)){break;}if(BY(a.bytesAt(h))){a.combineHangul(g,h,c);$s=-1;return;}i=$clone(((h<0||h>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+h]),BH);if($clone(i,BH).combinesBackward()){k=(j=c-1>>0,((j<0||j>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+j])).ccc;l=i.ccc;m=false;if(k===0){g=c-1>>0;}else{m=!((g===(c-1>>0)))&&k>=l;}if(!m){n=BN(a.runeAt(g),a.runeAt(h));if(!((n===0))){a.assignRune(g,n);h=h+(1)>>0;continue;}}}BH.copy(((c<0||c>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+c]),((h<0||h>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+h]));c=c+(1)>>0;h=h+(1)>>0;}a.nrune=c;$s=-1;return;}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.compose};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.compose=function(){return this.$val.compose();};CO.methods=[{prop:"lookup",name:"lookup",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Uint32,$Uint8],[$Uint16],false)}];CP.methods=[{prop:"lookup",name:"lookup",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([CI],[$Uint16,$Int],false)},{prop:"lookupUnsafe",name:"lookupUnsafe",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([CI],[$Uint16],false)},{prop:"lookupString",name:"lookupString",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$String],[$Uint16,$Int],false)},{prop:"lookupStringUnsafe",name:"lookupStringUnsafe",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$String],[$Uint16],false)},{prop:"lookupValue",name:"lookupValue",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Uint32,$Uint8],[$Uint16],false)}];CQ.methods=[{prop:"lookup",name:"lookup",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([CI],[$Uint16,$Int],false)},{prop:"lookupUnsafe",name:"lookupUnsafe",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([CI],[$Uint16],false)},{prop:"lookupString",name:"lookupString",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$String],[$Uint16,$Int],false)},{prop:"lookupStringUnsafe",name:"lookupStringUnsafe",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$String],[$Uint16],false)},{prop:"lookupValue",name:"lookupValue",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Uint32,$Uint8],[$Uint16],false)}];CR.methods=[{prop:"Write",name:"Write",pkg:"",typ:$funcType([CI],[$Int,$error],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)}];CS.methods=[{prop:"Read",name:"Read",pkg:"",typ:$funcType([CI],[$Int,$error],false)}];AG.methods=[{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"Transform",name:"Transform",pkg:"",typ:$funcType([CI,CI,$Bool],[$Int,$Int,$error],false)},{prop:"transform",name:"transform",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([CI,CI,$Bool],[$Int,$Int,$error],false)},{prop:"Writer",name:"Writer",pkg:"",typ:$funcType([D.Writer],[D.WriteCloser],false)},{prop:"Reader",name:"Reader",pkg:"",typ:$funcType([D.Reader],[D.Reader],false)},{prop:"Bytes",name:"Bytes",pkg:"",typ:$funcType([CI],[CI],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"IsNormal",name:"IsNormal",pkg:"",typ:$funcType([CI],[$Bool],false)},{prop:"IsNormalString",name:"IsNormalString",pkg:"",typ:$funcType([$String],[$Bool],false)},{prop:"Append",name:"Append",pkg:"",typ:$funcType([CI,CI],[CI],true)},{prop:"doAppend",name:"doAppend",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([CI,BE,$Int],[CI],false)},{prop:"AppendString",name:"AppendString",pkg:"",typ:$funcType([CI,$String],[CI],false)},{prop:"QuickSpan",name:"QuickSpan",pkg:"",typ:$funcType([CI],[$Int],false)},{prop:"Span",name:"Span",pkg:"",typ:$funcType([CI,$Bool],[$Int,$error],false)},{prop:"SpanString",name:"SpanString",pkg:"",typ:$funcType([$String,$Bool],[$Int,$error],false)},{prop:"QuickSpanString",name:"QuickSpanString",pkg:"",typ:$funcType([$String],[$Int],false)},{prop:"FirstBoundary",name:"FirstBoundary",pkg:"",typ:$funcType([CI],[$Int],false)},{prop:"firstBoundary",name:"firstBoundary",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([BE,$Int],[$Int],false)},{prop:"FirstBoundaryInString",name:"FirstBoundaryInString",pkg:"",typ:$funcType([$String],[$Int],false)},{prop:"NextBoundary",name:"NextBoundary",pkg:"",typ:$funcType([CI,$Bool],[$Int],false)},{prop:"NextBoundaryInString",name:"NextBoundaryInString",pkg:"",typ:$funcType([$String,$Bool],[$Int],false)},{prop:"nextBoundary",name:"nextBoundary",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([BE,$Int,$Bool],[$Int],false)},{prop:"LastBoundary",name:"LastBoundary",pkg:"",typ:$funcType([CI],[$Int],false)},{prop:"Properties",name:"Properties",pkg:"",typ:$funcType([CI],[BH],false)},{prop:"PropertiesString",name:"PropertiesString",pkg:"",typ:$funcType([$String],[BH],false)}];CT.methods=[{prop:"Init",name:"Init",pkg:"",typ:$funcType([AG,CI],[],false)},{prop:"InitString",name:"InitString",pkg:"",typ:$funcType([AG,$String],[],false)},{prop:"Seek",name:"Seek",pkg:"",typ:$funcType([$Int64,$Int],[$Int64,$error],false)},{prop:"returnSlice",name:"returnSlice",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Int,$Int],[CI],false)},{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[$Int],false)},{prop:"setDone",name:"setDone",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([],[],false)},{prop:"Done",name:"Done",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Next",name:"Next",pkg:"",typ:$funcType([],[CI],false)}];CU.methods=[{prop:"setBytes",name:"setBytes",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([CI],[],false)},{prop:"setString",name:"setString",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$String],[],false)},{prop:"_byte",name:"_byte",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Int],[$Uint8],false)},{prop:"skipASCII",name:"skipASCII",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Int,$Int],[$Int],false)},{prop:"skipContinuationBytes",name:"skipContinuationBytes",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Int],[$Int],false)},{prop:"appendSlice",name:"appendSlice",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([CI,$Int,$Int],[CI],false)},{prop:"copySlice",name:"copySlice",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([CI,$Int,$Int],[$Int],false)},{prop:"charinfoNFC",name:"charinfoNFC",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Int],[$Uint16,$Int],false)},{prop:"charinfoNFKC",name:"charinfoNFKC",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Int],[$Uint16,$Int],false)},{prop:"hangul",name:"hangul",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Int],[$Int32],false)}];BH.methods=[{prop:"BoundaryBefore",name:"BoundaryBefore",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"BoundaryAfter",name:"BoundaryAfter",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"isYesC",name:"isYesC",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([],[$Bool],false)},{prop:"isYesD",name:"isYesD",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([],[$Bool],false)},{prop:"combinesForward",name:"combinesForward",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([],[$Bool],false)},{prop:"combinesBackward",name:"combinesBackward",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([],[$Bool],false)},{prop:"hasDecomposition",name:"hasDecomposition",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([],[$Bool],false)},{prop:"isInert",name:"isInert",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([],[$Bool],false)},{prop:"multiSegment",name:"multiSegment",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([],[$Bool],false)},{prop:"nLeadingNonStarters",name:"nLeadingNonStarters",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([],[$Uint8],false)},{prop:"nTrailingNonStarters",name:"nTrailingNonStarters",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([],[$Uint8],false)},{prop:"Decomposition",name:"Decomposition",pkg:"",typ:$funcType([],[CI],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int],false)},{prop:"CCC",name:"CCC",pkg:"",typ:$funcType([],[$Uint8],false)},{prop:"LeadCCC",name:"LeadCCC",pkg:"",typ:$funcType([],[$Uint8],false)},{prop:"TrailCCC",name:"TrailCCC",pkg:"",typ:$funcType([],[$Uint8],false)}];CE.methods=[{prop:"quickSpan",name:"quickSpan",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([BE,$Int,$Int,$Bool],[$Int,$Bool],false)}];BS.methods=[{prop:"isMax",name:"isMax",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([],[$Bool],false)}];CJ.methods=[{prop:"first",name:"first",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([BH],[],false)},{prop:"next",name:"next",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([BH],[BR],false)},{prop:"backwards",name:"backwards",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([BH],[BR],false)}];CV.methods=[{prop:"init",name:"init",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([AG,CI],[],false)},{prop:"initString",name:"initString",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([AG,$String],[],false)},{prop:"setFlusher",name:"setFlusher",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([CI,CW],[],false)},{prop:"reset",name:"reset",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([],[],false)},{prop:"doFlush",name:"doFlush",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([],[$Bool],false)},{prop:"flush",name:"flush",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([CI],[CI],false)},{prop:"flushCopy",name:"flushCopy",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([CI],[$Int],false)},{prop:"insertOrdered",name:"insertOrdered",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([BH],[],false)},{prop:"insertFlush",name:"insertFlush",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([BE,$Int,BH],[BV],false)},{prop:"insertUnsafe",name:"insertUnsafe",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([BE,$Int,BH],[],false)},{prop:"insertDecomposed",name:"insertDecomposed",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([CI],[BV],false)},{prop:"insertSingle",name:"insertSingle",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([BE,$Int,BH],[],false)},{prop:"insertCGJ",name:"insertCGJ",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([],[],false)},{prop:"appendRune",name:"appendRune",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Int32],[],false)},{prop:"assignRune",name:"assignRune",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Int,$Int32],[],false)},{prop:"runeAt",name:"runeAt",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Int],[$Int32],false)},{prop:"bytesAt",name:"bytesAt",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Int],[CI],false)},{prop:"decomposeHangul",name:"decomposeHangul",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Int32],[],false)},{prop:"combineHangul",name:"combineHangul",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([$Int,$Int,$Int],[],false)},{prop:"compose",name:"compose",pkg:"golang.org/x/text/unicode/norm",typ:$funcType([],[],false)}];G.init("golang.org/x/text/unicode/norm",[{prop:"value",name:"value",embedded:false,exported:false,typ:$Uint16,tag:""},{prop:"lo",name:"lo",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"hi",name:"hi",embedded:false,exported:false,typ:$Uint8,tag:""}]);H.init("golang.org/x/text/unicode/norm",[{prop:"values",name:"values",embedded:false,exported:false,typ:CD,tag:""},{prop:"offset",name:"offset",embedded:false,exported:false,typ:CC,tag:""}]);Q.init("",[]);W.init("",[]);AE.init("golang.org/x/text/unicode/norm",[{prop:"rb",name:"rb",embedded:false,exported:false,typ:BT,tag:""},{prop:"w",name:"w",embedded:false,exported:false,typ:D.Writer,tag:""},{prop:"buf",name:"buf",embedded:false,exported:false,typ:CI,tag:""}]);AF.init("golang.org/x/text/unicode/norm",[{prop:"rb",name:"rb",embedded:false,exported:false,typ:BT,tag:""},{prop:"r",name:"r",embedded:false,exported:false,typ:D.Reader,tag:""},{prop:"inbuf",name:"inbuf",embedded:false,exported:false,typ:CI,tag:""},{prop:"outbuf",name:"outbuf",embedded:false,exported:false,typ:CI,tag:""},{prop:"bufStart",name:"bufStart",embedded:false,exported:false,typ:$Int,tag:""},{prop:"lastBoundary",name:"lastBoundary",embedded:false,exported:false,typ:$Int,tag:""},{prop:"err",name:"err",embedded:false,exported:false,typ:$error,tag:""}]);AQ.init("golang.org/x/text/unicode/norm",[{prop:"rb",name:"rb",embedded:false,exported:false,typ:BT,tag:""},{prop:"buf",name:"buf",embedded:false,exported:false,typ:CH,tag:""},{prop:"info",name:"info",embedded:false,exported:false,typ:BH,tag:""},{prop:"next",name:"next",embedded:false,exported:false,typ:AR,tag:""},{prop:"asciiF",name:"asciiF",embedded:false,exported:false,typ:AR,tag:""},{prop:"p",name:"p",embedded:false,exported:false,typ:$Int,tag:""},{prop:"multiSeg",name:"multiSeg",embedded:false,exported:false,typ:CI,tag:""}]);AR.init([CT],[CI],false);BE.init("golang.org/x/text/unicode/norm",[{prop:"str",name:"str",embedded:false,exported:false,typ:$String,tag:""},{prop:"bytes",name:"bytes",embedded:false,exported:false,typ:CI,tag:""}]);BH.init("golang.org/x/text/unicode/norm",[{prop:"pos",name:"pos",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"size",name:"size",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"ccc",name:"ccc",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"tccc",name:"tccc",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"nLead",name:"nLead",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"flags",name:"flags",embedded:false,exported:false,typ:BL,tag:""},{prop:"index",name:"index",embedded:false,exported:false,typ:$Uint16,tag:""}]);BI.init([BE,$Int],[BH],false);BJ.init("golang.org/x/text/unicode/norm",[{prop:"form",name:"form",embedded:false,exported:false,typ:AG,tag:""},{prop:"composing",name:"composing",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"compatibility",name:"compatibility",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"info",name:"info",embedded:false,exported:false,typ:BI,tag:""},{prop:"nextMain",name:"nextMain",embedded:false,exported:false,typ:AR,tag:""}]);BT.init("golang.org/x/text/unicode/norm",[{prop:"rune",name:"rune",embedded:false,exported:false,typ:CG,tag:""},{prop:"byte$1",name:"byte",embedded:false,exported:false,typ:CH,tag:""},{prop:"nbyte",name:"nbyte",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"ss",name:"ss",embedded:false,exported:false,typ:BS,tag:""},{prop:"nrune",name:"nrune",embedded:false,exported:false,typ:$Int,tag:""},{prop:"f",name:"f",embedded:false,exported:false,typ:BJ,tag:""},{prop:"src",name:"src",embedded:false,exported:false,typ:BE,tag:""},{prop:"nsrc",name:"nsrc",embedded:false,exported:false,typ:$Int,tag:""},{prop:"tmpBytes",name:"tmpBytes",embedded:false,exported:false,typ:BE,tag:""},{prop:"out",name:"out",embedded:false,exported:false,typ:CI,tag:""},{prop:"flushF",name:"flushF",embedded:false,exported:false,typ:CW,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=F.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AC=false;AD=new C.Once.ptr(0,new C.Mutex.ptr(0,0));K=R(0);L=X(0);N=new CB([$ifaceNil,B.ErrShortDst,B.ErrShortSrc]);O=$toNativeArray($kindUint8,[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,84,91,103,107,118,122,129,130,132,202,214,216,218,220,222,224,226,228,230,232,233,234,240]);P=$toNativeArray($kindUint8,[0,65,32,65,33,65,34,65,35,65,36,65,37,65,38,65,39,65,40,65,41,65,42,65,43,65,44,65,45,65,46,65,47,65,48,65,49,65,50,65,51,65,52,65,53,65,54,65,55,65,56,65,57,65,58,65,59,65,60,65,61,65,62,65,63,65,64,65,65,65,66,65,67,65,68,65,69,65,70,65,71,65,72,65,73,65,74,65,75,65,76,65,77,65,78,65,79,65,80,65,81,65,82,65,83,65,84,65,85,65,86,65,87,65,88,65,89,65,90,65,91,65,92,65,93,65,94,65,95,65,96,65,97,65,98,65,99,65,100,65,101,65,102,65,103,65,104,65,105,65,106,65,107,65,108,65,109,65,110,65,111,65,112,65,113,65,114,65,115,65,116,65,117,65,118,65,119,65,120,65,121,65,122,65,123,65,124,65,125,65,126,66,194,162,66,194,163,66,194,165,66,194,166,66,194,172,66,194,183,66,195,134,66,195,176,66,196,166,66,196,167,66,196,177,66,197,139,66,197,147,66,198,142,66,198,144,66,198,171,66,200,162,66,200,183,66,201,144,66,201,145,66,201,146,66,201,148,66,201,149,66,201,153,66,201,155,66,201,156,66,201,159,66,201,161,66,201,163,66,201,165,66,201,166,66,201,168,66,201,169,66,201,170,66,201,171,66,201,173,66,201,175,66,201,176,66,201,177,66,201,178,66,201,179,66,201,180,66,201,181,66,201,184,66,201,185,66,201,187,66,202,129,66,202,130,66,202,131,66,202,137,66,202,138,66,202,139,66,202,140,66,202,141,66,202,144,66,202,145,66,202,146,66,202,149,66,202,157,66,202,159,66,202,185,66,206,145,66,206,146,66,206,147,66,206,148,66,206,149,66,206,150,66,206,151,66,206,152,66,206,153,66,206,154,66,206,155,66,206,156,66,206,157,66,206,158,66,206,159,66,206,160,66,206,161,66,206,163,66,206,164,66,206,165,66,206,166,66,206,167,66,206,168,66,206,169,66,206,177,66,206,178,66,206,179,66,206,180,66,206,181,66,206,182,66,206,183,66,206,184,66,206,185,66,206,186,66,206,187,66,206,188,66,206,189,66,206,190,66,206,191,66,207,128,66,207,129,66,207,130,66,207,131,66,207,132,66,207,133,66,207,134,66,207,135,66,207,136,66,207,137,66,207,156,66,207,157,66,208,189,66,209,138,66,209,140,66,215,144,66,215,145,66,215,146,66,215,147,66,215,148,66,215,155,66,215,156,66,215,157,66,215,162,66,215,168,66,215,170,66,216,161,66,216,167,66,216,168,66,216,169,66,216,170,66,216,171,66,216,172,66,216,173,66,216,174,66,216,175,66,216,176,66,216,177,66,216,178,66,216,179,66,216,180,66,216,181,66,216,182,66,216,183,66,216,184,66,216,185,66,216,186,66,217,129,66,217,130,66,217,131,66,217,132,66,217,133,66,217,134,66,217,135,66,217,136,66,217,137,66,217,138,66,217,174,66,217,175,66,217,177,66,217,185,66,217,186,66,217,187,66,217,190,66,217,191,66,218,128,66,218,131,66,218,132,66,218,134,66,218,135,66,218,136,66,218,140,66,218,141,66,218,142,66,218,145,66,218,152,66,218,161,66,218,164,66,218,166,66,218,169,66,218,173,66,218,175,66,218,177,66,218,179,66,218,186,66,218,187,66,218,190,66,219,129,66,219,133,66,219,134,66,219,135,66,219,136,66,219,137,66,219,139,66,219,140,66,219,144,66,219,146,67,224,188,139,67,225,131,156,67,225,132,128,67,225,132,129,67,225,132,130,67,225,132,131,67,225,132,132,67,225,132,133,67,225,132,134,67,225,132,135,67,225,132,136,67,225,132,137,67,225,132,138,67,225,132,139,67,225,132,140,67,225,132,141,67,225,132,142,67,225,132,143,67,225,132,144,67,225,132,145,67,225,132,146,67,225,132,148,67,225,132,149,67,225,132,154,67,225,132,156,67,225,132,157,67,225,132,158,67,225,132,160,67,225,132,161,67,225,132,162,67,225,132,163,67,225,132,167,67,225,132,169,67,225,132,171,67,225,132,172,67,225,132,173,67,225,132,174,67,225,132,175,67,225,132,178,67,225,132,182,67,225,133,128,67,225,133,135,67,225,133,140,67,225,133,151,67,225,133,152,67,225,133,153,67,225,133,160,67,225,134,132,67,225,134,133,67,225,134,136,67,225,134,145,67,225,134,146,67,225,134,148,67,225,134,158,67,225,134,161,67,225,135,135,67,225,135,136,67,225,135,140,67,225,135,142,67,225,135,147,67,225,135,151,67,225,135,153,67,225,135,157,67,225,135,159,67,225,135,177,67,225,135,178,67,225,180,130,67,225,180,150,67,225,180,151,67,225,180,156,67,225,180,157,67,225,180,165,67,225,181,187,67,225,182,133,67,226,128,130,67,226,128,131,67,226,128,144,67,226,128,147,67,226,128,148,67,226,130,169,67,226,134,144,67,226,134,145,67,226,134,146,67,226,134,147,67,226,136,130,67,226,136,135,67,226,136,145,67,226,136,146,67,226,148,130,67,226,150,160,67,226,151,139,67,226,166,133,67,226,166,134,67,226,181,161,67,227,128,129,67,227,128,130,67,227,128,136,67,227,128,137,67,227,128,138,67,227,128,139,67,227,128,140,67,227,128,141,67,227,128,142,67,227,128,143,67,227,128,144,67,227,128,145,67,227,128,146,67,227,128,148,67,227,128,149,67,227,128,150,67,227,128,151,67,227,130,161,67,227,130,162,67,227,130,163,67,227,130,164,67,227,130,165,67,227,130,166,67,227,130,167,67,227,130,168,67,227,130,169,67,227,130,170,67,227,130,171,67,227,130,173,67,227,130,175,67,227,130,177,67,227,130,179,67,227,130,181,67,227,130,183,67,227,130,185,67,227,130,187,67,227,130,189,67,227,130,191,67,227,131,129,67,227,131,131,67,227,131,132,67,227,131,134,67,227,131,136,67,227,131,138,67,227,131,139,67,227,131,140,67,227,131,141,67,227,131,142,67,227,131,143,67,227,131,146,67,227,131,149,67,227,131,152,67,227,131,155,67,227,131,158,67,227,131,159,67,227,131,160,67,227,131,161,67,227,131,162,67,227,131,163,67,227,131,164,67,227,131,165,67,227,131,166,67,227,131,167,67,227,131,168,67,227,131,169,67,227,131,170,67,227,131,171,67,227,131,172,67,227,131,173,67,227,131,175,67,227,131,176,67,227,131,177,67,227,131,178,67,227,131,179,67,227,131,187,67,227,131,188,67,227,146,158,67,227,146,185,67,227,146,187,67,227,147,159,67,227,148,149,67,227,155,174,67,227,155,188,67,227,158,129,67,227,160,175,67,227,161,162,67,227,161,188,67,227,163,135,67,227,163,163,67,227,164,156,67,227,164,186,67,227,168,174,67,227,169,172,67,227,171,164,67,227,172,136,67,227,172,153,67,227,173,137,67,227,174,157,67,227,176,152,67,227,177,142,67,227,180,179,67,227,182,150,67,227,186,172,67,227,186,184,67,227,188,155,67,227,191,188,67,228,128,136,67,228,128,152,67,228,128,185,67,228,129,134,67,228,130,150,67,228,131,163,67,228,132,175,67,228,136,130,67,228,136,167,67,228,138,160,67,228,140,129,67,228,140,180,67,228,141,153,67,228,143,149,67,228,143,153,67,228,144,139,67,228,145,171,67,228,148,171,67,228,149,157,67,228,149,161,67,228,149,171,67,228,151,151,67,228,151,185,67,228,152,181,67,228,154,190,67,228,155,135,67,228,166,149,67,228,167,166,67,228,169,174,67,228,169,182,67,228,170,178,67,228,172,179,67,228,175,142,67,228,179,142,67,228,179,173,67,228,179,184,67,228,181,150,67,228,184,128,67,228,184,129,67,228,184,131,67,228,184,137,67,228,184,138,67,228,184,139,67,228,184,141,67,228,184,153,67,228,184,166,67,228,184,168,67,228,184,173,67,228,184,178,67,228,184,182,67,228,184,184,67,228,184,185,67,228,184,189,67,228,184,191,67,228,185,129,67,228,185,153,67,228,185,157,67,228,186,130,67,228,186,133,67,228,186,134,67,228,186,140,67,228,186,148,67,228,186,160,67,228,186,164,67,228,186,174,67,228,186,186,67,228,187,128,67,228,187,140,67,228,187,164,67,228,188,129,67,228,188,145,67,228,189,160,67,228,190,128,67,228,190,134,67,228,190,139,67,228,190,174,67,228,190,187,67,228,190,191,67,229,128,130,67,229,128,171,67,229,129,186,67,229,130,153,67,229,131,143,67,229,131,154,67,229,131,167,67,229,132,170,67,229,132,191,67,229,133,128,67,229,133,133,67,229,133,141,67,229,133,148,67,229,133,164,67,229,133,165,67,229,133,167,67,229,133,168,67,229,133,169,67,229,133,171,67,229,133,173,67,229,133,183,67,229,134,128,67,229,134,130,67,229,134,141,67,229,134,146,67,229,134,149,67,229,134,150,67,229,134,151,67,229,134,153,67,229,134,164,67,229,134,171,67,229,134,172,67,229,134,181,67,229,134,183,67,229,135,137,67,229,135,140,67,229,135,156,67,229,135,158,67,229,135,160,67,229,135,181,67,229,136,128,67,229,136,131,67,229,136,135,67,229,136,151,67,229,136,157,67,229,136,169,67,229,136,186,67,229,136,187,67,229,137,134,67,229,137,141,67,229,137,178,67,229,137,183,67,229,138,137,67,229,138,155,67,229,138,163,67,229,138,179,67,229,138,180,67,229,139,135,67,229,139,137,67,229,139,146,67,229,139,158,67,229,139,164,67,229,139,181,67,229,139,185,67,229,139,186,67,229,140,133,67,229,140,134,67,229,140,149,67,229,140,151,67,229,140,154,67,229,140,184,67,229,140,187,67,229,140,191,67,229,141,129,67,229,141,132,67,229,141,133,67,229,141,137,67,229,141,145,67,229,141,148,67,229,141,154,67,229,141,156,67,229,141,169,67,229,141,176,67,229,141,179,67,229,141,181,67,229,141,189,67,229,141,191,67,229,142,130,67,229,142,182,67,229,143,131,67,229,143,136,67,229,143,138,67,229,143,140,67,229,143,159,67,229,143,163,67,229,143,165,67,229,143,171,67,229,143,175,67,229,143,177,67,229,143,179,67,229,144,134,67,229,144,136,67,229,144,141,67,229,144,143,67,229,144,157,67,229,144,184,67,229,144,185,67,229,145,130,67,229,145,136,67,229,145,168,67,229,146,158,67,229,146,162,67,229,146,189,67,229,147,182,67,229,148,144,67,229,149,143,67,229,149,147,67,229,149,149,67,229,149,163,67,229,150,132,67,229,150,135,67,229,150,153,67,229,150,157,67,229,150,171,67,229,150,179,67,229,150,182,67,229,151,128,67,229,151,130,67,229,151,162,67,229,152,134,67,229,153,145,67,229,153,168,67,229,153,180,67,229,155,151,67,229,155,155,67,229,155,185,67,229,156,150,67,229,156,151,67,229,156,159,67,229,156,176,67,229,158,139,67,229,159,142,67,229,159,180,67,229,160,141,67,229,160,177,67,229,160,178,67,229,161,128,67,229,161,154,67,229,161,158,67,229,162,168,67,229,162,172,67,229,162,179,67,229,163,152,67,229,163,159,67,229,163,171,67,229,163,174,67,229,163,176,67,229,163,178,67,229,163,183,67,229,164,130,67,229,164,134,67,229,164,138,67,229,164,149,67,229,164,154,67,229,164,156,67,229,164,162,67,229,164,167,67,229,164,169,67,229,165,132,67,229,165,136,67,229,165,145,67,229,165,148,67,229,165,162,67,229,165,179,67,229,167,152,67,229,167,172,67,229,168,155,67,229,168,167,67,229,169,162,67,229,169,166,67,229,170,181,67,229,172,136,67,229,172,168,67,229,172,190,67,229,173,144,67,229,173,151,67,229,173,166,67,229,174,128,67,229,174,133,67,229,174,151,67,229,175,131,67,229,175,152,67,229,175,167,67,229,175,174,67,229,175,179,67,229,175,184,67,229,175,191,67,229,176,134,67,229,176,143,67,229,176,162,67,229,176,184,67,229,176,191,67,229,177,160,67,229,177,162,67,229,177,164,67,229,177,165,67,229,177,174,67,229,177,177,67,229,178,141,67,229,179,128,67,229,180,153,67,229,181,131,67,229,181,144,67,229,181,171,67,229,181,174,67,229,181,188,67,229,182,178,67,229,182,186,67,229,183,155,67,229,183,161,67,229,183,162,67,229,183,165,67,229,183,166,67,229,183,177,67,229,183,189,67,229,183,190,67,229,184,168,67,229,184,189,67,229,185,169,67,229,185,178,67,229,185,180,67,229,185,186,67,229,185,188,67,229,185,191,67,229,186,166,67,229,186,176,67,229,186,179,67,229,186,182,67,229,187,137,67,229,187,138,67,229,187,146,67,229,187,147,67,229,187,153,67,229,187,172,67,229,187,180,67,229,187,190,67,229,188,132,67,229,188,139,67,229,188,147,67,229,188,162,67,229,189,144,67,229,189,147,67,229,189,161,67,229,189,162,67,229,189,169,67,229,189,171,67,229,189,179,67,229,190,139,67,229,190,140,67,229,190,151,67,229,190,154,67,229,190,169,67,229,190,173,67,229,191,131,67,229,191,141,67,229,191,151,67,229,191,181,67,229,191,185,67,230,128,146,67,230,128,156,67,230,129,181,67,230,130,129,67,230,130,148,67,230,131,135,67,230,131,152,67,230,131,161,67,230,132,136,67,230,133,132,67,230,133,136,67,230,133,140,67,230,133,142,67,230,133,160,67,230,133,168,67,230,133,186,67,230,134,142,67,230,134,144,67,230,134,164,67,230,134,175,67,230,134,178,67,230,135,158,67,230,135,178,67,230,135,182,67,230,136,128,67,230,136,136,67,230,136,144,67,230,136,155,67,230,136,174,67,230,136,180,67,230,136,182,67,230,137,139,67,230,137,147,67,230,137,157,67,230,138,149,67,230,138,177,67,230,139,137,67,230,139,143,67,230,139,147,67,230,139,148,67,230,139,188,67,230,139,190,67,230,140,135,67,230,140,189,67,230,141,144,67,230,141,149,67,230,141,168,67,230,141,187,67,230,142,131,67,230,142,160,67,230,142,169,67,230,143,132,67,230,143,133,67,230,143,164,67,230,144,156,67,230,144,162,67,230,145,146,67,230,145,169,67,230,145,183,67,230,145,190,67,230,146,154,67,230,146,157,67,230,147,132,67,230,148,175,67,230,148,180,67,230,149,143,67,230,149,150,67,230,149,172,67,230,149,184,67,230,150,135,67,230,150,151,67,230,150,153,67,230,150,164,67,230,150,176,67,230,150,185,67,230,151,133,67,230,151,160,67,230,151,162,67,230,151,163,67,230,151,165,67,230,152,147,67,230,152,160,67,230,153,137,67,230,153,180,67,230,154,136,67,230,154,145,67,230,154,156,67,230,154,180,67,230,155,134,67,230,155,176,67,230,155,180,67,230,155,184,67,230,156,128,67,230,156,136,67,230,156,137,67,230,156,151,67,230,156,155,67,230,156,161,67,230,156,168,67,230,157,142,67,230,157,147,67,230,157,150,67,230,157,158,67,230,157,187,67,230,158,133,67,230,158,151,67,230,159,179,67,230,159,186,67,230,160,151,67,230,160,159,67,230,160,170,67,230,161,146,67,230,162,129,67,230,162,133,67,230,162,142,67,230,162,168,67,230,164,148,67,230,165,130,67,230,166,163,67,230,167,170,67,230,168,130,67,230,168,147,67,230,170,168,67,230,171,147,67,230,171,155,67,230,172,132,67,230,172,160,67,230,172,161,67,230,173,148,67,230,173,162,67,230,173,163,67,230,173,178,67,230,173,183,67,230,173,185,67,230,174,159,67,230,174,174,67,230,174,179,67,230,174,186,67,230,174,187,67,230,175,139,67,230,175,141,67,230,175,148,67,230,175,155,67,230,176,143,67,230,176,148,67,230,176,180,67,230,177,142,67,230,177,167,67,230,178,136,67,230,178,191,67,230,179,140,67,230,179,141,67,230,179,165,67,230,179,168,67,230,180,150,67,230,180,155,67,230,180,158,67,230,180,180,67,230,180,190,67,230,181,129,67,230,181,169,67,230,181,170,67,230,181,183,67,230,181,184,67,230,182,133,67,230,183,139,67,230,183,154,67,230,183,170,67,230,183,185,67,230,184,154,67,230,184,175,67,230,185,174,67,230,186,128,67,230,186,156,67,230,186,186,67,230,187,135,67,230,187,139,67,230,187,145,67,230,187,155,67,230,188,143,67,230,188,148,67,230,188,162,67,230,188,163,67,230,189,174,67,230,191,134,67,230,191,171,67,230,191,190,67,231,128,155,67,231,128,158,67,231,128,185,67,231,129,138,67,231,129,171,67,231,129,176,67,231,129,183,67,231,129,189,67,231,130,153,67,231,130,173,67,231,131,136,67,231,131,153,67,231,132,161,67,231,133,133,67,231,133,137,67,231,133,174,67,231,134,156,67,231,135,142,67,231,135,144,67,231,136,144,67,231,136,155,67,231,136,168,67,231,136,170,67,231,136,171,67,231,136,181,67,231,136,182,67,231,136,187,67,231,136,191,67,231,137,135,67,231,137,144,67,231,137,153,67,231,137,155,67,231,137,162,67,231,137,185,67,231,138,128,67,231,138,149,67,231,138,172,67,231,138,175,67,231,139,128,67,231,139,188,67,231,140,170,67,231,141,181,67,231,141,186,67,231,142,132,67,231,142,135,67,231,142,137,67,231,142,139,67,231,142,165,67,231,142,178,67,231,143,158,67,231,144,134,67,231,144,137,67,231,144,162,67,231,145,135,67,231,145,156,67,231,145,169,67,231,145,177,67,231,146,133,67,231,146,137,67,231,146,152,67,231,147,138,67,231,147,156,67,231,147,166,67,231,148,134,67,231,148,152,67,231,148,159,67,231,148,164,67,231,148,168,67,231,148,176,67,231,148,178,67,231,148,179,67,231,148,183,67,231,148,187,67,231,148,190,67,231,149,153,67,231,149,165,67,231,149,176,67,231,150,139,67,231,150,146,67,231,151,162,67,231,152,144,67,231,152,157,67,231,152,159,67,231,153,130,67,231,153,169,67,231,153,182,67,231,153,189,67,231,154,174,67,231,154,191,67,231,155,138,67,231,155,155,67,231,155,163,67,231,155,167,67,231,155,174,67,231,155,180,67,231,156,129,67,231,156,158,67,231,156,159,67,231,157,128,67,231,157,138,67,231,158,139,67,231,158,167,67,231,159,155,67,231,159,162,67,231,159,179,67,231,161,142,67,231,161,171,67,231,162,140,67,231,162,145,67,231,163,138,67,231,163,140,67,231,163,187,67,231,164,170,67,231,164,186,67,231,164,188,67,231,164,190,67,231,165,136,67,231,165,137,67,231,165,144,67,231,165,150,67,231,165,157,67,231,165,158,67,231,165,165,67,231,165,191,67,231,166,129,67,231,166,141,67,231,166,142,67,231,166,143,67,231,166,174,67,231,166,184,67,231,166,190,67,231,167,138,67,231,167,152,67,231,167,171,67,231,168,156,67,231,169,128,67,231,169,138,67,231,169,143,67,231,169,180,67,231,169,186,67,231,170,129,67,231,170,177,67,231,171,139,67,231,171,174,67,231,171,185,67,231,172,160,67,231,174,143,67,231,175,128,67,231,175,134,67,231,175,137,67,231,176,190,67,231,177,160,67,231,177,179,67,231,177,187,67,231,178,146,67,231,178,190,67,231,179,146,67,231,179,150,67,231,179,163,67,231,179,167,67,231,179,168,67,231,179,184,67,231,180,128,67,231,180,144,67,231,180,162,67,231,180,175,67,231,181,130,67,231,181,155,67,231,181,163,67,231,182,160,67,231,182,190,67,231,183,135,67,231,183,180,67,231,184,130,67,231,184,137,67,231,184,183,67,231,185,129,67,231,185,133,67,231,188,182,67,231,188,190,67,231,189,145,67,231,189,178,67,231,189,185,67,231,189,186,67,231,190,133,67,231,190,138,67,231,190,149,67,231,190,154,67,231,190,189,67,231,191,186,67,232,128,129,67,232,128,133,67,232,128,140,67,232,128,146,67,232,128,179,67,232,129,134,67,232,129,160,67,232,129,175,67,232,129,176,67,232,129,190,67,232,129,191,67,232,130,137,67,232,130,139,67,232,130,173,67,232,130,178,67,232,132,131,67,232,132,190,67,232,135,152,67,232,135,163,67,232,135,168,67,232,135,170,67,232,135,173,67,232,135,179,67,232,135,188,67,232,136,129,67,232,136,132,67,232,136,140,67,232,136,152,67,232,136,155,67,232,136,159,67,232,137,174,67,232,137,175,67,232,137,178,67,232,137,184,67,232,137,185,67,232,138,139,67,232,138,145,67,232,138,157,67,232,138,177,67,232,138,179,67,232,138,189,67,232,139,165,67,232,139,166,67,232,140,157,67,232,140,163,67,232,140,182,67,232,141,146,67,232,141,147,67,232,141,163,67,232,142,173,67,232,142,189,67,232,143,137,67,232,143,138,67,232,143,140,67,232,143,156,67,232,143,167,67,232,143,175,67,232,143,177,67,232,144,189,67,232,145,137,67,232,145,151,67,232,147,174,67,232,147,177,67,232,147,179,67,232,147,188,67,232,148,150,67,232,149,164,67,232,151,141,67,232,151,186,67,232,152,134,67,232,152,146,67,232,152,173,67,232,152,191,67,232,153,141,67,232,153,144,67,232,153,156,67,232,153,167,67,232,153,169,67,232,153,171,67,232,154,136,67,232,154,169,67,232,155,162,67,232,156,142,67,232,156,168,67,232,157,171,67,232,157,185,67,232,158,134,67,232,158,186,67,232,159,161,67,232,160,129,67,232,160,159,67,232,161,128,67,232,161,140,67,232,161,160,67,232,161,163,67,232,163,130,67,232,163,143,67,232,163,151,67,232,163,158,67,232,163,161,67,232,163,184,67,232,163,186,67,232,164,144,67,232,165,129,67,232,165,164,67,232,165,190,67,232,166,134,67,232,166,139,67,232,166,150,67,232,167,146,67,232,167,163,67,232,168,128,67,232,170,160,67,232,170,170,67,232,170,191,67,232,171,139,67,232,171,146,67,232,171,150,67,232,171,173,67,232,171,184,67,232,171,190,67,232,172,129,67,232,172,185,67,232,173,152,67,232,174,128,67,232,174,138,67,232,176,183,67,232,177,134,67,232,177,136,67,232,177,149,67,232,177,184,67,232,178,157,67,232,178,161,67,232,178,169,67,232,178,171,67,232,179,129,67,232,179,130,67,232,179,135,67,232,179,136,67,232,179,147,67,232,180,136,67,232,180,155,67,232,181,164,67,232,181,176,67,232,181,183,67,232,182,179,67,232,182,188,67,232,183,139,67,232,183,175,67,232,183,176,67,232,186,171,67,232,187,138,67,232,187,148,67,232,188,166,67,232,188,170,67,232,188,184,67,232,188,187,67,232,189,162,67,232,190,155,67,232,190,158,67,232,190,176,67,232,190,181,67,232,190,182,67,233,128,163,67,233,128,184,67,233,129,138,67,233,129,169,67,233,129,178,67,233,129,188,67,233,130,143,67,233,130,145,67,233,130,148,67,233,131,142,67,233,131,158,67,233,131,177,67,233,131,189,67,233,132,145,67,233,132,155,67,233,133,137,67,233,133,141,67,233,133,170,67,233,134,153,67,233,134,180,67,233,135,134,67,233,135,140,67,233,135,143,67,233,135,145,67,233,136,180,67,233,136,184,67,233,137,182,67,233,137,188,67,233,139,151,67,233,139,152,67,233,140,132,67,233,141,138,67,233,143,185,67,233,144,149,67,233,149,183,67,233,150,128,67,233,150,139,67,233,150,173,67,233,150,183,67,233,152,156,67,233,152,174,67,233,153,139,67,233,153,141,67,233,153,181,67,233,153,184,67,233,153,188,67,233,154,134,67,233,154,163,67,233,154,182,67,233,154,183,67,233,154,184,67,233,154,185,67,233,155,131,67,233,155,162,67,233,155,163,67,233,155,168,67,233,155,182,67,233,155,183,67,233,156,163,67,233,156,178,67,233,157,136,67,233,157,145,67,233,157,150,67,233,157,158,67,233,157,162,67,233,157,169,67,233,159,139,67,233,159,155,67,233,159,160,67,233,159,173,67,233,159,179,67,233,159,191,67,233,160,129,67,233,160,133,67,233,160,139,67,233,160,152,67,233,160,169,67,233,160,187,67,233,161,158,67,233,162,168,67,233,163,155,67,233,163,159,67,233,163,162,67,233,163,175,67,233,163,188,67,233,164,168,67,233,164,169,67,233,166,150,67,233,166,153,67,233,166,167,67,233,166,172,67,233,167,130,67,233,167,177,67,233,167,190,67,233,169,170,67,233,170,168,67,233,171,152,67,233,171,159,67,233,172,146,67,233,172,165,67,233,172,175,67,233,172,178,67,233,172,188,67,233,173,154,67,233,173,175,67,233,177,128,67,233,177,151,67,233,179,165,67,233,179,189,67,233,181,167,67,233,182,180,67,233,183,186,67,233,184,158,67,233,185,181,67,233,185,191,67,233,186,151,67,233,186,159,67,233,186,165,67,233,186,187,67,233,187,131,67,233,187,141,67,233,187,142,67,233,187,145,67,233,187,185,67,233,187,189,67,233,187,190,67,233,188,133,67,233,188,142,67,233,188,143,67,233,188,147,67,233,188,150,67,233,188,160,67,233,188,187,67,233,189,131,67,233,189,138,67,233,189,146,67,233,190,141,67,233,190,142,67,233,190,156,67,233,190,159,67,233,190,160,67,234,156,167,67,234,157,175,67,234,172,183,67,234,173,146,68,240,160,132,162,68,240,160,148,156,68,240,160,148,165,68,240,160,149,139,68,240,160,152,186,68,240,160,160,132,68,240,160,163,158,68,240,160,168,172,68,240,160,173,163,68,240,161,147,164,68,240,161,154,168,68,240,161,155,170,68,240,161,167,136,68,240,161,172,152,68,240,161,180,139,68,240,161,183,164,68,240,161,183,166,68,240,162,134,131,68,240,162,134,159,68,240,162,140,177,68,240,162,155,148,68,240,162,161,132,68,240,162,161,138,68,240,162,172,140,68,240,162,175,177,68,240,163,128,138,68,240,163,138,184,68,240,163,141,159,68,240,163,142,147,68,240,163,142,156,68,240,163,143,131,68,240,163,143,149,68,240,163,145,173,68,240,163,154,163,68,240,163,162,167,68,240,163,170,141,68,240,163,171,186,68,240,163,178,188,68,240,163,180,158,68,240,163,187,145,68,240,163,189,158,68,240,163,190,142,68,240,164,137,163,68,240,164,139,174,68,240,164,142,171,68,240,164,152,136,68,240,164,156,181,68,240,164,160,148,68,240,164,176,182,68,240,164,178,146,68,240,164,190,161,68,240,164,190,184,68,240,165,129,132,68,240,165,131,178,68,240,165,131,179,68,240,165,132,153,68,240,165,132,179,68,240,165,137,137,68,240,165,144,157,68,240,165,152,166,68,240,165,154,154,68,240,165,155,133,68,240,165,165,188,68,240,165,170,167,68,240,165,174,171,68,240,165,178,128,68,240,165,179,144,68,240,165,190,134,68,240,166,135,154,68,240,166,136,168,68,240,166,137,135,68,240,166,139,153,68,240,166,140,190,68,240,166,147,154,68,240,166,148,163,68,240,166,150,168,68,240,166,158,167,68,240,166,158,181,68,240,166,172,188,68,240,166,176,182,68,240,166,179,149,68,240,166,181,171,68,240,166,188,172,68,240,166,190,177,68,240,167,131,146,68,240,167,143,138,68,240,167,153,167,68,240,167,162,174,68,240,167,165,166,68,240,167,178,168,68,240,167,187,147,68,240,167,188,175,68,240,168,151,146,68,240,168,151,173,68,240,168,156,174,68,240,168,175,186,68,240,168,181,183,68,240,169,133,133,68,240,169,135,159,68,240,169,136,154,68,240,169,144,138,68,240,169,146,150,68,240,169,150,182,68,240,169,172,176,68,240,170,131,142,68,240,170,132,133,68,240,170,136,142,68,240,170,138,145,68,240,170,142,146,68,240,170,152,128,66,33,33,66,33,63,66,46,46,66,48,44,66,48,46,66,49,44,66,49,46,66,49,48,66,49,49,66,49,50,66,49,51,66,49,52,66,49,53,66,49,54,66,49,55,66,49,56,66,49,57,66,50,44,66,50,46,66,50,48,66,50,49,66,50,50,66,50,51,66,50,52,66,50,53,66,50,54,66,50,55,66,50,56,66,50,57,66,51,44,66,51,46,66,51,48,66,51,49,66,51,50,66,51,51,66,51,52,66,51,53,66,51,54,66,51,55,66,51,56,66,51,57,66,52,44,66,52,46,66,52,48,66,52,49,66,52,50,66,52,51,66,52,52,66,52,53,66,52,54,66,52,55,66,52,56,66,52,57,66,53,44,66,53,46,66,53,48,66,54,44,66,54,46,66,55,44,66,55,46,66,56,44,66,56,46,66,57,44,66,57,46,66,61,61,66,63,33,66,63,63,66,65,85,66,66,113,66,67,68,66,68,74,66,68,90,66,68,122,66,71,66,66,71,121,66,72,80,66,72,86,66,72,103,66,72,122,66,73,73,66,73,74,66,73,85,66,73,86,66,73,88,66,75,66,66,75,75,66,75,77,66,76,74,66,76,106,66,77,66,66,77,67,66,77,68,66,77,82,66,77,86,66,77,87,66,78,74,66,78,106,66,78,111,66,80,72,66,80,82,66,80,97,66,82,115,66,83,68,66,83,77,66,83,83,66,83,118,66,84,77,66,86,73,66,87,67,66,87,90,66,87,98,66,88,73,66,99,99,66,99,100,66,99,109,66,100,66,66,100,97,66,100,108,66,100,109,66,100,122,66,101,86,66,102,102,66,102,105,66,102,108,66,102,109,66,104,97,66,105,105,66,105,106,66,105,110,66,105,118,66,105,120,66,107,65,66,107,86,66,107,87,66,107,103,66,107,108,66,107,109,66,107,116,66,108,106,66,108,109,66,108,110,66,108,120,66,109,50,66,109,51,66,109,65,66,109,86,66,109,87,66,109,98,66,109,103,66,109,108,66,109,109,66,109,115,66,110,65,66,110,70,66,110,86,66,110,87,66,110,106,66,110,109,66,110,115,66,111,86,66,112,65,66,112,70,66,112,86,66,112,87,66,112,99,66,112,115,66,115,114,66,115,116,66,118,105,66,120,105,67,40,49,41,67,40,50,41,67,40,51,41,67,40,52,41,67,40,53,41,67,40,54,41,67,40,55,41,67,40,56,41,67,40,57,41,67,40,65,41,67,40,66,41,67,40,67,41,67,40,68,41,67,40,69,41,67,40,70,41,67,40,71,41,67,40,72,41,67,40,73,41,67,40,74,41,67,40,75,41,67,40,76,41,67,40,77,41,67,40,78,41,67,40,79,41,67,40,80,41,67,40,81,41,67,40,82,41,67,40,83,41,67,40,84,41,67,40,85,41,67,40,86,41,67,40,87,41,67,40,88,41,67,40,89,41,67,40,90,41,67,40,97,41,67,40,98,41,67,40,99,41,67,40,100,41,67,40,101,41,67,40,102,41,67,40,103,41,67,40,104,41,67,40,105,41,67,40,106,41,67,40,107,41,67,40,108,41,67,40,109,41,67,40,110,41,67,40,111,41,67,40,112,41,67,40,113,41,67,40,114,41,67,40,115,41,67,40,116,41,67,40,117,41,67,40,118,41,67,40,119,41,67,40,120,41,67,40,121,41,67,40,122,41,67,46,46,46,67,49,48,46,67,49,49,46,67,49,50,46,67,49,51,46,67,49,52,46,67,49,53,46,67,49,54,46,67,49,55,46,67,49,56,46,67,49,57,46,67,50,48,46,67,58,58,61,67,61,61,61,67,67,111,46,67,70,65,88,67,71,72,122,67,71,80,97,67,73,73,73,67,76,84,68,67,76,194,183,67,77,72,122,67,77,80,97,67,77,206,169,67,80,80,77,67,80,80,86,67,80,84,69,67,84,69,76,67,84,72,122,67,86,73,73,67,88,73,73,67,97,47,99,67,97,47,115,67,97,202,190,67,98,97,114,67,99,47,111,67,99,47,117,67,99,97,108,67,99,109,50,67,99,109,51,67,100,109,50,67,100,109,51,67,101,114,103,67,102,102,105,67,102,102,108,67,103,97,108,67,104,80,97,67,105,105,105,67,107,72,122,67,107,80,97,67,107,109,50,67,107,109,51,67,107,206,169,67,108,111,103,67,108,194,183,67,109,105,108,67,109,109,50,67,109,109,51,67,109,111,108,67,114,97,100,67,118,105,105,67,120,105,105,67,194,176,67,67,194,176,70,67,202,188,110,67,206,188,65,67,206,188,70,67,206,188,86,67,206,188,87,67,206,188,103,67,206,188,108,67,206,188,109,67,206,188,115,68,40,49,48,41,68,40,49,49,41,68,40,49,50,41,68,40,49,51,41,68,40,49,52,41,68,40,49,53,41,68,40,49,54,41,68,40,49,55,41,68,40,49,56,41,68,40,49,57,41,68,40,50,48,41,68,48,231,130,185,68,49,226,129,132,68,49,230,151,165,68,49,230,156,136,68,49,231,130,185,68,50,230,151,165,68,50,230,156,136,68,50,231,130,185,68,51,230,151,165,68,51,230,156,136,68,51,231,130,185,68,52,230,151,165,68,52,230,156,136,68,52,231,130,185,68,53,230,151,165,68,53,230,156,136,68,53,231,130,185,68,54,230,151,165,68,54,230,156,136,68,54,231,130,185,68,55,230,151,165,68,55,230,156,136,68,55,231,130,185,68,56,230,151,165,68,56,230,156,136,68,56,231,130,185,68,57,230,151,165,68,57,230,156,136,68,57,231,130,185,68,86,73,73,73,68,97,46,109,46,68,107,99,97,108,68,112,46,109,46,68,118,105,105,105,68,213,165,214,130,68,213,180,213,165,68,213,180,213,171,68,213,180,213,173,68,213,180,213,182,68,213,190,213,182,68,215,144,215,156,68,216,167,217,180,68,216,168,216,172,68,216,168,216,173,68,216,168,216,174,68,216,168,216,177,68,216,168,216,178,68,216,168,217,133,68,216,168,217,134,68,216,168,217,135,68,216,168,217,137,68,216,168,217,138,68,216,170,216,172,68,216,170,216,173,68,216,170,216,174,68,216,170,216,177,68,216,170,216,178,68,216,170,217,133,68,216,170,217,134,68,216,170,217,135,68,216,170,217,137,68,216,170,217,138,68,216,171,216,172,68,216,171,216,177,68,216,171,216,178,68,216,171,217,133,68,216,171,217,134,68,216,171,217,135,68,216,171,217,137,68,216,171,217,138,68,216,172,216,173,68,216,172,217,133,68,216,172,217,137,68,216,172,217,138,68,216,173,216,172,68,216,173,217,133,68,216,173,217,137,68,216,173,217,138,68,216,174,216,172,68,216,174,216,173,68,216,174,217,133,68,216,174,217,137,68,216,174,217,138,68,216,179,216,172,68,216,179,216,173,68,216,179,216,174,68,216,179,216,177,68,216,179,217,133,68,216,179,217,135,68,216,179,217,137,68,216,179,217,138,68,216,180,216,172,68,216,180,216,173,68,216,180,216,174,68,216,180,216,177,68,216,180,217,133,68,216,180,217,135,68,216,180,217,137,68,216,180,217,138,68,216,181,216,173,68,216,181,216,174,68,216,181,216,177,68,216,181,217,133,68,216,181,217,137,68,216,181,217,138,68,216,182,216,172,68,216,182,216,173,68,216,182,216,174,68,216,182,216,177,68,216,182,217,133,68,216,182,217,137,68,216,182,217,138,68,216,183,216,173,68,216,183,217,133,68,216,183,217,137,68,216,183,217,138,68,216,184,217,133,68,216,185,216,172,68,216,185,217,133,68,216,185,217,137,68,216,185,217,138,68,216,186,216,172,68,216,186,217,133,68,216,186,217,137,68,216,186,217,138,68,217,129,216,172,68,217,129,216,173,68,217,129,216,174,68,217,129,217,133,68,217,129,217,137,68,217,129,217,138,68,217,130,216,173,68,217,130,217,133,68,217,130,217,137,68,217,130,217,138,68,217,131,216,167,68,217,131,216,172,68,217,131,216,173,68,217,131,216,174,68,217,131,217,132,68,217,131,217,133,68,217,131,217,137,68,217,131,217,138,68,217,132,216,167,68,217,132,216,172,68,217,132,216,173,68,217,132,216,174,68,217,132,217,133,68,217,132,217,135,68,217,132,217,137,68,217,132,217,138,68,217,133,216,167,68,217,133,216,172,68,217,133,216,173,68,217,133,216,174,68,217,133,217,133,68,217,133,217,137,68,217,133,217,138,68,217,134,216,172,68,217,134,216,173,68,217,134,216,174,68,217,134,216,177,68,217,134,216,178,68,217,134,217,133,68,217,134,217,134,68,217,134,217,135,68,217,134,217,137,68,217,134,217,138,68,217,135,216,172,68,217,135,217,133,68,217,135,217,137,68,217,135,217,138,68,217,136,217,180,68,217,138,216,172,68,217,138,216,173,68,217,138,216,174,68,217,138,216,177,68,217,138,216,178,68,217,138,217,133,68,217,138,217,134,68,217,138,217,135,68,217,138,217,137,68,217,138,217,138,68,217,138,217,180,68,219,135,217,180,69,40,225,132,128,41,69,40,225,132,130,41,69,40,225,132,131,41,69,40,225,132,133,41,69,40,225,132,134,41,69,40,225,132,135,41,69,40,225,132,137,41,69,40,225,132,139,41,69,40,225,132,140,41,69,40,225,132,142,41,69,40,225,132,143,41,69,40,225,132,144,41,69,40,225,132,145,41,69,40,225,132,146,41,69,40,228,184,128,41,69,40,228,184,131,41,69,40,228,184,137,41,69,40,228,185,157,41,69,40,228,186,140,41,69,40,228,186,148,41,69,40,228,187,163,41,69,40,228,188,129,41,69,40,228,188,145,41,69,40,229,133,171,41,69,40,229,133,173,41,69,40,229,138,180,41,69,40,229,141,129,41,69,40,229,141,148,41,69,40,229,144,141,41,69,40,229,145,188,41,69,40,229,155,155,41,69,40,229,156,159,41,69,40,229,173,166,41,69,40,230,151,165,41,69,40,230,156,136,41,69,40,230,156,137,41,69,40,230,156,168,41,69,40,230,160,170,41,69,40,230,176,180,41,69,40,231,129,171,41,69,40,231,137,185,41,69,40,231,155,163,41,69,40,231,164,190,41,69,40,231,165,157,41,69,40,231,165,173,41,69,40,232,135,170,41,69,40,232,135,179,41,69,40,232,178,161,41,69,40,232,179,135,41,69,40,233,135,145,41,69,48,226,129,132,51,69,49,48,230,151,165,69,49,48,230,156,136,69,49,48,231,130,185,69,49,49,230,151,165,69,49,49,230,156,136,69,49,49,231,130,185,69,49,50,230,151,165,69,49,50,230,156,136,69,49,50,231,130,185,69,49,51,230,151,165,69,49,51,231,130,185,69,49,52,230,151,165,69,49,52,231,130,185,69,49,53,230,151,165,69,49,53,231,130,185,69,49,54,230,151,165,69,49,54,231,130,185,69,49,55,230,151,165,69,49,55,231,130,185,69,49,56,230,151,165,69,49,56,231,130,185,69,49,57,230,151,165,69,49,57,231,130,185,69,49,226,129,132,50,69,49,226,129,132,51,69,49,226,129,132,52,69,49,226,129,132,53,69,49,226,129,132,54,69,49,226,129,132,55,69,49,226,129,132,56,69,49,226,129,132,57,69,50,48,230,151,165,69,50,48,231,130,185,69,50,49,230,151,165,69,50,49,231,130,185,69,50,50,230,151,165,69,50,50,231,130,185,69,50,51,230,151,165,69,50,51,231,130,185,69,50,52,230,151,165,69,50,52,231,130,185,69,50,53,230,151,165,69,50,54,230,151,165,69,50,55,230,151,165,69,50,56,230,151,165,69,50,57,230,151,165,69,50,226,129,132,51,69,50,226,129,132,53,69,51,48,230,151,165,69,51,49,230,151,165,69,51,226,129,132,52,69,51,226,129,132,53,69,51,226,129,132,56,69,52,226,129,132,53,69,53,226,129,132,54,69,53,226,129,132,56,69,55,226,129,132,56,69,65,226,136,149,109,69,86,226,136,149,109,69,109,226,136,149,115,70,49,226,129,132,49,48,70,67,226,136,149,107,103,70,109,226,136,149,115,50,70,216,168,216,173,217,138,70,216,168,216,174,217,138,70,216,170,216,172,217,133,70,216,170,216,172,217,137,70,216,170,216,172,217,138,70,216,170,216,173,216,172,70,216,170,216,173,217,133,70,216,170,216,174,217,133,70,216,170,216,174,217,137,70,216,170,216,174,217,138,70,216,170,217,133,216,172,70,216,170,217,133,216,173,70,216,170,217,133,216,174,70,216,170,217,133,217,137,70,216,170,217,133,217,138,70,216,172,216,173,217,137,70,216,172,216,173,217,138,70,216,172,217,133,216,173,70,216,172,217,133,217,137,70,216,172,217,133,217,138,70,216,173,216,172,217,138,70,216,173,217,133,217,137,70,216,173,217,133,217,138,70,216,179,216,172,216,173,70,216,179,216,172,217,137,70,216,179,216,173,216,172,70,216,179,216,174,217,137,70,216,179,216,174,217,138,70,216,179,217,133,216,172,70,216,179,217,133,216,173,70,216,179,217,133,217,133,70,216,180,216,172,217,138,70,216,180,216,173,217,133,70,216,180,216,173,217,138,70,216,180,217,133,216,174,70,216,180,217,133,217,133,70,216,181,216,173,216,173,70,216,181,216,173,217,138,70,216,181,217,132,217,137,70,216,181,217,132,219,146,70,216,181,217,133,217,133,70,216,182,216,173,217,137,70,216,182,216,173,217,138,70,216,182,216,174,217,133,70,216,183,217,133,216,173,70,216,183,217,133,217,133,70,216,183,217,133,217,138,70,216,185,216,172,217,133,70,216,185,217,133,217,133,70,216,185,217,133,217,137,70,216,185,217,133,217,138,70,216,186,217,133,217,133,70,216,186,217,133,217,137,70,216,186,217,133,217,138,70,217,129,216,174,217,133,70,217,129,217,133,217,138,70,217,130,217,132,219,146,70,217,130,217,133,216,173,70,217,130,217,133,217,133,70,217,130,217,133,217,138,70,217,131,217,133,217,133,70,217,131,217,133,217,138,70,217,132,216,172,216,172,70,217,132,216,172,217,133,70,217,132,216,172,217,138,70,217,132,216,173,217,133,70,217,132,216,173,217,137,70,217,132,216,173,217,138,70,217,132,216,174,217,133,70,217,132,217,133,216,173,70,217,132,217,133,217,138,70,217,133,216,172,216,173,70,217,133,216,172,216,174,70,217,133,216,172,217,133,70,217,133,216,172,217,138,70,217,133,216,173,216,172,70,217,133,216,173,217,133,70,217,133,216,173,217,138,70,217,133,216,174,216,172,70,217,133,216,174,217,133,70,217,133,216,174,217,138,70,217,133,217,133,217,138,70,217,134,216,172,216,173,70,217,134,216,172,217,133,70,217,134,216,172,217,137,70,217,134,216,172,217,138,70,217,134,216,173,217,133,70,217,134,216,173,217,137,70,217,134,216,173,217,138,70,217,134,217,133,217,137,70,217,134,217,133,217,138,70,217,135,217,133,216,172,70,217,135,217,133,217,133,70,217,138,216,172,217,138,70,217,138,216,173,217,138,70,217,138,217,133,217,133,70,217,138,217,133,217,138,70,217,138,217,148,216,167,70,217,138,217,148,216,172,70,217,138,217,148,216,173,70,217,138,217,148,216,174,70,217,138,217,148,216,177,70,217,138,217,148,216,178,70,217,138,217,148,217,133,70,217,138,217,148,217,134,70,217,138,217,148,217,135,70,217,138,217,148,217,136,70,217,138,217,148,217,137,70,217,138,217,148,217,138,70,217,138,217,148,219,134,70,217,138,217,148,219,135,70,217,138,217,148,219,136,70,217,138,217,148,219,144,70,217,138,217,148,219,149,70,224,185,141,224,184,178,70,224,186,171,224,186,153,70,224,186,171,224,186,161,70,224,187,141,224,186,178,70,224,189,128,224,190,181,70,224,189,130,224,190,183,70,224,189,140,224,190,183,70,224,189,145,224,190,183,70,224,189,150,224,190,183,70,224,189,155,224,190,183,70,224,190,144,224,190,181,70,224,190,146,224,190,183,70,224,190,156,224,190,183,70,224,190,161,224,190,183,70,224,190,166,224,190,183,70,224,190,171,224,190,183,70,226,128,178,226,128,178,70,226,128,181,226,128,181,70,226,136,171,226,136,171,70,226,136,174,226,136,174,70,227,129,187,227,129,139,70,227,130,136,227,130,138,70,227,130,173,227,131,173,70,227,130,179,227,130,179,70,227,130,179,227,131,136,70,227,131,136,227,131,179,70,227,131,138,227,131,142,70,227,131,155,227,131,179,70,227,131,159,227,131,170,70,227,131,170,227,131,169,70,227,131,172,227,131,160,70,228,187,164,229,146,140,70,229,164,167,230,173,163,70,229,185,179,230,136,144,70,230,152,142,230,178,187,70,230,152,173,229,146,140,71,114,97,100,226,136,149,115,71,227,128,148,83,227,128,149,72,40,225,132,128,225,133,161,41,72,40,225,132,130,225,133,161,41,72,40,225,132,131,225,133,161,41,72,40,225,132,133,225,133,161,41,72,40,225,132,134,225,133,161,41,72,40,225,132,135,225,133,161,41,72,40,225,132,137,225,133,161,41,72,40,225,132,139,225,133,161,41,72,40,225,132,140,225,133,161,41,72,40,225,132,140,225,133,174,41,72,40,225,132,142,225,133,161,41,72,40,225,132,143,225,133,161,41,72,40,225,132,144,225,133,161,41,72,40,225,132,145,225,133,161,41,72,40,225,132,146,225,133,161,41,72,114,97,100,226,136,149,115,50,72,216,167,217,131,216,168,216,177,72,216,167,217,132,217,132,217,135,72,216,177,216,179,217,136,217,132,72,216,177,219,140,216,167,217,132,72,216,181,217,132,216,185,217,133,72,216,185,217,132,217,138,217,135,72,217,133,216,173,217,133,216,175,72,217,136,216,179,217,132,217,133,73,226,128,178,226,128,178,226,128,178,73,226,128,181,226,128,181,226,128,181,73,226,136,171,226,136,171,226,136,171,73,226,136,174,226,136,174,226,136,174,73,227,128,148,228,184,137,227,128,149,73,227,128,148,228,186,140,227,128,149,73,227,128,148,229,139,157,227,128,149,73,227,128,148,229,174,137,227,128,149,73,227,128,148,230,137,147,227,128,149,73,227,128,148,230,149,151,227,128,149,73,227,128,148,230,156,172,227,128,149,73,227,128,148,231,130,185,227,128,149,73,227,128,148,231,155,151,227,128,149,73,227,130,162,227,131,188,227,131,171,73,227,130,164,227,131,179,227,131,129,73,227,130,166,227,130,169,227,131,179,73,227,130,170,227,131,179,227,130,185,73,227,130,170,227,131,188,227,131,160,73,227,130,171,227,130,164,227,131,170,73,227,130,177,227,131,188,227,130,185,73,227,130,179,227,131,171,227,131,138,73,227,130,187,227,131,179,227,131,129,73,227,130,187,227,131,179,227,131,136,73,227,131,134,227,130,153,227,130,183,73,227,131,136,227,130,153,227,131,171,73,227,131,142,227,131,131,227,131,136,73,227,131,143,227,130,164,227,131,132,73,227,131,146,227,130,153,227,131,171,73,227,131,146,227,130,154,227,130,179,73,227,131,149,227,131,169,227,131,179,73,227,131,152,227,130,154,227,130,189,73,227,131,152,227,131,171,227,131,132,73,227,131,155,227,131,188,227,131,171,73,227,131,155,227,131,188,227,131,179,73,227,131,158,227,130,164,227,131,171,73,227,131,158,227,131,131,227,131,143,73,227,131,158,227,131,171,227,130,175,73,227,131,164,227,131,188,227,131,171,73,227,131,166,227,130,162,227,131,179,73,227,131,175,227,131,131,227,131,136,76,226,128,178,226,128,178,226,128,178,226,128,178,76,226,136,171,226,136,171,226,136,171,226,136,171,76,227,130,162,227,131,171,227,131,149,227,130,161,76,227,130,168,227,131,188,227,130,171,227,131,188,76,227,130,171,227,130,153,227,131,173,227,131,179,76,227,130,171,227,130,153,227,131,179,227,131,158,76,227,130,171,227,131,169,227,131,131,227,131,136,76,227,130,171,227,131,173,227,131,170,227,131,188,76,227,130,173,227,130,153,227,131,139,227,131,188,76,227,130,173,227,131,165,227,131,170,227,131,188,76,227,130,175,227,130,153,227,131,169,227,131,160,76,227,130,175,227,131,173,227,131,188,227,131,141,76,227,130,181,227,130,164,227,130,175,227,131,171,76,227,130,191,227,130,153,227,131,188,227,130,185,76,227,131,143,227,130,154,227,131,188,227,131,132,76,227,131,146,227,130,154,227,130,175,227,131,171,76,227,131,149,227,130,163,227,131,188,227,131,136,76,227,131,152,227,130,153,227,131,188,227,130,191,76,227,131,152,227,130,154,227,131,139,227,131,146,76,227,131,152,227,130,154,227,131,179,227,130,185,76,227,131,155,227,130,153,227,131,171,227,131,136,76,227,131,158,227,130,164,227,130,175,227,131,173,76,227,131,159,227,130,175,227,131,173,227,131,179,76,227,131,161,227,131,188,227,131,136,227,131,171,76,227,131,170,227,131,131,227,131,136,227,131,171,76,227,131,171,227,131,146,227,130,154,227,131,188,76,230,160,170,229,188,143,228,188,154,231,164,190,78,40,225,132,139,225,133,169,225,132,146,225,133,174,41,79,216,172,217,132,32,216,172,217,132,216,167,217,132,217,135,79,227,130,162,227,131,143,227,130,154,227,131,188,227,131,136,79,227,130,162,227,131,179,227,131,152,227,130,154,227,130,162,79,227,130,173,227,131,173,227,131,175,227,131,131,227,131,136,79,227,130,181,227,131,179,227,131,129,227,131,188,227,131,160,79,227,131,143,227,130,153,227,131,188,227,131,172,227,131,171,79,227,131,152,227,130,175,227,130,191,227,131,188,227,131,171,79,227,131,155,227,130,154,227,130,164,227,131,179,227,131,136,79,227,131,158,227,131,179,227,130,183,227,131,167,227,131,179,79,227,131,161,227,130,171,227,130,153,227,131,136,227,131,179,79,227,131,171,227,131,188,227,131,149,227,130,153,227,131,171,81,40,225,132,139,225,133,169,225,132,140,225,133,165,225,134,171,41,82,227,130,173,227,130,153,227,131,171,227,130,191,227,130,153,227,131,188,82,227,130,173,227,131,173,227,130,175,227,130,153,227,131,169,227,131,160,82,227,130,173,227,131,173,227,131,161,227,131,188,227,131,136,227,131,171,82,227,130,175,227,130,153,227,131,169,227,131,160,227,131,136,227,131,179,82,227,130,175,227,131,171,227,130,187,227,130,153,227,130,164,227,131,173,82,227,131,143,227,130,154,227,131,188,227,130,187,227,131,179,227,131,136,82,227,131,146,227,130,154,227,130,162,227,130,185,227,131,136,227,131,171,82,227,131,149,227,130,153,227,131,131,227,130,183,227,130,167,227,131,171,82,227,131,159,227,131,170,227,131,143,227,130,153,227,131,188,227,131,171,82,227,131,172,227,131,179,227,131,136,227,130,177,227,130,153,227,131,179,97,216,181,217,132,217,137,32,216,167,217,132,217,132,217,135,32,216,185,217,132,217,138,217,135,32,217,136,216,179,217,132,217,133,6,224,167,135,224,166,190,1,6,224,167,135,224,167,151,1,6,224,173,135,224,172,190,1,6,224,173,135,224,173,150,1,6,224,173,135,224,173,151,1,6,224,174,146,224,175,151,1,6,224,175,134,224,174,190,1,6,224,175,134,224,175,151,1,6,224,175,135,224,174,190,1,6,224,178,191,224,179,149,1,6,224,179,134,224,179,149,1,6,224,179,134,224,179,150,1,6,224,181,134,224,180,190,1,6,224,181,134,224,181,151,1,6,224,181,135,224,180,190,1,6,224,183,153,224,183,159,1,6,225,128,165,225,128,174,1,6,225,172,133,225,172,181,1,6,225,172,135,225,172,181,1,6,225,172,137,225,172,181,1,6,225,172,139,225,172,181,1,6,225,172,141,225,172,181,1,6,225,172,145,225,172,181,1,6,225,172,186,225,172,181,1,6,225,172,188,225,172,181,1,6,225,172,190,225,172,181,1,6,225,172,191,225,172,181,1,6,225,173,130,225,172,181,1,8,240,145,132,177,240,145,132,167,1,8,240,145,132,178,240,145,132,167,1,8,240,145,141,135,240,145,140,190,1,8,240,145,141,135,240,145,141,151,1,8,240,145,146,185,240,145,146,176,1,8,240,145,146,185,240,145,146,186,1,8,240,145,146,185,240,145,146,189,1,8,240,145,150,184,240,145,150,175,1,8,240,145,150,185,240,145,150,175,1,8,240,145,164,181,240,145,164,176,1,9,224,179,134,224,179,130,224,179,149,2,9,224,183,153,224,183,143,224,183,138,22,68,68,90,204,140,205,68,68,122,204,140,205,68,100,122,204,140,205,70,217,132,216,167,217,147,205,70,217,132,216,167,217,148,205,70,217,132,216,167,217,149,185,70,225,132,128,225,133,161,1,70,225,132,130,225,133,161,1,70,225,132,131,225,133,161,1,70,225,132,133,225,133,161,1,70,225,132,134,225,133,161,1,70,225,132,135,225,133,161,1,70,225,132,137,225,133,161,1,70,225,132,139,225,133,161,1,70,225,132,139,225,133,174,1,70,225,132,140,225,133,161,1,70,225,132,142,225,133,161,1,70,225,132,143,225,133,161,1,70,225,132,144,225,133,161,1,70,225,132,145,225,133,161,1,70,225,132,146,225,133,161,1,73,227,131,161,227,130,171,227,130,153,17,76,225,132,140,225,133,174,225,132,139,225,133,180,1,76,227,130,173,227,130,153,227,130,171,227,130,153,17,76,227,130,179,227,131,188,227,131,155,227,130,154,17,76,227,131,164,227,131,188,227,131,136,227,130,153,17,79,225,132,142,225,133,161,225,134,183,225,132,128,225,133,169,1,79,227,130,164,227,131,139,227,131,179,227,130,175,227,130,153,17,79,227,130,183,227,131,170,227,131,179,227,130,175,227,130,153,17,79,227,131,152,227,130,154,227,131,188,227,130,183,227,130,153,17,79,227,131,155,227,130,154,227,131,179,227,131,136,227,130,153,17,82,227,130,168,227,130,185,227,130,175,227,131,188,227,131,136,227,130,153,17,82,227,131,149,227,130,161,227,131,169,227,131,131,227,131,136,227,130,153,17,134,224,179,134,224,179,130,1,134,224,183,153,224,183,143,1,3,60,204,184,5,3,61,204,184,5,3,62,204,184,5,3,65,204,128,205,3,65,204,129,205,3,65,204,131,205,3,65,204,132,205,3,65,204,137,205,3,65,204,140,205,3,65,204,143,205,3,65,204,145,205,3,65,204,165,185,3,65,204,168,169,3,66,204,135,205,3,66,204,163,185,3,66,204,177,185,3,67,204,129,205,3,67,204,130,205,3,67,204,135,205,3,67,204,140,205,3,68,204,135,205,3,68,204,140,205,3,68,204,163,185,3,68,204,167,169,3,68,204,173,185,3,68,204,177,185,3,69,204,128,205,3,69,204,129,205,3,69,204,131,205,3,69,204,134,205,3,69,204,135,205,3,69,204,136,205,3,69,204,137,205,3,69,204,140,205,3,69,204,143,205,3,69,204,145,205,3,69,204,168,169,3,69,204,173,185,3,69,204,176,185,3,70,204,135,205,3,71,204,129,205,3,71,204,130,205,3,71,204,132,205,3,71,204,134,205,3,71,204,135,205,3,71,204,140,205,3,71,204,167,169,3,72,204,130,205,3,72,204,135,205,3,72,204,136,205,3,72,204,140,205,3,72,204,163,185,3,72,204,167,169,3,72,204,174,185,3,73,204,128,205,3,73,204,129,205,3,73,204,130,205,3,73,204,131,205,3,73,204,132,205,3,73,204,134,205,3,73,204,135,205,3,73,204,137,205,3,73,204,140,205,3,73,204,143,205,3,73,204,145,205,3,73,204,163,185,3,73,204,168,169,3,73,204,176,185,3,74,204,130,205,3,75,204,129,205,3,75,204,140,205,3,75,204,163,185,3,75,204,167,169,3,75,204,177,185,3,76,204,129,205,3,76,204,140,205,3,76,204,167,169,3,76,204,173,185,3,76,204,177,185,3,77,204,129,205,3,77,204,135,205,3,77,204,163,185,3,78,204,128,205,3,78,204,129,205,3,78,204,131,205,3,78,204,135,205,3,78,204,140,205,3,78,204,163,185,3,78,204,167,169,3,78,204,173,185,3,78,204,177,185,3,79,204,128,205,3,79,204,129,205,3,79,204,134,205,3,79,204,137,205,3,79,204,139,205,3,79,204,140,205,3,79,204,143,205,3,79,204,145,205,3,80,204,129,205,3,80,204,135,205,3,82,204,129,205,3,82,204,135,205,3,82,204,140,205,3,82,204,143,205,3,82,204,145,205,3,82,204,167,169,3,82,204,177,185,3,83,204,130,205,3,83,204,135,205,3,83,204,166,185,3,83,204,167,169,3,84,204,135,205,3,84,204,140,205,3,84,204,163,185,3,84,204,166,185,3,84,204,167,169,3,84,204,173,185,3,84,204,177,185,3,85,204,128,205,3,85,204,129,205,3,85,204,130,205,3,85,204,134,205,3,85,204,137,205,3,85,204,138,205,3,85,204,139,205,3,85,204,140,205,3,85,204,143,205,3,85,204,145,205,3,85,204,163,185,3,85,204,164,185,3,85,204,168,169,3,85,204,173,185,3,85,204,176,185,3,86,204,131,205,3,86,204,163,185,3,87,204,128,205,3,87,204,129,205,3,87,204,130,205,3,87,204,135,205,3,87,204,136,205,3,87,204,163,185,3,88,204,135,205,3,88,204,136,205,3,89,204,128,205,3,89,204,129,205,3,89,204,130,205,3,89,204,131,205,3,89,204,132,205,3,89,204,135,205,3,89,204,136,205,3,89,204,137,205,3,89,204,163,185,3,90,204,129,205,3,90,204,130,205,3,90,204,135,205,3,90,204,140,205,3,90,204,163,185,3,90,204,177,185,3,97,204,128,205,3,97,204,129,205,3,97,204,131,205,3,97,204,132,205,3,97,204,137,205,3,97,204,140,205,3,97,204,143,205,3,97,204,145,205,3,97,204,165,185,3,97,204,168,169,3,98,204,135,205,3,98,204,163,185,3,98,204,177,185,3,99,204,129,205,3,99,204,130,205,3,99,204,135,205,3,99,204,140,205,3,100,204,135,205,3,100,204,140,205,3,100,204,163,185,3,100,204,167,169,3,100,204,173,185,3,100,204,177,185,3,101,204,128,205,3,101,204,129,205,3,101,204,131,205,3,101,204,134,205,3,101,204,135,205,3,101,204,136,205,3,101,204,137,205,3,101,204,140,205,3,101,204,143,205,3,101,204,145,205,3,101,204,168,169,3,101,204,173,185,3,101,204,176,185,3,102,204,135,205,3,103,204,129,205,3,103,204,130,205,3,103,204,132,205,3,103,204,134,205,3,103,204,135,205,3,103,204,140,205,3,103,204,167,169,3,104,204,130,205,3,104,204,135,205,3,104,204,136,205,3,104,204,140,205,3,104,204,163,185,3,104,204,167,169,3,104,204,174,185,3,104,204,177,185,3,105,204,128,205,3,105,204,129,205,3,105,204,130,205,3,105,204,131,205,3,105,204,132,205,3,105,204,134,205,3,105,204,137,205,3,105,204,140,205,3,105,204,143,205,3,105,204,145,205,3,105,204,163,185,3,105,204,168,169,3,105,204,176,185,3,106,204,130,205,3,106,204,140,205,3,107,204,129,205,3,107,204,140,205,3,107,204,163,185,3,107,204,167,169,3,107,204,177,185,3,108,204,129,205,3,108,204,140,205,3,108,204,167,169,3,108,204,173,185,3,108,204,177,185,3,109,204,129,205,3,109,204,135,205,3,109,204,163,185,3,110,204,128,205,3,110,204,129,205,3,110,204,131,205,3,110,204,135,205,3,110,204,140,205,3,110,204,163,185,3,110,204,167,169,3,110,204,173,185,3,110,204,177,185,3,111,204,128,205,3,111,204,129,205,3,111,204,134,205,3,111,204,137,205,3,111,204,139,205,3,111,204,140,205,3,111,204,143,205,3,111,204,145,205,3,112,204,129,205,3,112,204,135,205,3,114,204,129,205,3,114,204,135,205,3,114,204,140,205,3,114,204,143,205,3,114,204,145,205,3,114,204,167,169,3,114,204,177,185,3,115,204,130,205,3,115,204,135,205,3,115,204,166,185,3,115,204,167,169,3,116,204,135,205,3,116,204,136,205,3,116,204,140,205,3,116,204,163,185,3,116,204,166,185,3,116,204,167,169,3,116,204,173,185,3,116,204,177,185,3,117,204,128,205,3,117,204,129,205,3,117,204,130,205,3,117,204,134,205,3,117,204,137,205,3,117,204,138,205,3,117,204,139,205,3,117,204,140,205,3,117,204,143,205,3,117,204,145,205,3,117,204,163,185,3,117,204,164,185,3,117,204,168,169,3,117,204,173,185,3,117,204,176,185,3,118,204,131,205,3,118,204,163,185,3,119,204,128,205,3,119,204,129,205,3,119,204,130,205,3,119,204,135,205,3,119,204,136,205,3,119,204,138,205,3,119,204,163,185,3,120,204,135,205,3,120,204,136,205,3,121,204,128,205,3,121,204,129,205,3,121,204,130,205,3,121,204,131,205,3,121,204,132,205,3,121,204,135,205,3,121,204,136,205,3,121,204,137,205,3,121,204,138,205,3,121,204,163,185,3,122,204,129,205,3,122,204,130,205,3,122,204,135,205,3,122,204,140,205,3,122,204,163,185,3,122,204,177,185,4,194,168,204,128,206,4,194,168,204,129,206,4,194,168,205,130,206,4,195,134,204,129,205,4,195,134,204,132,205,4,195,152,204,129,205,4,195,166,204,129,205,4,195,166,204,132,205,4,195,184,204,129,205,4,197,191,204,135,205,4,198,183,204,140,205,4,202,146,204,140,205,4,206,145,204,128,205,4,206,145,204,129,205,4,206,145,204,132,205,4,206,145,204,134,205,4,206,145,205,133,221,4,206,149,204,128,205,4,206,149,204,129,205,4,206,151,204,128,205,4,206,151,204,129,205,4,206,151,205,133,221,4,206,153,204,128,205,4,206,153,204,129,205,4,206,153,204,132,205,4,206,153,204,134,205,4,206,153,204,136,205,4,206,159,204,128,205,4,206,159,204,129,205,4,206,161,204,148,205,4,206,165,204,128,205,4,206,165,204,129,205,4,206,165,204,132,205,4,206,165,204,134,205,4,206,165,204,136,205,4,206,169,204,128,205,4,206,169,204,129,205,4,206,169,205,133,221,4,206,177,204,132,205,4,206,177,204,134,205,4,206,177,205,133,221,4,206,181,204,128,205,4,206,181,204,129,205,4,206,183,205,133,221,4,206,185,204,128,205,4,206,185,204,129,205,4,206,185,204,132,205,4,206,185,204,134,205,4,206,185,205,130,205,4,206,191,204,128,205,4,206,191,204,129,205,4,207,129,204,147,205,4,207,129,204,148,205,4,207,133,204,128,205,4,207,133,204,129,205,4,207,133,204,132,205,4,207,133,204,134,205,4,207,133,205,130,205,4,207,137,205,133,221,4,207,146,204,129,205,4,207,146,204,136,205,4,208,134,204,136,205,4,208,144,204,134,205,4,208,144,204,136,205,4,208,147,204,129,205,4,208,149,204,128,205,4,208,149,204,134,205,4,208,149,204,136,205,4,208,150,204,134,205,4,208,150,204,136,205,4,208,151,204,136,205,4,208,152,204,128,205,4,208,152,204,132,205,4,208,152,204,134,205,4,208,152,204,136,205,4,208,154,204,129,205,4,208,158,204,136,205,4,208,163,204,132,205,4,208,163,204,134,205,4,208,163,204,136,205,4,208,163,204,139,205,4,208,167,204,136,205,4,208,171,204,136,205,4,208,173,204,136,205,4,208,176,204,134,205,4,208,176,204,136,205,4,208,179,204,129,205,4,208,181,204,128,205,4,208,181,204,134,205,4,208,181,204,136,205,4,208,182,204,134,205,4,208,182,204,136,205,4,208,183,204,136,205,4,208,184,204,128,205,4,208,184,204,132,205,4,208,184,204,134,205,4,208,184,204,136,205,4,208,186,204,129,205,4,208,190,204,136,205,4,209,131,204,132,205,4,209,131,204,134,205,4,209,131,204,136,205,4,209,131,204,139,205,4,209,135,204,136,205,4,209,139,204,136,205,4,209,141,204,136,205,4,209,150,204,136,205,4,209,180,204,143,205,4,209,181,204,143,205,4,211,152,204,136,205,4,211,153,204,136,205,4,211,168,204,136,205,4,211,169,204,136,205,4,216,167,217,147,205,4,216,167,217,148,205,4,216,167,217,149,185,4,217,136,217,148,205,4,217,138,217,148,205,4,219,129,217,148,205,4,219,146,217,148,205,4,219,149,217,148,205,5,65,204,130,204,128,206,5,65,204,130,204,129,206,5,65,204,130,204,131,206,5,65,204,130,204,137,206,5,65,204,134,204,128,206,5,65,204,134,204,129,206,5,65,204,134,204,131,206,5,65,204,134,204,137,206,5,65,204,135,204,132,206,5,65,204,136,204,132,206,5,65,204,138,204,129,206,5,65,204,163,204,130,206,5,65,204,163,204,134,206,5,67,204,167,204,129,206,5,69,204,130,204,128,206,5,69,204,130,204,129,206,5,69,204,130,204,131,206,5,69,204,130,204,137,206,5,69,204,132,204,128,206,5,69,204,132,204,129,206,5,69,204,163,204,130,206,5,69,204,167,204,134,206,5,73,204,136,204,129,206,5,76,204,163,204,132,206,5,79,204,130,204,128,206,5,79,204,130,204,129,206,5,79,204,130,204,131,206,5,79,204,130,204,137,206,5,79,204,131,204,129,206,5,79,204,131,204,132,206,5,79,204,131,204,136,206,5,79,204,132,204,128,206,5,79,204,132,204,129,206,5,79,204,135,204,132,206,5,79,204,136,204,132,206,5,79,204,155,204,128,206,5,79,204,155,204,129,206,5,79,204,155,204,131,206,5,79,204,155,204,137,206,5,79,204,155,204,163,186,5,79,204,163,204,130,206,5,79,204,168,204,132,206,5,82,204,163,204,132,206,5,83,204,129,204,135,206,5,83,204,140,204,135,206,5,83,204,163,204,135,206,5,85,204,131,204,129,206,5,85,204,132,204,136,206,5,85,204,136,204,128,206,5,85,204,136,204,129,206,5,85,204,136,204,132,206,5,85,204,136,204,140,206,5,85,204,155,204,128,206,5,85,204,155,204,129,206,5,85,204,155,204,131,206,5,85,204,155,204,137,206,5,85,204,155,204,163,186,5,97,204,130,204,128,206,5,97,204,130,204,129,206,5,97,204,130,204,131,206,5,97,204,130,204,137,206,5,97,204,134,204,128,206,5,97,204,134,204,129,206,5,97,204,134,204,131,206,5,97,204,134,204,137,206,5,97,204,135,204,132,206,5,97,204,136,204,132,206,5,97,204,138,204,129,206,5,97,204,163,204,130,206,5,97,204,163,204,134,206,5,99,204,167,204,129,206,5,101,204,130,204,128,206,5,101,204,130,204,129,206,5,101,204,130,204,131,206,5,101,204,130,204,137,206,5,101,204,132,204,128,206,5,101,204,132,204,129,206,5,101,204,163,204,130,206,5,101,204,167,204,134,206,5,105,204,136,204,129,206,5,108,204,163,204,132,206,5,111,204,130,204,128,206,5,111,204,130,204,129,206,5,111,204,130,204,131,206,5,111,204,130,204,137,206,5,111,204,131,204,129,206,5,111,204,131,204,132,206,5,111,204,131,204,136,206,5,111,204,132,204,128,206,5,111,204,132,204,129,206,5,111,204,135,204,132,206,5,111,204,136,204,132,206,5,111,204,155,204,128,206,5,111,204,155,204,129,206,5,111,204,155,204,131,206,5,111,204,155,204,137,206,5,111,204,155,204,163,186,5,111,204,163,204,130,206,5,111,204,168,204,132,206,5,114,204,163,204,132,206,5,115,204,129,204,135,206,5,115,204,140,204,135,206,5,115,204,163,204,135,206,5,117,204,131,204,129,206,5,117,204,132,204,136,206,5,117,204,136,204,128,206,5,117,204,136,204,129,206,5,117,204,136,204,132,206,5,117,204,136,204,140,206,5,117,204,155,204,128,206,5,117,204,155,204,129,206,5,117,204,155,204,131,206,5,117,204,155,204,137,206,5,117,204,155,204,163,186,5,225,190,191,204,128,206,5,225,190,191,204,129,206,5,225,190,191,205,130,206,5,225,191,190,204,128,206,5,225,191,190,204,129,206,5,225,191,190,205,130,206,5,226,134,144,204,184,5,5,226,134,146,204,184,5,5,226,134,148,204,184,5,5,226,135,144,204,184,5,5,226,135,146,204,184,5,5,226,135,148,204,184,5,5,226,136,131,204,184,5,5,226,136,136,204,184,5,5,226,136,139,204,184,5,5,226,136,163,204,184,5,5,226,136,165,204,184,5,5,226,136,188,204,184,5,5,226,137,131,204,184,5,5,226,137,133,204,184,5,5,226,137,136,204,184,5,5,226,137,141,204,184,5,5,226,137,161,204,184,5,5,226,137,164,204,184,5,5,226,137,165,204,184,5,5,226,137,178,204,184,5,5,226,137,179,204,184,5,5,226,137,182,204,184,5,5,226,137,183,204,184,5,5,226,137,186,204,184,5,5,226,137,187,204,184,5,5,226,137,188,204,184,5,5,226,137,189,204,184,5,5,226,138,130,204,184,5,5,226,138,131,204,184,5,5,226,138,134,204,184,5,5,226,138,135,204,184,5,5,226,138,145,204,184,5,5,226,138,146,204,184,5,5,226,138,162,204,184,5,5,226,138,168,204,184,5,5,226,138,169,204,184,5,5,226,138,171,204,184,5,5,226,138,178,204,184,5,5,226,138,179,204,184,5,5,226,138,180,204,184,5,5,226,138,181,204,184,5,6,206,145,204,147,205,133,222,6,206,145,204,148,205,133,222,6,206,149,204,147,204,128,206,6,206,149,204,147,204,129,206,6,206,149,204,148,204,128,206,6,206,149,204,148,204,129,206,6,206,151,204,147,205,133,222,6,206,151,204,148,205,133,222,6,206,153,204,147,204,128,206,6,206,153,204,147,204,129,206,6,206,153,204,147,205,130,206,6,206,153,204,148,204,128,206,6,206,153,204,148,204,129,206,6,206,153,204,148,205,130,206,6,206,159,204,147,204,128,206,6,206,159,204,147,204,129,206,6,206,159,204,148,204,128,206,6,206,159,204,148,204,129,206,6,206,165,204,148,204,128,206,6,206,165,204,148,204,129,206,6,206,165,204,148,205,130,206,6,206,169,204,147,205,133,222,6,206,169,204,148,205,133,222,6,206,177,204,128,205,133,222,6,206,177,204,129,205,133,222,6,206,177,204,147,205,133,222,6,206,177,204,148,205,133,222,6,206,177,205,130,205,133,222,6,206,181,204,147,204,128,206,6,206,181,204,147,204,129,206,6,206,181,204,148,204,128,206,6,206,181,204,148,204,129,206,6,206,183,204,128,205,133,222,6,206,183,204,129,205,133,222,6,206,183,204,147,205,133,222,6,206,183,204,148,205,133,222,6,206,183,205,130,205,133,222,6,206,185,204,136,204,128,206,6,206,185,204,136,204,129,206,6,206,185,204,136,205,130,206,6,206,185,204,147,204,128,206,6,206,185,204,147,204,129,206,6,206,185,204,147,205,130,206,6,206,185,204,148,204,128,206,6,206,185,204,148,204,129,206,6,206,185,204,148,205,130,206,6,206,191,204,147,204,128,206,6,206,191,204,147,204,129,206,6,206,191,204,148,204,128,206,6,206,191,204,148,204,129,206,6,207,133,204,136,204,128,206,6,207,133,204,136,204,129,206,6,207,133,204,136,205,130,206,6,207,133,204,147,204,128,206,6,207,133,204,147,204,129,206,6,207,133,204,147,205,130,206,6,207,133,204,148,204,128,206,6,207,133,204,148,204,129,206,6,207,133,204,148,205,130,206,6,207,137,204,128,205,133,222,6,207,137,204,129,205,133,222,6,207,137,204,147,205,133,222,6,207,137,204,148,205,133,222,6,207,137,205,130,205,133,222,6,224,164,168,224,164,188,13,6,224,164,176,224,164,188,13,6,224,164,179,224,164,188,13,6,224,177,134,224,177,150,137,6,224,183,153,224,183,138,21,6,227,129,134,227,130,153,17,6,227,129,139,227,130,153,17,6,227,129,141,227,130,153,17,6,227,129,143,227,130,153,17,6,227,129,145,227,130,153,17,6,227,129,147,227,130,153,17,6,227,129,149,227,130,153,17,6,227,129,151,227,130,153,17,6,227,129,153,227,130,153,17,6,227,129,155,227,130,153,17,6,227,129,157,227,130,153,17,6,227,129,159,227,130,153,17,6,227,129,161,227,130,153,17,6,227,129,164,227,130,153,17,6,227,129,166,227,130,153,17,6,227,129,168,227,130,153,17,6,227,129,175,227,130,153,17,6,227,129,175,227,130,154,17,6,227,129,178,227,130,153,17,6,227,129,178,227,130,154,17,6,227,129,181,227,130,153,17,6,227,129,181,227,130,154,17,6,227,129,184,227,130,153,17,6,227,129,184,227,130,154,17,6,227,129,187,227,130,153,17,6,227,129,187,227,130,154,17,6,227,130,157,227,130,153,17,6,227,130,166,227,130,153,17,6,227,130,171,227,130,153,17,6,227,130,173,227,130,153,17,6,227,130,175,227,130,153,17,6,227,130,177,227,130,153,17,6,227,130,179,227,130,153,17,6,227,130,181,227,130,153,17,6,227,130,183,227,130,153,17,6,227,130,185,227,130,153,17,6,227,130,187,227,130,153,17,6,227,130,189,227,130,153,17,6,227,130,191,227,130,153,17,6,227,131,129,227,130,153,17,6,227,131,132,227,130,153,17,6,227,131,134,227,130,153,17,6,227,131,136,227,130,153,17,6,227,131,143,227,130,153,17,6,227,131,143,227,130,154,17,6,227,131,146,227,130,153,17,6,227,131,146,227,130,154,17,6,227,131,149,227,130,153,17,6,227,131,149,227,130,154,17,6,227,131,152,227,130,153,17,6,227,131,152,227,130,154,17,6,227,131,155,227,130,153,17,6,227,131,155,227,130,154,17,6,227,131,175,227,130,153,17,6,227,131,176,227,130,153,17,6,227,131,177,227,130,153,17,6,227,131,178,227,130,153,17,6,227,131,189,227,130,153,17,8,206,145,204,147,204,128,205,133,223,8,206,145,204,147,204,129,205,133,223,8,206,145,204,147,205,130,205,133,223,8,206,145,204,148,204,128,205,133,223,8,206,145,204,148,204,129,205,133,223,8,206,145,204,148,205,130,205,133,223,8,206,151,204,147,204,128,205,133,223,8,206,151,204,147,204,129,205,133,223,8,206,151,204,147,205,130,205,133,223,8,206,151,204,148,204,128,205,133,223,8,206,151,204,148,204,129,205,133,223,8,206,151,204,148,205,130,205,133,223,8,206,169,204,147,204,128,205,133,223,8,206,169,204,147,204,129,205,133,223,8,206,169,204,147,205,130,205,133,223,8,206,169,204,148,204,128,205,133,223,8,206,169,204,148,204,129,205,133,223,8,206,169,204,148,205,130,205,133,223,8,206,177,204,147,204,128,205,133,223,8,206,177,204,147,204,129,205,133,223,8,206,177,204,147,205,130,205,133,223,8,206,177,204,148,204,128,205,133,223,8,206,177,204,148,204,129,205,133,223,8,206,177,204,148,205,130,205,133,223,8,206,183,204,147,204,128,205,133,223,8,206,183,204,147,204,129,205,133,223,8,206,183,204,147,205,130,205,133,223,8,206,183,204,148,204,128,205,133,223,8,206,183,204,148,204,129,205,133,223,8,206,183,204,148,205,130,205,133,223,8,207,137,204,147,204,128,205,133,223,8,207,137,204,147,204,129,205,133,223,8,207,137,204,147,205,130,205,133,223,8,207,137,204,148,204,128,205,133,223,8,207,137,204,148,204,129,205,133,223,8,207,137,204,148,205,130,205,133,223,8,240,145,130,153,240,145,130,186,13,8,240,145,130,155,240,145,130,186,13,8,240,145,130,165,240,145,130,186,13,66,194,180,1,67,32,204,129,205,67,32,204,131,205,67,32,204,132,205,67,32,204,133,205,67,32,204,134,205,67,32,204,135,205,67,32,204,136,205,67,32,204,138,205,67,32,204,139,205,67,32,204,147,205,67,32,204,148,205,67,32,204,167,169,67,32,204,168,169,67,32,204,179,185,67,32,205,130,205,67,32,205,133,221,67,32,217,139,93,67,32,217,140,97,67,32,217,141,101,67,32,217,142,105,67,32,217,143,109,67,32,217,144,113,67,32,217,145,117,67,32,217,146,121,67,65,204,138,205,67,115,204,135,205,68,32,227,130,153,17,68,32,227,130,154,17,68,194,168,204,129,206,68,206,145,204,129,205,68,206,149,204,129,205,68,206,151,204,129,205,68,206,153,204,129,205,68,206,159,204,129,205,68,206,165,204,129,205,68,206,165,204,136,205,68,206,169,204,129,205,68,206,177,204,129,205,68,206,181,204,129,205,68,206,183,204,129,205,68,206,185,204,129,205,68,206,191,204,129,205,68,207,133,204,129,205,68,207,137,204,129,205,68,215,144,214,183,53,68,215,144,214,184,57,68,215,144,214,188,69,68,215,145,214,188,69,68,215,145,214,191,77,68,215,146,214,188,69,68,215,147,214,188,69,68,215,148,214,188,69,68,215,149,214,185,61,68,215,149,214,188,69,68,215,150,214,188,69,68,215,152,214,188,69,68,215,153,214,180,41,68,215,153,214,188,69,68,215,154,214,188,69,68,215,155,214,188,69,68,215,155,214,191,77,68,215,156,214,188,69,68,215,158,214,188,69,68,215,160,214,188,69,68,215,161,214,188,69,68,215,163,214,188,69,68,215,164,214,188,69,68,215,164,214,191,77,68,215,166,214,188,69,68,215,167,214,188,69,68,215,168,214,188,69,68,215,169,214,188,69,68,215,169,215,129,81,68,215,169,215,130,85,68,215,170,214,188,69,68,215,178,214,183,53,68,216,167,217,139,93,68,216,167,217,147,205,68,216,167,217,148,205,68,216,167,217,149,185,68,216,176,217,176,125,68,216,177,217,176,125,68,217,128,217,139,93,68,217,128,217,142,105,68,217,128,217,143,109,68,217,128,217,144,113,68,217,128,217,145,117,68,217,128,217,146,121,68,217,135,217,176,125,68,217,136,217,148,205,68,217,137,217,176,125,68,217,138,217,148,205,68,219,146,217,148,205,68,219,149,217,148,205,69,32,204,136,204,128,206,69,32,204,136,204,129,206,69,32,204,136,205,130,206,69,32,204,147,204,128,206,69,32,204,147,204,129,206,69,32,204,147,205,130,206,69,32,204,148,204,128,206,69,32,204,148,204,129,206,69,32,204,148,205,130,206,69,32,217,140,217,145,118,69,32,217,141,217,145,118,69,32,217,142,217,145,118,69,32,217,143,217,145,118,69,32,217,144,217,145,118,69,32,217,145,217,176,126,69,226,171,157,204,184,5,70,206,185,204,136,204,129,206,70,207,133,204,136,204,129,206,70,215,169,214,188,215,129,82,70,215,169,214,188,215,130,86,70,217,128,217,142,217,145,118,70,217,128,217,143,217,145,118,70,217,128,217,144,217,145,118,70,224,164,149,224,164,188,13,70,224,164,150,224,164,188,13,70,224,164,151,224,164,188,13,70,224,164,156,224,164,188,13,70,224,164,161,224,164,188,13,70,224,164,162,224,164,188,13,70,224,164,171,224,164,188,13,70,224,164,175,224,164,188,13,70,224,166,161,224,166,188,13,70,224,166,162,224,166,188,13,70,224,166,175,224,166,188,13,70,224,168,150,224,168,188,13,70,224,168,151,224,168,188,13,70,224,168,156,224,168,188,13,70,224,168,171,224,168,188,13,70,224,168,178,224,168,188,13,70,224,168,184,224,168,188,13,70,224,172,161,224,172,188,13,70,224,172,162,224,172,188,13,70,224,190,178,224,190,128,161,70,224,190,179,224,190,128,161,70,227,131,134,227,130,153,17,72,240,157,133,151,240,157,133,165,177,72,240,157,133,152,240,157,133,165,177,72,240,157,134,185,240,157,133,165,177,72,240,157,134,186,240,157,133,165,177,73,224,190,178,224,189,177,224,190,128,162,73,224,190,179,224,189,177,224,190,128,162,76,240,157,133,152,240,157,133,165,240,157,133,174,178,76,240,157,133,152,240,157,133,165,240,157,133,175,178,76,240,157,133,152,240,157,133,165,240,157,133,176,178,76,240,157,133,152,240,157,133,165,240,157,133,177,178,76,240,157,133,152,240,157,133,165,240,157,133,178,178,76,240,157,134,185,240,157,133,165,240,157,133,174,178,76,240,157,134,185,240,157,133,165,240,157,133,175,178,76,240,157,134,186,240,157,133,165,240,157,133,174,178,76,240,157,134,186,240,157,133,165,240,157,133,175,178,131,65,204,130,205,131,65,204,134,205,131,65,204,135,205,131,65,204,136,205,131,65,204,138,205,131,65,204,163,185,131,67,204,167,169,131,69,204,130,205,131,69,204,132,205,131,69,204,163,185,131,69,204,167,169,131,73,204,136,205,131,76,204,163,185,131,79,204,130,205,131,79,204,131,205,131,79,204,132,205,131,79,204,135,205,131,79,204,136,205,131,79,204,155,177,131,79,204,163,185,131,79,204,168,169,131,82,204,163,185,131,83,204,129,205,131,83,204,140,205,131,83,204,163,185,131,85,204,131,205,131,85,204,132,205,131,85,204,136,205,131,85,204,155,177,131,97,204,130,205,131,97,204,134,205,131,97,204,135,205,131,97,204,136,205,131,97,204,138,205,131,97,204,163,185,131,99,204,167,169,131,101,204,130,205,131,101,204,132,205,131,101,204,163,185,131,101,204,167,169,131,105,204,136,205,131,108,204,163,185,131,111,204,130,205,131,111,204,131,205,131,111,204,132,205,131,111,204,135,205,131,111,204,136,205,131,111,204,155,177,131,111,204,163,185,131,111,204,168,169,131,114,204,163,185,131,115,204,129,205,131,115,204,140,205,131,115,204,163,185,131,117,204,131,205,131,117,204,132,205,131,117,204,136,205,131,117,204,155,177,132,206,145,204,147,205,132,206,145,204,148,205,132,206,149,204,147,205,132,206,149,204,148,205,132,206,151,204,147,205,132,206,151,204,148,205,132,206,153,204,147,205,132,206,153,204,148,205,132,206,159,204,147,205,132,206,159,204,148,205,132,206,165,204,148,205,132,206,169,204,147,205,132,206,169,204,148,205,132,206,177,204,128,205,132,206,177,204,129,205,132,206,177,204,147,205,132,206,177,204,148,205,132,206,177,205,130,205,132,206,181,204,147,205,132,206,181,204,148,205,132,206,183,204,128,205,132,206,183,204,129,205,132,206,183,204,147,205,132,206,183,204,148,205,132,206,183,205,130,205,132,206,185,204,136,205,132,206,185,204,147,205,132,206,185,204,148,205,132,206,191,204,147,205,132,206,191,204,148,205,132,207,133,204,136,205,132,207,133,204,147,205,132,207,133,204,148,205,132,207,137,204,128,205,132,207,137,204,129,205,132,207,137,204,147,205,132,207,137,204,148,205,132,207,137,205,130,205,134,206,145,204,147,204,128,206,134,206,145,204,147,204,129,206,134,206,145,204,147,205,130,206,134,206,145,204,148,204,128,206,134,206,145,204,148,204,129,206,134,206,145,204,148,205,130,206,134,206,151,204,147,204,128,206,134,206,151,204,147,204,129,206,134,206,151,204,147,205,130,206,134,206,151,204,148,204,128,206,134,206,151,204,148,204,129,206,134,206,151,204,148,205,130,206,134,206,169,204,147,204,128,206,134,206,169,204,147,204,129,206,134,206,169,204,147,205,130,206,134,206,169,204,148,204,128,206,134,206,169,204,148,204,129,206,134,206,169,204,148,205,130,206,134,206,177,204,147,204,128,206,134,206,177,204,147,204,129,206,134,206,177,204,147,205,130,206,134,206,177,204,148,204,128,206,134,206,177,204,148,204,129,206,134,206,177,204,148,205,130,206,134,206,183,204,147,204,128,206,134,206,183,204,147,204,129,206,134,206,183,204,147,205,130,206,134,206,183,204,148,204,128,206,134,206,183,204,148,204,129,206,134,206,183,204,148,205,130,206,134,207,137,204,147,204,128,206,134,207,137,204,147,204,129,206,134,207,137,204,147,205,130,206,134,207,137,204,148,204,128,206,134,207,137,204,148,204,129,206,134,207,137,204,148,205,130,206,66,204,128,205,51,66,204,129,205,51,66,204,147,205,51,67,225,133,161,1,0,67,225,133,162,1,0,67,225,133,163,1,0,67,225,133,164,1,0,67,225,133,165,1,0,67,225,133,166,1,0,67,225,133,167,1,0,67,225,133,168,1,0,67,225,133,169,1,0,67,225,133,170,1,0,67,225,133,171,1,0,67,225,133,172,1,0,67,225,133,173,1,0,67,225,133,174,1,0,67,225,133,175,1,0,67,225,133,176,1,0,67,225,133,177,1,0,67,225,133,178,1,0,67,225,133,179,1,0,67,225,133,180,1,0,67,225,133,181,1,0,67,225,134,170,1,0,67,225,134,172,1,0,67,225,134,173,1,0,67,225,134,176,1,0,67,225,134,177,1,0,67,225,134,178,1,0,67,225,134,179,1,0,67,225,134,180,1,0,67,225,134,181,1,0,68,204,136,204,129,206,51,67,227,130,153,17,4,67,227,130,154,17,4,70,224,189,177,224,189,178,162,39,70,224,189,177,224,189,180,166,39,70,224,189,177,224,190,128,162,39,0,1]);S=$toNativeArray($kindUint16,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40960,40960,40960,0,0,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,0,40960,40960,40960,40960,40960,40960,40960,40960,40960,0,0,0,0,0,0,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,0,40960,40960,40960,40960,40960,40960,40960,40960,40960,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12166,12171,18079,12176,18094,18099,40960,18109,12281,12286,18114,12306,12421,12426,12431,18134,0,12571,12606,12611,18144,18149,18164,0,40960,12746,12751,12756,18214,12876,0,0,12946,12951,18224,12956,18239,18244,40960,18254,13061,13066,18259,13086,13206,13211,13216,18279,0,13356,13391,13396,18289,18294,18309,0,40960,13536,13541,13546,18359,13671,0,13696,12181,12961,18084,18229,12211,12991,12231,13011,12236,13016,12241,13021,12246,13026,12256,13036,0,0,18119,18264,12296,13076,12301,13081,12331,13111,12316,13096,12356,13136,12366,13146,12371,13151,12381,13161,12386,13166,0,0,12436,13221,12441,13226,12446,13231,12481,13261,12451,0,0,0,12491,13271,12511,13296,0,12521,13306,12531,13316,12526,13311,0,0,0,0,12566,13351,12591,13376,12581,13366,0,0,0,18154,18299,12616,13401,12626,13411,0,0,12656,13441,12681,13466,12666,13451,18189,18334,12691,13476,12706,13491,18194,18339,12731,13521,12716,13506,0,0,18204,18349,18209,18354,12761,13551,12771,13561,12776,13566,12806,13596,12841,13631,12881,13676,12901,12916,13716,12926,13726,12931,13731,40960,0,0,0,0,33024,33024,33024,0,0,0,0,0,0,12191,12971,12461,13241,12631,13416,12781,13571,14822,15221,14815,15214,14829,15228,14808,15207,0,14535,14934,14528,14927,13770,13788,0,0,12376,13156,12501,13286,18179,18324,14759,15158,13806,13812,13276,0,0,0,12351,13131,0,0,12561,13346,14542,14941,13764,13782,13776,13794,12196,12976,12201,12981,12321,13101,12326,13106,12466,13246,12471,13251,12636,13421,12641,13426,12671,13456,12676,13461,12786,13576,12791,13581,12701,13486,12726,13516,0,0,12401,13181,0,0,0,0,0,0,18089,18234,18129,18274,14710,15109,14675,15074,18159,18304,14703,15102,12891,13686,0,0,0,0,0,0,0,0,0,0,0,0,39219,39219,39219,39219,39219,33075,39219,39219,39219,39219,39219,39219,39219,33075,33075,39219,33075,39219,33075,39219,39219,33076,33070,33070,33070,33070,33076,39212,33070,33070,33070,33070,33070,33066,33066,39214,39214,39214,39214,39210,39210,33070,33070,33070,33070,39214,39214,33070,39214,39214,33070,33070,33025,33025,33025,33025,39169,33070,33070,33070,33070,33075,33075,33075,18885,18890,39219,18895,19080,39223,33075,33070,33070,33070,33075,33075,33075,33070,33070,0,33075,33075,33075,33070,33070,33070,33070,33075,33076,33070,33070,33075,33077,33078,33078,33077,33078,33078,33077,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,0,0,0,0,371,0,0,0,0,0,33024,0,0,0,55,0,0,0,0,0,33024,13752,13824,206,13854,13866,13884,0,13914,0,13932,13962,15903,40960,0,0,0,40960,0,40960,0,40960,0,0,0,0,0,40960,0,40960,0,0,0,40960,0,0,0,40960,13902,13950,18453,13998,18495,14016,16007,40960,0,0,0,40960,0,40960,0,40960,0,0,0,0,0,40960,14136,14148,0,14130,0,0,40960,14112,0,0,0,0,14196,14172,14214,0,40960,0,0,40960,0,40960,40960,40960,40960,14184,40960,0,0,0,40960,0,0,0,0,40960,0,0,0,40960,0,0,0,40960,0,40960,0,0,40960,0,0,40960,0,40960,40960,40960,40960,14316,40960,0,0,0,40960,0,0,14154,14286,0,0,0,0,0,0,0,0,0,0,0,0,0,14118,14250,14124,14256,0,0,14142,14274,40960,40960,14400,14406,14160,14292,14166,14298,0,0,14178,14310,14190,14322,14202,14334,40960,40960,14412,14418,14244,14376,14208,14340,14220,14352,14226,14358,14232,14364,0,0,14238,14370,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33070,33075,33075,33075,33075,33070,33075,33075,33075,33071,33070,33075,33075,33075,33075,33075,33075,33070,33070,33070,33070,33070,33070,33075,33075,33070,33075,33075,33071,33074,33075,33030,33031,33032,33033,33034,33035,33036,33037,33038,33039,33039,33040,33041,33042,0,33043,0,0,0,0,0,0,0,0,40960,0,40960,33047,33048,33049,33050,33051,33052,33053,33054,39219,39219,39214,33070,33075,33075,33075,33075,33075,33070,33075,33075,33070,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33055,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33070,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,0,33070,33075,33075,33070,33075,33075,33070,33075,33075,33075,33070,33070,33070,33047,33048,33049,33075,33075,33075,33070,33075,33075,33070,33070,33075,33075,33075,33075,33075,0,0,0,0,0,40960,11571,40960,11579,40960,11587,40960,11595,40960,11603,0,0,40960,11611,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33027,39168,0,0,0,0,40960,11619,40960,11627,40960,40960,33075,33075,33070,33075,33075,33075,33075,33075,33075,33075,33070,33075,33075,33078,33067,33070,33066,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33076,33074,33074,33070,0,33075,33077,33070,33075,33070,12206,12986,12216,12996,12221,13001,12226,13006,14563,14962,12251,13031,12261,13041,12276,13056,12266,13046,12271,13051,14598,14997,14605,15004,12336,13116,12341,13121,14619,15018,12346,13126,12361,13141,12391,13171,12406,13186,12396,13176,12411,13191,12416,13196,12486,13266,14626,15025,12496,13281,12506,13291,12516,13301,18139,18284,14633,15032,12541,13326,12536,13321,12546,13331,12551,13336,12556,13341,12576,13361,12586,13371,12601,13386,12596,13381,14668,15067,14682,15081,14689,15088,14696,15095,12646,13431,12651,13436,12661,13446,18184,18329,14766,15165,12686,13471,12696,13481,18199,18344,14773,15172,14780,15179,14787,15186,12711,13496,12721,13511,12741,13531,12736,13526,12801,13591,12816,13606,12811,13601,14794,15193,14801,15200,12821,13611,12826,13616,12831,13621,12836,13626,12851,13641,12846,13636,12856,13651,12861,13656,12866,13661,12896,13691,12921,13721,12936,13736,12941,13741,13201,13501,13646,13706,0,13800,0,0,0,0,18104,18249,12186,12966,14479,14878,14472,14871,14493,14892,14486,14885,14549,14948,14507,14906,14500,14899,14521,14920,14514,14913,14556,14955,18124,18269,12311,13091,12291,13071,14577,14976,14570,14969,14591,14990,14584,14983,14612,15011,12456,13236,12476,13256,18174,18319,12621,13406,14647,15046,14640,15039,14661,15060,14654,15053,14752,15151,14724,15123,14717,15116,14738,15137,14731,15130,14745,15144,12796,13586,12766,13556,14843,15242,14836,15235,14857,15256,14850,15249,14864,15263,12871,13666,12911,13711,12906,13701,12886,13681,0,0,0,0,0,0,18459,18465,18741,18765,18749,18773,18757,18781,18369,18375,18597,18621,18605,18629,18613,18637,18477,18483,15823,15839,15831,15847,0,0,18381,18387,15615,15631,15623,15639,0,0,18501,18507,18789,18813,18797,18821,18805,18829,18393,18399,18645,18669,18653,18677,18661,18685,18525,18531,15919,15943,15927,15951,15935,15959,18405,18411,15663,15687,15671,15695,15679,15703,18537,18543,15967,15983,15975,15991,0,0,18417,18423,15711,15727,15719,15735,0,0,18555,18561,16023,16047,16031,16055,16039,16063,0,18429,0,15743,0,15751,0,15759,18579,18585,18837,18861,18845,18869,18853,18877,18435,18441,18693,18717,18701,18725,18709,18733,18447,17205,13992,17211,18489,17217,14010,17223,14040,17229,14064,17235,18567,17241,0,0,15799,15807,16795,16825,16805,16835,16815,16845,15599,15607,16615,16645,16625,16655,16635,16665,15871,15879,16855,16885,16865,16895,16875,16905,15647,15655,16675,16705,16685,16715,16695,16725,16087,16095,16915,16945,16925,16955,16935,16965,15767,15775,16735,16765,16745,16775,16755,16785,13980,13974,15783,13986,15791,0,18471,15815,13836,13830,13818,17157,13842,33024,470,41216,33024,13758,15855,14004,15863,0,18513,15887,13848,17163,13860,17169,13872,15270,15277,15284,14028,14022,15895,17659,0,0,14034,15911,13896,13890,13878,17175,0,15291,15298,15305,14082,14076,15999,17667,14052,14058,14088,16015,13944,13938,13926,17187,13920,13746,17151,129,0,0,16071,14094,16079,0,18591,16103,13908,17181,13956,17199,13968,17005,41216,0,0,15389,0,40960,15396,40960,0,15403,40960,15410,0,0,0,40960,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12156,40960,15424,0,40960,40960,0,0,0,0,0,0,0,15417,12151,12161,15431,15438,40960,40960,15445,15452,40960,40960,15459,15466,40960,40960,40960,40960,0,0,15473,15480,40960,40960,15501,15508,40960,40960,15515,15522,0,0,0,0,0,0,0,40960,40960,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40960,0,0,0,0,0,40960,40960,0,40960,15543,15550,15557,15564,0,0,40960,40960,40960,40960,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40960,0,0,0,0,40960,16159,40960,16167,40960,16175,40960,16183,40960,16191,40960,16199,40960,16207,40960,16215,40960,16223,40960,16231,40960,16239,40960,16247,0,40960,16255,40960,16263,40960,16271,0,0,0,0,0,40960,16279,16287,40960,16295,16303,40960,16311,16319,40960,16327,16335,40960,16343,16351,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16151,0,0,0,0,39172,39172,33024,33024,40960,16359,0,0,0,0,0,0,0,40960,0,0,0,0,40960,16375,40960,16383,40960,16391,40960,16399,40960,16407,40960,16415,40960,16423,40960,16431,40960,16439,40960,16447,40960,16455,40960,16463,0,40960,16471,40960,16479,40960,16487,0,0,0,0,0,40960,16495,16503,40960,16511,16519,40960,16527,16535,40960,16543,16551,40960,16559,16567,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40960,40960,40960,40960,0,16367,0,0,16575,16583,16591,16599,0,0,40960,16607,0,4986,3326,5078,5026,3674,1774,2274,5678,5678,2574,5218,2374,2570,3058,4050,4450,4762,4822,4874,5150,3446,3586,3758,3910,4706,5194,5494,1810,2230,3466,3794,4758,5574,2742,3706,4742,4890,3110,4542,4834,2850,3346,3610,3870,5162,1874,2026,2134,3214,3458,3790,4082,4474,4750,4774,5066,5362,5542,5570,4142,4206,4390,4678,5246,5582,4942,2506,2878,4318,4510,3842,4150,5018,5354,2502,2706,3450,3630,3682,4374,4414,5290,2130,4522,2038,2034,4250,4394,4702,5298,4970,3114,3446,4954,1786,2662,2966,3890,4018,2166,4158,1890,2938,1754,3566,3238,4370,2250,2486,4094,4710,4926,3514,5114,3558,3130,4638,3162,4014,1838,1962,2030,3414,4350,4598,4938,5214,2142,2322,2586,2866,3266,3710,4162,5274,5502,5586,5610,2106,3318,3494,5102,2814,3034,3062,3206,3694,3770,3946,4238,4402,4502,5086,4718,5126,5250,2066,2110,2342,3754,4854,4926,2846,2958,3154,3506,4314,3878,1854,2434,2662,2762,2970,3906,3934,4462,4494,5222,5350,5366,5426,1878,4226,5202,5326,2994,1818,1914,2666,2698,3250,3446,3782,4046,4730,5146,5670,3302,5286,2102,3378,3390,3602,3658,3918,4010,4138,4366,5438,1970,3078,5302,1898,2734,3634,5090,2922,3002,3398,3890,5310,2074,2306,2714,3286,3362,3426,3574,3914,4030,4442,4858,4870,5210,5338,2182,3662,2310,3786,3950,4746,5314,5550,5590,3386,3626,4550,4282,4294,4330,3866,3746,4966,1846,4654,2078,2062,2830,3118,4342,2646,3590,3314,5098,4842,5294,4902,2858,1930,2398,0,0,2482,0,3298,0,0,2042,3874,4070,4170,4198,4202,4222,5374,4334,4466,0,4754,0,4950,0,0,5130,5174,0,0,0,5458,5462,5466,5566,5166,5322,1882,1918,1938,2126,2138,2202,2382,2410,2418,2478,2490,2710,2718,2982,3022,3030,3054,3226,3274,3306,3418,3614,3642,3690,3774,3806,3922,4146,4174,4182,4178,4186,4190,4194,4214,4218,4254,4274,4302,4402,4410,4418,4438,4478,4558,4610,4610,4714,4882,4906,4958,4962,5030,5034,5122,5130,5342,5410,5434,2974,5921,4582,0,0,1762,2022,1958,1870,1934,1978,2122,2150,2382,2362,2378,2406,2482,2498,2566,2578,2606,2622,2854,2862,2910,2942,2990,3014,2998,3030,3018,3054,3082,3170,3182,3190,3230,3298,3346,3350,3370,3498,3514,3602,3678,3670,3690,3718,3774,4118,3810,3862,3874,3938,3966,4002,4038,4042,4070,4074,4090,4110,4106,4154,4278,4302,4326,4382,4402,4430,4478,4658,4698,4814,4886,4898,4906,4930,4950,4934,4958,4954,4946,4962,4974,5034,5094,5142,5198,5230,5306,5342,5374,5394,5410,5422,5434,5518,5678,5816,5811,5861,1546,1586,1590,5991,6036,6156,5658,5674,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1790,1782,1798,5706,1866,1882,1886,1894,1902,1906,1918,1910,1462,5726,1938,1942,1946,1974,5711,1466,1954,1986,5721,2002,2010,1850,2018,2022,6196,2050,2058,1474,2082,2086,2094,2098,1478,2122,2126,2138,2150,2154,2158,2166,2198,2202,2210,2226,2234,2238,2238,2238,5741,3734,2258,2266,5746,2278,2286,2294,2334,2314,2326,2330,2338,2346,2350,2358,2366,2370,2370,2378,2386,2390,2402,2438,2410,2442,2414,2422,2062,2514,2458,2462,2466,2454,2474,2470,2494,5751,2522,2526,2534,2546,2554,2582,5756,5761,2594,2598,2602,2590,2610,1482,1486,2618,2626,2626,5766,2654,2658,2662,2670,5771,2678,2682,2898,2690,1490,2702,2718,2730,2726,5781,2738,5786,2750,2746,2754,2770,2774,1494,2790,2798,2802,2806,1498,5791,1502,2834,2838,2842,2850,6246,2874,5801,5801,4570,2890,2890,1506,5836,6046,2906,2914,1510,2934,2950,2954,2962,2978,1518,1514,2982,5806,2986,3006,3010,3014,3010,3026,3030,3046,3038,3042,3050,3054,3058,3070,3074,3098,3106,3122,3142,5821,3138,3126,3150,3158,3178,5826,3186,3174,3166,1522,3194,3202,3210,3198,1526,3226,3234,5831,3278,3330,3294,1538,3306,1534,1530,1990,1994,3334,3310,4526,1638,3346,3350,3354,3374,3366,5856,1542,3394,3382,3410,3418,5866,3422,3402,3430,1546,3434,3438,3442,3454,5871,3462,1550,3474,5876,3478,1554,3490,3502,3514,3518,5881,5776,5886,3550,5891,3562,3570,3554,3582,3598,3614,3602,3606,3618,3622,5896,3594,3646,3650,1558,3670,3666,5901,3638,3698,5906,5911,3702,3722,3718,3714,1562,3726,3742,3738,3750,5716,3766,5916,3778,5926,3798,3810,3830,5931,3850,3854,5936,5941,3882,3898,1566,3902,1570,1570,3926,3930,3938,3942,3954,1574,3978,5946,4006,5951,4018,5796,4034,5956,5961,5966,1578,1582,4090,5976,5971,5981,5986,4098,4102,4102,4110,1590,4114,1594,1598,5996,4134,4142,4154,1602,6001,4190,6006,6011,4222,4246,1606,4254,4258,4262,6016,6021,6021,4286,1610,6026,4306,4310,1614,6031,4338,1618,4354,4346,4362,6041,4386,1622,4398,4406,4422,1626,6051,6056,1630,6061,4446,6066,4458,4470,4478,6071,6076,4498,6081,4506,5841,1634,4530,4534,1642,4538,2614,6086,6091,5846,5851,4570,4574,5110,1646,4618,4614,4622,2114,4626,4630,4634,4642,6096,4638,4646,4666,4670,4650,4674,4694,4714,4662,4682,4686,4690,6101,6111,6106,1650,4722,4726,4734,6131,4738,6116,1654,1658,6121,6126,1662,4770,4774,4778,4782,4794,4790,4802,4798,4814,4806,4810,4818,1666,4826,4830,1670,4846,4850,6136,4862,4866,1674,4878,1470,6141,6146,1678,1682,4922,4946,4974,4990,6151,5010,5014,5038,5050,6161,5731,5062,5058,5070,5736,5082,5094,6166,6171,5158,5170,5178,6176,5182,5226,5238,5242,5234,5254,5258,6181,5270,1686,5278,6186,1690,5334,2758,5358,6191,6201,1694,1698,5398,6206,1702,6211,5422,5422,5430,6216,5454,1706,5470,5482,5490,5498,1710,6221,5518,5546,5558,1714,1718,5562,6226,1722,6231,6236,6241,5598,1726,5618,5626,5630,5638,5646,5654,6251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);T=$toNativeArray($kindUint8,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,1,2,3,47,4,5,0,48,49,6,7,8,50,9,51,52,10,0,0,11,53,54,12,0,55,56,57,0,58,2,3,4,5,0,0,0,0,0,0,6,7,8,9,0,10,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,60,0,13,61,62,63,64,65,66,67,68,63,69,70,71,0,72,73,74,75,76,0,77,78,79,80,81,82,83,84,85,86,0,87,0,88,89,90,91,0,0,0,0,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,94,0,0,95,0,96,0,0,0,97,98,99,100,14,101,102,103,104,0,0,105,0,0,0,15,16,17,18,19,20,21,22,23,106,0,0,107,108,0,109,110,111,24,25,112,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,0,0,0,0,0,0,0,115,0,116,0,117,0,0,0,0,0,0,0,0,118,26,27,28,119,120,0,0,0,121,0,0,122,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,125,126,0,0,0,0,127,0,0,128,129,130,131,132,0,0,133,134,0,0,0,135,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,142,136,137,138,139,140,141,143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,30,31,32,33,34,35,36,144,145,146,0,0,147,148,149,150,0,0,0,151,152,153,154,0,0,155,156,0,0,0,0,0,0,0,157,0,0,0,158,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,0,0,161,0,0,0,0,0,0,0,0,162,0,0,0,0,0,163,0,0,164,0,0,0,165,166,0,167,131,0,168,169,0,0,170,171,172,0,0,0,173,174,175,0,0,176,177,116,0,178,0,179,0,0,0,180,0,0,0,181,182,0,183,184,185,186,0,0,0,0,0,116,0,0,0,0,187,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,194,195,0,196,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,0,0,0,190,0,0,0,0,0,0,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,0,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,38,39,40,41,42,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,12,0,0,0,0,13,0,0,0,0,14,0,15,16,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);U=new CC([0,5,9,11,13,24,40,42,47,58,73,86,94,99,104,106,114,121,124,132,136,140,142,144,153,157,164,169,172,182,185,192,200,203,205,208,210,215,232,244,246,252,254,256,258,260,262,264,267,270,272,275,278,282,288,290,299,301,304,306,317,321,335,338,344,350,361,365,367,369,371,373,375,381,385,387,389,397,401,404,406,408,411,414,416,418,420,422,428,431,433,440,446,452,460,466,472,478,482,496,505,508,511,513,516,518,522,527,529,531,536,542,544,546,548,554,557,559,561,567,570,578,585,588,591,593,596,604,608,615,618,624,626,629,631,634,639,641,643,645,647,649,652,654,656,658,660,662,675,685,687,689,695,697,699,702]);V=$toNativeArray($kindStruct,[new G.ptr(0,4,0),new G.ptr(41216,168,168),new G.ptr(33024,175,175),new G.ptr(33024,180,180),new G.ptr(33024,184,184),new G.ptr(145,3,0),new G.ptr(18169,160,161),new G.ptr(18219,175,176),new G.ptr(40960,183,183),new G.ptr(0,1,0),new G.ptr(40960,146,146),new G.ptr(0,1,0),new G.ptr(33024,152,157),new G.ptr(6,10,0),new G.ptr(40960,129,129),new G.ptr(40960,133,133),new G.ptr(40960,137,137),new G.ptr(18519,138,138),new G.ptr(18549,139,139),new G.ptr(14046,140,140),new G.ptr(14070,141,141),new G.ptr(18573,142,142),new G.ptr(40960,146,146),new G.ptr(14100,147,148),new G.ptr(0,15,0),new G.ptr(40960,131,131),new G.ptr(40960,135,135),new G.ptr(40960,139,139),new G.ptr(40960,141,141),new G.ptr(14268,144,144),new G.ptr(14280,145,145),new G.ptr(14262,147,147),new G.ptr(40960,150,150),new G.ptr(14382,151,151),new G.ptr(14328,156,156),new G.ptr(14304,157,157),new G.ptr(14346,158,158),new G.ptr(40960,180,181),new G.ptr(14388,182,182),new G.ptr(14394,183,183),new G.ptr(0,1,0),new G.ptr(33075,131,135),new G.ptr(1,4,0),new G.ptr(33044,129,130),new G.ptr(33075,132,132),new G.ptr(33070,133,133),new G.ptr(33038,135,135),new G.ptr(0,10,0),new G.ptr(33075,144,151),new G.ptr(33050,152,152),new G.ptr(33051,153,153),new G.ptr(33052,154,154),new G.ptr(14424,162,162),new G.ptr(14430,163,163),new G.ptr(14442,164,164),new G.ptr(14436,165,165),new G.ptr(14448,166,166),new G.ptr(40960,167,167),new G.ptr(0,14,0),new G.ptr(14466,128,128),new G.ptr(40960,129,129),new G.ptr(14454,130,130),new G.ptr(40960,146,146),new G.ptr(14460,147,147),new G.ptr(40960,149,149),new G.ptr(33075,150,156),new G.ptr(33075,159,162),new G.ptr(33070,163,163),new G.ptr(33075,164,164),new G.ptr(33075,167,168),new G.ptr(33070,170,170),new G.ptr(33075,171,172),new G.ptr(33070,173,173),new G.ptr(0,12,0),new G.ptr(33056,145,145),new G.ptr(33075,176,176),new G.ptr(33070,177,177),new G.ptr(33075,178,179),new G.ptr(33070,180,180),new G.ptr(33075,181,182),new G.ptr(33070,183,185),new G.ptr(33075,186,186),new G.ptr(33070,187,188),new G.ptr(33075,189,189),new G.ptr(33070,190,190),new G.ptr(33075,191,191),new G.ptr(5,7,0),new G.ptr(33075,128,128),new G.ptr(33075,129,129),new G.ptr(33070,130,131),new G.ptr(33070,132,133),new G.ptr(33070,134,135),new G.ptr(33070,136,137),new G.ptr(33075,138,138),new G.ptr(0,4,0),new G.ptr(33075,171,177),new G.ptr(33070,178,178),new G.ptr(33075,179,179),new G.ptr(33070,189,189),new G.ptr(0,4,0),new G.ptr(33075,150,153),new G.ptr(33075,155,163),new G.ptr(33075,165,167),new G.ptr(33075,169,173),new G.ptr(0,1,0),new G.ptr(33070,153,155),new G.ptr(0,7,0),new G.ptr(40960,168,168),new G.ptr(16111,169,169),new G.ptr(40960,176,176),new G.ptr(16119,177,177),new G.ptr(40960,179,179),new G.ptr(16127,180,180),new G.ptr(39171,188,188),new G.ptr(8,6,0),new G.ptr(33029,141,141),new G.ptr(33075,145,145),new G.ptr(33070,146,146),new G.ptr(33075,147,147),new G.ptr(33075,148,148),new G.ptr(17715,152,159),new G.ptr(0,2,0),new G.ptr(33027,188,188),new G.ptr(39168,190,190),new G.ptr(8,7,0),new G.ptr(40960,135,135),new G.ptr(11435,139,140),new G.ptr(33029,141,141),new G.ptr(39168,151,151),new G.ptr(17779,156,157),new G.ptr(17795,159,159),new G.ptr(33075,190,190),new G.ptr(0,3,0),new G.ptr(17835,179,179),new G.ptr(17843,182,182),new G.ptr(33027,188,188),new G.ptr(8,3,0),new G.ptr(33029,141,141),new G.ptr(17803,153,155),new G.ptr(17827,158,158),new G.ptr(0,1,0),new G.ptr(33027,188,188),new G.ptr(0,1,0),new G.ptr(33029,141,141),new G.ptr(0,8,0),new G.ptr(40960,135,135),new G.ptr(11459,136,136),new G.ptr(11451,139,139),new G.ptr(11467,140,140),new G.ptr(33029,141,141),new G.ptr(39168,150,151),new G.ptr(17851,156,156),new G.ptr(17859,157,157),new G.ptr(0,3,0),new G.ptr(40960,146,146),new G.ptr(11475,148,148),new G.ptr(39168,190,190),new G.ptr(0,6,0),new G.ptr(40960,134,135),new G.ptr(11483,138,138),new G.ptr(11499,139,139),new G.ptr(11491,140,140),new G.ptr(33029,141,141),new G.ptr(39168,151,151),new G.ptr(6145,4,0),new G.ptr(40960,134,134),new G.ptr(16135,136,136),new G.ptr(33029,141,141),new G.ptr(33057,149,150),new G.ptr(0,2,0),new G.ptr(33027,188,188),new G.ptr(40960,191,191),new G.ptr(0,9,0),new G.ptr(11507,128,128),new G.ptr(39168,130,130),new G.ptr(40960,134,134),new G.ptr(11515,135,135),new G.ptr(11523,136,136),new G.ptr(12135,138,138),new G.ptr(11759,139,139),new G.ptr(33029,141,141),new G.ptr(39168,149,150),new G.ptr(0,2,0),new G.ptr(33029,187,188),new G.ptr(39168,190,190),new G.ptr(0,6,0),new G.ptr(40960,134,135),new G.ptr(11531,138,138),new G.ptr(11547,139,139),new G.ptr(11539,140,140),new G.ptr(33029,141,141),new G.ptr(39168,151,151),new G.ptr(27613,7,0),new G.ptr(39173,138,138),new G.ptr(39168,143,143),new G.ptr(40960,153,153),new G.ptr(16143,154,154),new G.ptr(12143,156,156),new G.ptr(11770,157,157),new G.ptr(11555,158,159),new G.ptr(0,2,0),new G.ptr(33059,184,185),new G.ptr(33029,186,186),new G.ptr(0,1,0),new G.ptr(33060,136,139),new G.ptr(0,2,0),new G.ptr(33061,184,185),new G.ptr(33029,186,186),new G.ptr(0,1,0),new G.ptr(33062,136,139),new G.ptr(0,4,0),new G.ptr(33070,152,153),new G.ptr(33070,181,181),new G.ptr(33070,183,183),new G.ptr(33068,185,185),new G.ptr(0,16,0),new G.ptr(9802,131,131),new G.ptr(9809,141,141),new G.ptr(9816,146,146),new G.ptr(9823,151,151),new G.ptr(9830,156,156),new G.ptr(9795,169,169),new G.ptr(33063,177,177),new G.ptr(33064,178,178),new G.ptr(19099,179,179),new G.ptr(33065,180,180),new G.ptr(19108,181,181),new G.ptr(17867,182,182),new G.ptr(33280,183,183),new G.ptr(17875,184,184),new G.ptr(33280,185,185),new G.ptr(33064,186,189),new G.ptr(0,11,0),new G.ptr(33064,128,128),new G.ptr(19117,129,129),new G.ptr(33075,130,131),new G.ptr(33029,132,132),new G.ptr(33075,134,135),new G.ptr(9844,147,147),new G.ptr(9851,157,157),new G.ptr(9858,162,162),new G.ptr(9865,167,167),new G.ptr(9872,172,172),new G.ptr(9837,185,185),new G.ptr(0,1,0),new G.ptr(33070,134,134),new G.ptr(0,5,0),new G.ptr(40960,165,165),new G.ptr(11563,166,166),new G.ptr(39168,174,174),new G.ptr(33027,183,183),new G.ptr(33029,185,186),new G.ptr(0,1,0),new G.ptr(33070,141,141),new G.ptr(0,1,0),new G.ptr(40960,128,146),new G.ptr(0,1,0),new G.ptr(47360,161,181),new G.ptr(0,1,0),new G.ptr(39168,168,191),new G.ptr(0,1,0),new G.ptr(39168,128,130),new G.ptr(0,1,0),new G.ptr(33075,157,159),new G.ptr(0,2,0),new G.ptr(33029,148,148),new G.ptr(33029,180,180),new G.ptr(0,2,0),new G.ptr(33029,146,146),new G.ptr(33075,157,157),new G.ptr(0,1,0),new G.ptr(33074,169,169),new G.ptr(4,2,0),new G.ptr(33071,185,186),new G.ptr(33070,187,187),new G.ptr(0,2,0),new G.ptr(33075,151,151),new G.ptr(33070,152,152),new G.ptr(0,3,0),new G.ptr(33029,160,160),new G.ptr(33075,181,188),new G.ptr(33070,191,191),new G.ptr(0,5,0),new G.ptr(33075,176,180),new G.ptr(33070,181,186),new G.ptr(33075,187,188),new G.ptr(33070,189,189),new G.ptr(33070,191,191),new G.ptr(0,1,0),new G.ptr(33070,128,128),new G.ptr(0,8,0),new G.ptr(11635,128,128),new G.ptr(11643,129,129),new G.ptr(40960,130,130),new G.ptr(11651,131,131),new G.ptr(33029,132,132),new G.ptr(33075,171,171),new G.ptr(33070,172,172),new G.ptr(33075,173,179),new G.ptr(0,1,0),new G.ptr(33029,170,171),new G.ptr(0,2,0),new G.ptr(33027,166,166),new G.ptr(33029,178,179),new G.ptr(0,1,0),new G.ptr(33027,183,183),new G.ptr(0,10,0),new G.ptr(33075,144,146),new G.ptr(33025,148,148),new G.ptr(33070,149,153),new G.ptr(33075,154,155),new G.ptr(33070,156,159),new G.ptr(33075,160,160),new G.ptr(33025,162,168),new G.ptr(33070,173,173),new G.ptr(33075,180,180),new G.ptr(33075,184,185),new G.ptr(4,3,0),new G.ptr(1078,128,129),new G.ptr(33024,151,151),new G.ptr(33024,190,190),new G.ptr(0,13,0),new G.ptr(33075,144,145),new G.ptr(33025,146,147),new G.ptr(33075,148,151),new G.ptr(33025,152,154),new G.ptr(33075,155,156),new G.ptr(33075,161,161),new G.ptr(33025,165,166),new G.ptr(33075,167,167),new G.ptr(33070,168,168),new G.ptr(33075,169,169),new G.ptr(33025,170,171),new G.ptr(33070,172,175),new G.ptr(33075,176,176),new G.ptr(17042,2,0),new G.ptr(443,166,166),new G.ptr(87,170,171),new G.ptr(7,5,0),new G.ptr(40960,144,144),new G.ptr(40960,146,146),new G.ptr(40960,148,148),new G.ptr(15312,154,155),new G.ptr(15326,174,174),new G.ptr(14,5,0),new G.ptr(15333,141,142),new G.ptr(15340,143,143),new G.ptr(40960,144,144),new G.ptr(40960,146,146),new G.ptr(40960,148,148),new G.ptr(25585,10,0),new G.ptr(40960,131,131),new G.ptr(15354,132,132),new G.ptr(40960,136,136),new G.ptr(15361,137,137),new G.ptr(40960,139,139),new G.ptr(15368,140,140),new G.ptr(40960,163,163),new G.ptr(15375,164,165),new G.ptr(15382,166,166),new G.ptr(40960,188,188),new G.ptr(7,3,0),new G.ptr(15487,160,161),new G.ptr(15529,162,163),new G.ptr(15571,170,173),new G.ptr(4,1,0),new G.ptr(1166,169,170),new G.ptr(0,1,0),new G.ptr(17652,156,156),new G.ptr(0,1,0),new G.ptr(33075,175,177),new G.ptr(0,1,0),new G.ptr(33029,191,191),new G.ptr(0,1,0),new G.ptr(33075,160,191),new G.ptr(0,5,0),new G.ptr(33069,170,170),new G.ptr(33074,171,171),new G.ptr(33076,172,172),new G.ptr(33071,173,173),new G.ptr(33072,174,175),new G.ptr(0,3,0),new G.ptr(19126,179,179),new G.ptr(19126,181,182),new G.ptr(19126,186,191),new G.ptr(0,1,0),new G.ptr(19126,143,163),new G.ptr(0,1,0),new G.ptr(33024,174,190),new G.ptr(0,7,0),new G.ptr(33024,132,132),new G.ptr(33024,135,135),new G.ptr(33024,144,144),new G.ptr(33024,158,158),new G.ptr(33024,161,161),new G.ptr(33024,178,178),new G.ptr(33024,187,187),new G.ptr(0,3,0),new G.ptr(33024,128,128),new G.ptr(33024,139,139),new G.ptr(33024,142,142),new G.ptr(0,2,0),new G.ptr(33075,175,175),new G.ptr(33075,180,189),new G.ptr(0,1,0),new G.ptr(33075,158,159),new G.ptr(0,1,0),new G.ptr(33075,176,177),new G.ptr(0,2,0),new G.ptr(33029,134,134),new G.ptr(33029,172,172),new G.ptr(0,2,0),new G.ptr(33029,132,132),new G.ptr(33075,160,177),new G.ptr(0,1,0),new G.ptr(33070,171,173),new G.ptr(0,1,0),new G.ptr(33029,147,147),new G.ptr(0,1,0),new G.ptr(33027,179,179),new G.ptr(0,1,0),new G.ptr(33029,128,128),new G.ptr(0,5,0),new G.ptr(33075,176,176),new G.ptr(33075,178,179),new G.ptr(33070,180,180),new G.ptr(33075,183,184),new G.ptr(33075,190,191),new G.ptr(0,2,0),new G.ptr(33075,129,129),new G.ptr(33029,182,182),new G.ptr(0,1,0),new G.ptr(33029,173,173),new G.ptr(0,6,0),new G.ptr(58624,128,128),new G.ptr(50688,129,155),new G.ptr(58624,156,156),new G.ptr(50688,157,183),new G.ptr(58624,184,184),new G.ptr(50688,185,191),new G.ptr(0,5,0),new G.ptr(50688,128,147),new G.ptr(58624,148,148),new G.ptr(50688,149,175),new G.ptr(58624,176,176),new G.ptr(50688,177,191),new G.ptr(0,5,0),new G.ptr(50688,128,139),new G.ptr(58624,140,140),new G.ptr(50688,141,167),new G.ptr(58624,168,168),new G.ptr(50688,169,191),new G.ptr(0,7,0),new G.ptr(50688,128,131),new G.ptr(58624,132,132),new G.ptr(50688,133,159),new G.ptr(58624,160,160),new G.ptr(50688,161,187),new G.ptr(58624,188,188),new G.ptr(50688,189,191),new G.ptr(0,5,0),new G.ptr(50688,128,151),new G.ptr(58624,152,152),new G.ptr(50688,153,179),new G.ptr(58624,180,180),new G.ptr(50688,181,191),new G.ptr(0,5,0),new G.ptr(50688,128,143),new G.ptr(58624,144,144),new G.ptr(50688,145,171),new G.ptr(58624,172,172),new G.ptr(50688,173,191),new G.ptr(0,5,0),new G.ptr(50688,128,135),new G.ptr(58624,136,136),new G.ptr(50688,137,163),new G.ptr(58624,164,164),new G.ptr(50688,165,191),new G.ptr(0,3,0),new G.ptr(50688,128,135),new G.ptr(58624,136,136),new G.ptr(50688,137,163),new G.ptr(6,13,0),new G.ptr(17319,157,157),new G.ptr(33046,158,158),new G.ptr(17433,159,159),new G.ptr(17415,170,171),new G.ptr(17675,172,172),new G.ptr(17683,173,173),new G.ptr(17247,174,177),new G.ptr(17277,178,180),new G.ptr(17301,181,182),new G.ptr(17313,184,184),new G.ptr(17325,185,187),new G.ptr(17349,188,188),new G.ptr(17355,190,190),new G.ptr(6,8,0),new G.ptr(17361,128,129),new G.ptr(17373,131,132),new G.ptr(17391,134,137),new G.ptr(17427,138,138),new G.ptr(17295,139,139),new G.ptr(17271,140,140),new G.ptr(17343,141,141),new G.ptr(17385,142,142),new G.ptr(0,2,0),new G.ptr(33024,164,165),new G.ptr(33024,176,177),new G.ptr(0,2,0),new G.ptr(33024,155,157),new G.ptr(33280,158,163),new G.ptr(0,1,0),new G.ptr(33024,144,144),new G.ptr(0,2,0),new G.ptr(33024,153,153),new G.ptr(33280,178,180),new G.ptr(0,1,0),new G.ptr(33024,188,189),new G.ptr(0,3,0),new G.ptr(33075,160,166),new G.ptr(33070,167,173),new G.ptr(33075,174,175),new G.ptr(0,4,0),new G.ptr(33024,137,140),new G.ptr(33024,176,178),new G.ptr(33024,180,180),new G.ptr(33024,182,191),new G.ptr(0,1,0),new G.ptr(33024,129,140),new G.ptr(0,1,0),new G.ptr(33024,181,186),new G.ptr(0,4,0),new G.ptr(19126,158,159),new G.ptr(19126,163,163),new G.ptr(19126,165,166),new G.ptr(19126,170,175),new G.ptr(0,5,0),new G.ptr(19126,130,135),new G.ptr(19126,138,143),new G.ptr(19126,146,151),new G.ptr(19126,154,156),new G.ptr(33024,163,163),new G.ptr(0,1,0),new G.ptr(33070,189,189),new G.ptr(0,1,0),new G.ptr(33070,160,160),new G.ptr(0,1,0),new G.ptr(33075,182,186),new G.ptr(45,5,0),new G.ptr(33070,141,141),new G.ptr(33075,143,143),new G.ptr(33075,184,184),new G.ptr(33025,185,186),new G.ptr(33029,191,191),new G.ptr(0,2,0),new G.ptr(33075,165,165),new G.ptr(33070,166,166),new G.ptr(0,1,0),new G.ptr(33075,164,167),new G.ptr(0,1,0),new G.ptr(33075,171,172),new G.ptr(0,5,0),new G.ptr(33070,134,135),new G.ptr(33075,136,138),new G.ptr(33070,139,139),new G.ptr(33075,140,140),new G.ptr(33070,141,144),new G.ptr(0,2,0),new G.ptr(33029,134,134),new G.ptr(33029,191,191),new G.ptr(6142,7,0),new G.ptr(40960,153,153),new G.ptr(16975,154,154),new G.ptr(40960,155,155),new G.ptr(16985,156,156),new G.ptr(40960,165,165),new G.ptr(16995,171,171),new G.ptr(33029,185,186),new G.ptr(0,6,0),new G.ptr(33075,128,130),new G.ptr(39168,167,167),new G.ptr(11659,174,174),new G.ptr(11669,175,175),new G.ptr(40960,177,178),new G.ptr(33029,179,180),new G.ptr(0,2,0),new G.ptr(33029,128,128),new G.ptr(33027,138,138),new G.ptr(0,2,0),new G.ptr(33029,181,181),new G.ptr(33027,182,182),new G.ptr(2,1,0),new G.ptr(33027,169,170),new G.ptr(0,2,0),new G.ptr(33027,187,188),new G.ptr(39168,190,190),new G.ptr(0,7,0),new G.ptr(40960,135,135),new G.ptr(11679,139,139),new G.ptr(11689,140,140),new G.ptr(33029,141,141),new G.ptr(39168,151,151),new G.ptr(33075,166,172),new G.ptr(33075,176,180),new G.ptr(0,3,0),new G.ptr(33029,130,130),new G.ptr(33027,134,134),new G.ptr(33075,158,158),new G.ptr(27469,6,0),new G.ptr(39168,176,176),new G.ptr(40960,185,185),new G.ptr(39168,186,186),new G.ptr(11709,187,187),new G.ptr(11699,188,189),new G.ptr(11719,190,190),new G.ptr(0,2,0),new G.ptr(33029,130,130),new G.ptr(33027,131,131),new G.ptr(0,5,0),new G.ptr(39168,175,175),new G.ptr(40960,184,185),new G.ptr(11729,186,186),new G.ptr(11739,187,187),new G.ptr(33029,191,191),new G.ptr(0,1,0),new G.ptr(33027,128,128),new G.ptr(0,2,0),new G.ptr(33029,182,182),new G.ptr(33027,183,183),new G.ptr(0,1,0),new G.ptr(33029,171,171),new G.ptr(0,2,0),new G.ptr(33029,185,185),new G.ptr(33027,186,186),new G.ptr(0,4,0),new G.ptr(39168,176,176),new G.ptr(40960,181,181),new G.ptr(11749,184,184),new G.ptr(33029,189,190),new G.ptr(0,1,0),new G.ptr(33027,131,131),new G.ptr(0,1,0),new G.ptr(33029,160,160),new G.ptr(0,1,0),new G.ptr(33029,180,180),new G.ptr(0,1,0),new G.ptr(33029,135,135),new G.ptr(0,1,0),new G.ptr(33029,153,153),new G.ptr(0,2,0),new G.ptr(33027,130,130),new G.ptr(33029,132,133),new G.ptr(0,1,0),new G.ptr(33029,151,151),new G.ptr(0,1,0),new G.ptr(33025,176,180),new G.ptr(0,1,0),new G.ptr(33075,176,182),new G.ptr(0,1,0),new G.ptr(33026,176,177),new G.ptr(0,1,0),new G.ptr(33025,158,158),new G.ptr(0,12,0),new G.ptr(17891,158,158),new G.ptr(17901,159,159),new G.ptr(17953,160,160),new G.ptr(17967,161,161),new G.ptr(17981,162,162),new G.ptr(17995,163,163),new G.ptr(18009,164,164),new G.ptr(33068,165,166),new G.ptr(33025,167,169),new G.ptr(33073,173,173),new G.ptr(33068,174,178),new G.ptr(33070,187,191),new G.ptr(0,9,0),new G.ptr(33070,128,130),new G.ptr(33075,133,137),new G.ptr(33070,138,139),new G.ptr(33075,170,173),new G.ptr(17911,187,187),new G.ptr(17921,188,188),new G.ptr(18023,189,189),new G.ptr(18051,190,190),new G.ptr(18037,191,191),new G.ptr(0,1,0),new G.ptr(18065,128,128),new G.ptr(0,1,0),new G.ptr(33075,130,132),new G.ptr(0,5,0),new G.ptr(33075,128,134),new G.ptr(33075,136,152),new G.ptr(33075,155,161),new G.ptr(33075,163,164),new G.ptr(33075,166,170),new G.ptr(0,1,0),new G.ptr(33075,172,175),new G.ptr(0,1,0),new G.ptr(33070,144,150),new G.ptr(0,2,0),new G.ptr(33075,132,137),new G.ptr(33027,138,138),new G.ptr(0,1,0),new G.ptr(33024,147,147)]);I=new H.ptr(new CD(V),U);Y=$toNativeArray($kindUint16,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40960,40960,40960,0,0,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,0,40960,40960,40960,40960,40960,40960,40960,40960,40960,0,0,0,0,0,0,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,40960,0,40960,40960,40960,40960,40960,40960,40960,40960,40960,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12166,12171,18079,12176,18094,18099,40960,18109,12281,12286,18114,12306,12421,12426,12431,18134,0,12571,12606,12611,18144,18149,18164,0,40960,12746,12751,12756,18214,12876,0,0,12946,12951,18224,12956,18239,18244,40960,18254,13061,13066,18259,13086,13206,13211,13216,18279,0,13356,13391,13396,18289,18294,18309,0,40960,13536,13541,13546,18359,13671,0,13696,12181,12961,18084,18229,12211,12991,12231,13011,12236,13016,12241,13021,12246,13026,12256,13036,0,0,18119,18264,12296,13076,12301,13081,12331,13111,12316,13096,12356,13136,12366,13146,12371,13151,12381,13161,12386,13166,0,0,12436,13221,12441,13226,12446,13231,12481,13261,12451,0,6496,6637,12491,13271,12511,13296,0,12521,13306,12531,13316,12526,13311,7090,7226,0,0,12566,13351,12591,13376,12581,13366,7266,0,0,18154,18299,12616,13401,12626,13411,0,0,12656,13441,12681,13466,12666,13451,18189,18334,12691,13476,12706,13491,18194,18339,12731,13521,12716,13506,0,0,18204,18349,18209,18354,12761,13551,12771,13561,12776,13566,12806,13596,12841,13631,12881,13676,12901,12916,13716,12926,13726,12931,13731,167,0,0,0,0,11781,11787,11793,6517,6520,6670,6541,6544,6724,12191,12971,12461,13241,12631,13416,12781,13571,14822,15221,14815,15214,14829,15228,14808,15207,0,14535,14934,14528,14927,13770,13788,0,0,12376,13156,12501,13286,18179,18324,14759,15158,13806,13812,13276,6469,6472,6613,12351,13131,0,0,12561,13346,14542,14941,13764,13782,13776,13794,12196,12976,12201,12981,12321,13101,12326,13106,12466,13246,12471,13251,12636,13421,12641,13426,12671,13456,12676,13461,12786,13576,12791,13581,12701,13486,12726,13516,0,0,12401,13181,0,0,0,0,0,0,18089,18234,18129,18274,14710,15109,14675,15074,18159,18304,14703,15102,12891,13686,0,0,0,0,0,0,0,0,0,0,0,0,39219,39219,39219,39219,39219,33075,39219,39219,39219,39219,39219,39219,39219,33075,33075,39219,33075,39219,33075,39219,39219,33076,33070,33070,33070,33070,33076,39212,33070,33070,33070,33070,33070,33066,33066,39214,39214,39214,39214,39210,39210,33070,33070,33070,33070,39214,39214,33070,39214,39214,33070,33070,33025,33025,33025,33025,39169,33070,33070,33070,33070,33075,33075,33075,18885,18890,39219,18895,19080,39223,33075,33070,33070,33070,33075,33075,33075,33070,33070,0,33075,33075,33075,33070,33070,33070,33070,33075,33076,33070,33070,33075,33077,33078,33078,33077,33078,33078,33077,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,0,0,0,0,371,0,0,0,0,0,17084,0,0,0,55,0,0,0,0,0,17009,17554,13824,206,13854,13866,13884,0,13914,0,13932,13962,15903,40960,0,0,0,40960,0,40960,0,40960,0,0,0,0,0,40960,0,40960,0,0,0,40960,0,0,0,40960,13902,13950,18453,13998,18495,14016,16007,40960,0,0,0,40960,0,40960,0,40960,0,0,0,0,0,40960,0,40960,0,0,0,40960,0,0,0,40960,18519,18549,14046,14070,18573,0,449,467,431,17187,17193,509,491,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,473,494,497,0,395,458,0,0,0,425,0,0,0,0,0,0,14136,14148,0,14130,0,0,40960,14112,0,0,0,0,14196,14172,14214,0,40960,0,0,40960,0,40960,40960,40960,40960,14184,40960,0,0,0,40960,0,0,0,0,40960,0,0,0,40960,0,0,0,40960,0,40960,0,0,40960,0,0,40960,0,40960,40960,40960,40960,14316,40960,0,0,0,40960,0,0,14154,14286,0,0,0,0,0,0,0,0,0,0,0,0,0,14118,14250,14124,14256,0,0,14142,14274,40960,40960,14400,14406,14160,14292,14166,14298,0,0,14178,14310,14190,14322,14202,14334,40960,40960,14412,14418,14244,14376,14208,14340,14220,14352,14226,14358,14232,14364,0,0,14238,14370,0,0,0,0,0,0,0,0,0,0,0,0,0,7527,0,0,0,0,0,0,0,0,0,33070,33075,33075,33075,33075,33070,33075,33075,33075,33071,33070,33075,33075,33075,33075,33075,33075,33070,33070,33070,33070,33070,33070,33075,33075,33070,33075,33075,33071,33074,33075,33030,33031,33032,33033,33034,33035,33036,33037,33038,33039,33039,33040,33041,33042,0,33043,0,0,0,0,0,0,0,0,40960,0,40960,33047,33048,33049,33050,33051,33052,33053,33054,39219,39219,39214,33070,33075,33075,33075,33075,33075,33070,33075,33075,33070,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33055,0,0,0,0,7562,8217,8277,8272,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33070,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,0,33070,33075,33075,33070,33075,33075,33070,33075,33075,33075,33070,33070,33070,33047,33048,33049,33075,33075,33075,33070,33075,33075,33070,33070,33075,33075,33075,33075,33075,0,0,0,0,0,40960,11571,40960,11579,40960,11587,40960,11595,40960,11603,0,0,40960,11611,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33027,39168,0,0,0,0,40960,11619,40960,11627,40960,40960,105,107,111,131,245,248,1046,133,137,139,260,263,266,143,0,151,155,224,159,254,1050,1054,161,169,171,1062,299,173,1066,449,452,455,509,512,147,165,171,173,449,452,494,509,512,0,0,0,0,0,0,0,0,0,0,0,0,0,527,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,135,257,212,266,141,269,272,278,284,287,290,1070,365,296,1074,368,305,302,308,311,314,317,320,332,335,236,338,341,1058,344,347,181,353,356,359,467,33075,33075,33070,33075,33075,33075,33075,33075,33075,33075,33070,33075,33075,33078,33067,33070,33066,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33075,33076,33074,33074,33070,0,33075,33077,33070,33075,33070,12206,12986,12216,12996,12221,13001,12226,13006,14563,14962,12251,13031,12261,13041,12276,13056,12266,13046,12271,13051,14598,14997,14605,15004,12336,13116,12341,13121,14619,15018,12346,13126,12361,13141,12391,13171,12406,13186,12396,13176,12411,13191,12416,13196,12486,13266,14626,15025,12496,13281,12506,13291,12516,13301,18139,18284,14633,15032,12541,13326,12536,13321,12546,13331,12551,13336,12556,13341,12576,13361,12586,13371,12601,13386,12596,13381,14668,15067,14682,15081,14689,15088,14696,15095,12646,13431,12651,13436,12661,13446,18184,18329,14766,15165,12686,13471,12696,13481,18199,18344,14773,15172,14780,15179,14787,15186,12711,13496,12721,13511,12741,13531,12736,13526,12801,13591,12816,13606,12811,13601,14794,15193,14801,15200,12821,13611,12826,13616,12831,13621,12836,13626,12851,13641,12846,13636,12856,13651,12861,13656,12866,13661,12896,13691,12921,13721,12936,13736,12941,13741,13201,13501,13646,13706,7142,17134,0,0,0,0,18104,18249,12186,12966,14479,14878,14472,14871,14493,14892,14486,14885,14549,14948,14507,14906,14500,14899,14521,14920,14514,14913,14556,14955,18124,18269,12311,13091,12291,13071,14577,14976,14570,14969,14591,14990,14584,14983,14612,15011,12456,13236,12476,13256,18174,18319,12621,13406,14647,15046,14640,15039,14661,15060,14654,15053,14752,15151,14724,15123,14717,15116,14738,15137,14731,15130,14745,15144,12796,13586,12766,13556,14843,15242,14836,15235,14857,15256,14850,15249,14864,15263,12871,13666,12911,13711,12906,13701,12886,13681,0,0,0,0,0,0,18459,18465,18741,18765,18749,18773,18757,18781,18369,18375,18597,18621,18605,18629,18613,18637,18477,18483,15823,15839,15831,15847,0,0,18381,18387,15615,15631,15623,15639,0,0,18501,18507,18789,18813,18797,18821,18805,18829,18393,18399,18645,18669,18653,18677,18661,18685,18525,18531,15919,15943,15927,15951,15935,15959,18405,18411,15663,15687,15671,15695,15679,15703,18537,18543,15967,15983,15975,15991,0,0,18417,18423,15711,15727,15719,15735,0,0,18555,18561,16023,16047,16031,16055,16039,16063,0,18429,0,15743,0,15751,0,15759,18579,18585,18837,18861,18845,18869,18853,18877,18435,18441,18693,18717,18701,18725,18709,18733,18447,17205,13992,17211,18489,17217,14010,17223,14040,17229,14064,17235,18567,17241,0,0,15799,15807,16795,16825,16805,16835,16815,16845,15599,15607,16615,16645,16625,16655,16635,16665,15871,15879,16855,16885,16865,16895,16875,16905,15647,15655,16675,16705,16685,16715,16695,16725,16087,16095,16915,16945,16925,16955,16935,16965,15767,15775,16735,16765,16745,16775,16755,16785,13980,13974,15783,13986,15791,0,18471,15815,13836,13830,13818,17157,13842,17054,470,17054,17079,17561,15855,14004,15863,0,18513,15887,13848,17163,13860,17169,13872,17568,17575,17582,14028,14022,15895,17659,0,0,14034,15911,13896,13890,13878,17175,0,17589,17596,17603,14082,14076,15999,17667,14052,14058,14088,16015,13944,13938,13926,17187,13920,17547,17554,129,0,0,16071,14094,16079,0,18591,16103,13908,17181,13956,17199,13968,17009,17059,0,7134,7138,71,7258,0,7150,7154,233,0,7262,143,81,81,81,145,218,83,83,89,153,0,93,6547,0,0,97,99,101,101,101,0,0,6565,7118,6574,0,117,0,443,0,117,0,87,17129,69,71,0,139,75,77,0,91,159,536,539,542,545,147,0,7070,491,452,380,419,1126,0,0,0,0,73,137,139,147,149,0,0,0,0,0,0,8756,8768,8948,8732,8864,8744,8870,8894,8906,8750,8912,8762,8900,8918,8924,7362,83,6493,7082,6502,109,6577,7126,7502,6505,113,6589,7130,89,71,73,91,147,6634,7198,6643,173,6760,7250,7522,6646,177,6763,7254,153,135,137,155,0,15389,0,40960,15396,40960,0,15403,40960,15410,0,0,0,40960,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12156,40960,15424,0,40960,40960,0,0,0,0,0,0,0,15417,12151,12161,15431,15438,40960,40960,15445,15452,40960,40960,15459,15466,40960,40960,40960,40960,0,0,15473,15480,40960,40960,15501,15508,40960,40960,15515,15522,0,0,0,0,0,0,0,40960,40960,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40960,0,0,0,0,0,40960,40960,0,40960,15543,15550,15557,15564,0,0,40960,40960,40960,40960,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,37,39,41,43,45,47,49,51,6277,6280,6283,6286,6289,6292,6295,6298,6301,6304,6313,6766,6770,6774,6778,6782,6786,6790,6794,6798,7302,7307,7312,7317,7322,7327,7332,7337,7342,7347,7352,6274,6310,6346,6382,6418,6427,6433,6439,6445,7014,7018,7022,7026,7030,7034,7038,7042,7046,7050,7054,6906,6910,6914,6918,6922,6926,6930,6934,6938,6942,6946,6950,6954,6958,6962,6966,6970,6974,6978,6982,6986,6990,6994,6998,7002,7006,67,69,71,73,75,77,79,81,83,85,1730,1766,1778,1794,1802,1814,1822,1830,1842,1926,1950,1966,1982,1998,2014,2046,2050,2054,2106,2146,2162,2170,2174,2186,2214,2218,2242,2246,2254,2270,2426,2446,2510,2530,2538,2542,2558,2586,2630,2642,2674,2686,2690,2694,2718,2722,2766,2778,2786,2794,2810,2818,2826,2870,2874,2882,2886,2894,2902,2918,2946,3066,3086,3090,3218,3222,3242,3246,3254,3262,3270,3282,3322,3338,3358,3470,3482,3498,3510,3522,3530,3534,3538,3542,3546,3730,3802,3814,3818,3822,3826,3834,3838,3858,3886,3894,3958,3962,3970,3974,3982,3986,4022,4026,4054,4058,4062,4066,4086,4122,4126,4130,4166,4230,4234,4266,4282,4290,4322,4358,4426,4434,4454,4466,4474,4482,4486,4490,4514,4518,4546,4554,4562,4566,4578,4586,4590,4594,4602,4606,4766,4786,4838,4842,4850,4894,4902,4910,4918,4978,4982,4990,4994,4998,5042,5046,5054,5074,5078,5106,5114,5118,5154,5186,5206,5210,5218,5262,5266,5282,5318,5330,5346,5370,5378,5382,5386,5390,5402,5406,5414,5442,5446,5450,5474,5478,5486,5506,5510,5514,5522,5526,0,0,0,0,0,0,40960,0,0,0,0,40960,16159,40960,16167,40960,16175,40960,16183,40960,16191,40960,16199,40960,16207,40960,16215,40960,16223,40960,16231,40960,16239,40960,16247,0,40960,16255,40960,16263,40960,16271,0,0,0,0,0,40960,16279,16287,40960,16295,16303,40960,16311,16319,40960,16327,16335,40960,16343,16351,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16151,0,0,0,0,39172,39172,17139,17145,40960,16359,9914,0,0,0,0,0,0,40960,0,0,0,0,40960,16375,40960,16383,40960,16391,40960,16399,40960,16407,40960,16415,40960,16423,40960,16431,40960,16439,40960,16447,40960,16455,40960,16463,0,40960,16471,40960,16479,40960,16487,0,0,0,0,0,40960,16495,16503,40960,16511,16519,40960,16527,16535,40960,16543,16551,40960,16559,16567,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40960,40960,40960,40960,0,16367,0,0,16575,16583,16591,16599,0,0,40960,16607,9935,874,814,818,822,894,826,830,834,838,842,846,850,854,858,862,18900,18906,18912,18918,18924,18930,18936,18942,18948,18954,18960,18966,18972,18978,18984,18990,18996,19002,19008,19014,19020,966,866,870,1002,1006,1010,1014,1018,1022,1026,878,1030,1034,882,886,890,898,902,906,910,914,918,922,926,930,934,938,942,946,950,1038,1042,954,958,962,970,974,978,982,986,990,994,998,0,0,0,1730,1822,1742,2430,1746,1770,1750,3990,1802,1758,1734,2562,2450,1842,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8282,8288,8294,8300,8306,8312,8318,8324,8330,8336,8342,8348,8354,8360,10035,10044,10053,10062,10071,10080,10089,10098,10107,10125,10134,10143,10152,10161,10116,11193,11002,0,8366,8390,8378,8462,8396,8426,8372,8420,8384,8438,8486,8516,8510,8498,8576,8468,8480,8504,8492,8534,8450,8522,8564,8540,8432,8402,8456,8474,8528,8408,8570,8444,8546,8414,8552,8558,2354,2822,3242,4298,0,0,0,0,0,0,0,0,7114,6316,6319,6322,6325,6328,6331,6334,6337,6340,6349,6352,6355,6358,6361,6364,790,798,802,810,814,818,826,834,838,846,850,854,858,862,11823,11831,11839,11847,11855,11863,11871,11879,11895,11903,11911,11919,11927,11935,12010,11954,11887,0,1730,1822,1742,2430,1826,1970,1738,1966,1806,2186,3338,3730,3546,3358,5218,2446,3282,3406,3342,4174,2302,3846,5002,4194,2118,4242,3998,2586,5138,1922,2222,3578,5418,1862,2006,3486,1746,1770,1750,2782,2290,2178,2650,2638,4078,1858,5022,2206,2550,6367,6370,6373,6376,6385,6388,6391,6394,6397,6400,6403,6406,6409,6412,6421,7372,7387,7402,7417,7432,7447,7462,7477,7492,8594,8612,8630,6487,7178,6616,7086,1230,1238,1246,1254,1262,1266,1270,1274,1278,1282,1286,1290,1294,1298,1302,1306,1310,1318,1322,1326,1330,1334,1338,1342,1346,1350,1354,1358,1362,1366,1370,1374,1378,1382,1386,1394,1402,1410,1414,1418,1422,1426,1430,1434,1438,1442,1446,9984,11033,10677,11049,10381,12027,10391,10401,12095,10690,10411,10421,10431,10729,10742,10703,10716,11968,10755,10768,11211,9921,11230,11249,11065,10781,11268,11287,10794,10441,10451,11982,10807,11081,12044,10461,10471,10820,10481,10491,9942,9949,10501,10511,11306,10833,11097,11325,10846,10531,10521,12115,10859,11344,10541,11113,10551,10885,10561,10898,12061,10872,11129,10911,9956,12078,10571,10581,10924,10591,10601,10611,11145,10937,9963,11363,11943,11161,10950,11996,10621,10631,10963,9970,10976,11177,9977,11382,10641,7357,7377,7392,7407,7422,7437,7452,7467,7482,7497,8600,8618,8636,8648,8660,8672,8684,8696,8708,8720,8780,8792,8804,8816,8828,7194,6604,6457,7146,6733,6748,6610,7170,7174,6499,9998,10012,9991,10005,10989,6736,6712,7270,6688,6649,6508,6523,6475,7158,7512,6739,6715,7274,7286,6700,6658,6490,7202,7094,7074,7122,7290,6703,6607,6661,6628,6727,7294,6706,6598,6664,7234,7162,6682,7210,7238,7166,6685,7214,8942,8962,6556,7206,7098,7078,7246,10019,10170,6751,6730,7298,6709,6742,6718,7278,6691,6652,6535,6745,6721,7282,6694,6655,6538,7218,7102,7507,6460,6592,6595,8955,7066,6601,6478,6631,6481,6640,6511,6514,6667,6673,6676,7222,6679,6697,7230,7242,6550,7517,7106,6553,6754,6571,6586,8936,8930,7367,7382,7397,7412,7427,7442,7457,7472,7487,8588,8606,8624,8642,8654,8666,8678,8690,8702,8714,8774,8786,8798,8810,8822,8834,8840,8846,8852,8858,8876,8882,7190,4986,3326,5078,5026,3674,1774,2274,5678,5678,2574,5218,2374,2570,3058,4050,4450,4762,4822,4874,5150,3446,3586,3758,3910,4706,5194,5494,1810,2230,3466,3794,4758,5574,2742,3706,4742,4890,3110,4542,4834,2850,3346,3610,3870,5162,1874,2026,2134,3214,3458,3790,4082,4474,4750,4774,5066,5362,5542,5570,4142,4206,4390,4678,5246,5582,4942,2506,2878,4318,4510,3842,4150,5018,5354,2502,2706,3450,3630,3682,4374,4414,5290,2130,4522,2038,2034,4250,4394,4702,5298,4970,3114,3446,4954,1786,2662,2966,3890,4018,2166,4158,1890,2938,1754,3566,3238,4370,2250,2486,4094,4710,4926,3514,5114,3558,3130,4638,3162,4014,1838,1962,2030,3414,4350,4598,4938,5214,2142,2322,2586,2866,3266,3710,4162,5274,5502,5586,5610,2106,3318,3494,5102,2814,3034,3062,3206,3694,3770,3946,4238,4402,4502,5086,4718,5126,5250,2066,2110,2342,3754,4854,4926,2846,2958,3154,3506,4314,3878,1854,2434,2662,2762,2970,3906,3934,4462,4494,5222,5350,5366,5426,1878,4226,5202,5326,2994,1818,1914,2666,2698,3250,3446,3782,4046,4730,5146,5670,3302,5286,2102,3378,3390,3602,3658,3918,4010,4138,4366,5438,1970,3078,5302,1898,2734,3634,5090,2922,3002,3398,3890,5310,2074,2306,2714,3286,3362,3426,3574,3914,4030,4442,4858,4870,5210,5338,2182,3662,2310,3786,3950,4746,5314,5550,5590,3386,3626,4550,4282,4294,4330,3866,3746,4966,1846,4654,2078,2062,2830,3118,4342,2646,3590,3314,5098,4842,5294,4902,2858,1930,2398,0,0,2482,0,3298,0,0,2042,3874,4070,4170,4198,4202,4222,5374,4334,4466,0,4754,0,4950,0,0,5130,5174,0,0,0,5458,5462,5466,5566,5166,5322,1882,1918,1938,2126,2138,2202,2382,2410,2418,2478,2490,2710,2718,2982,3022,3030,3054,3226,3274,3306,3418,3614,3642,3690,3774,3806,3922,4146,4174,4182,4178,4186,4190,4194,4214,4218,4254,4274,4302,4402,4410,4418,4438,4478,4558,4610,4610,4714,4882,4906,4958,4962,5030,5034,5122,5130,5342,5410,5434,2974,5921,4582,0,0,1762,2022,1958,1870,1934,1978,2122,2150,2382,2362,2378,2406,2482,2498,2566,2578,2606,2622,2854,2862,2910,2942,2990,3014,2998,3030,3018,3054,3082,3170,3182,3190,3230,3298,3346,3350,3370,3498,3514,3602,3678,3670,3690,3718,3774,4118,3810,3862,3874,3938,3966,4002,4038,4042,4070,4074,4090,4110,4106,4154,4278,4302,4326,4382,4402,4430,4478,4658,4698,4814,4886,4898,4906,4930,4950,4934,4958,4954,4946,4962,4974,5034,5094,5142,5198,5230,5306,5342,5374,5394,5410,5422,5434,5518,5678,5816,5811,5861,1546,1586,1590,5991,6036,6156,5658,5674,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6619,6622,6625,7182,7186,6757,6757,0,0,0,0,0,0,0,0,0,0,0,0,7547,7532,7537,7552,7542,0,0,0,0,0,17319,33046,17433,560,536,545,548,551,554,557,563,566,23,17415,17421,17675,17683,17247,17253,17259,17265,17277,17283,17289,17301,17307,0,17313,17325,17331,17337,17349,0,17355,0,17361,17367,0,17373,17379,0,17391,17397,17403,17409,17427,17295,17271,17343,17385,7557,668,668,677,677,677,677,680,680,680,680,686,686,686,686,674,674,674,674,683,683,683,683,671,671,671,671,722,722,722,722,725,725,725,725,692,692,692,692,689,689,689,689,695,695,695,695,698,698,698,698,707,707,704,704,710,710,701,701,716,716,713,713,728,728,728,728,734,734,734,734,740,740,740,740,737,737,737,737,743,743,746,746,746,746,17541,17541,752,752,752,752,749,749,749,749,779,779,17535,17535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,731,731,731,731,761,761,758,758,764,764,8277,770,770,755,755,767,767,776,776,776,776,656,656,9648,9648,9760,9760,9711,9711,9739,9739,9732,9732,9746,9746,9753,9753,9753,9718,9718,9718,773,773,773,773,9655,9662,9690,9718,9725,7567,7572,7577,7592,7607,7612,7617,7622,7627,7642,7657,7662,7667,7682,7697,7702,7707,7712,7727,7732,7747,7752,7757,7772,7777,7782,7792,7852,7867,7882,7887,7892,7902,7917,7922,7937,7942,7947,7962,7967,7982,7987,7992,7997,8002,8007,8012,8017,8022,8027,8032,8037,8042,8047,8052,8057,8062,8067,8077,8082,8087,8092,8102,8107,8117,8122,8127,8132,8137,8142,8147,8152,8157,8172,8187,8192,8197,8202,8207,8212,8222,8227,8232,8247,8262,8267,17463,17469,17523,17610,17617,17624,17631,17638,17645,9676,9683,9690,9697,9718,9725,7582,7587,7592,7597,7607,7612,7632,7637,7642,7647,7657,7662,7672,7677,7682,7687,7697,7702,8002,8007,8022,8027,8032,8052,8057,8062,8067,8092,8102,8107,8112,8132,8162,8167,8172,8177,8187,8192,17523,8237,8242,8247,8252,8262,8267,9655,9662,9669,9690,9704,7567,7572,7577,7592,7602,7617,7622,7627,7642,7652,7682,7707,7712,7727,7732,7747,7757,7772,7777,7782,7792,7852,7857,7867,7882,7887,7892,7902,7917,7937,7942,7947,7962,7967,7982,7987,7992,7997,8012,8017,8037,8042,8047,8052,8057,8077,8082,8087,8092,8097,8117,8122,8127,8132,8147,8152,8157,8172,8182,8197,8202,17511,8222,8227,8232,8247,8257,9690,9704,7592,7602,7642,7652,7682,7692,7792,7797,7832,7837,8052,8057,8092,8172,8182,8247,8257,17691,17699,17707,7927,7932,7952,7957,7972,7977,7802,7807,7842,7847,7737,7742,7717,7722,7762,7767,7872,7877,7907,7912,7812,7817,7822,7832,7827,7787,7862,7897,7927,7932,7952,7957,7972,7977,7802,7807,7842,7847,7737,7742,7717,7722,7762,7767,7872,7877,7907,7912,7812,7817,7822,7832,7827,7787,7862,7897,7812,7817,7822,7832,7797,7837,7922,7772,7777,7782,7812,7817,7822,7922,7937,17439,17439,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8983,9004,9004,9011,9018,9039,9046,9053,9088,9088,9123,9116,9144,9130,9137,9172,9172,9165,9179,9179,9221,9221,9249,9193,9193,9186,9207,9207,9214,9214,9256,9270,9270,9277,9277,9284,9291,9298,9305,9305,9312,9326,9340,9333,9347,9347,9368,9375,9424,9438,9431,9403,9403,9445,9445,9452,9452,9494,9501,9508,9466,9480,9515,9522,0,0,9473,9606,9613,9571,9578,9550,9550,9557,9599,9592,9634,9634,8976,8997,8990,9032,9025,9067,9060,9102,9074,9095,9151,9228,9200,9263,9417,9459,9627,9620,9641,9536,9382,9585,9368,9424,9319,9396,9543,9529,9410,9389,9410,9543,9081,9109,9487,9354,8969,9389,9298,9249,9158,9564,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9242,9361,10188,10179,10233,10215,10197,10224,10242,9235,11401,11017,10206,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,1158,1162,53,55,3,63,1218,1222,7010,0,0,0,0,0,0,33075,33075,33075,33075,33075,33075,33075,33070,33070,33070,33070,33070,33070,33070,33075,33075,6262,1094,1090,127,127,17,19,183,187,1210,1214,1198,1202,1174,1178,1166,1170,1182,1186,1190,1194,0,0,119,123,17024,17024,17024,17024,127,127,127,25,1158,29,0,55,53,63,3,1094,17,19,183,187,1210,1214,7,13,21,23,27,57,61,59,0,121,9,11,65,0,0,0,0,17089,17475,17094,0,17099,0,17104,17481,17109,17487,17114,17493,17119,17499,17124,17505,569,17445,17445,17451,17451,17517,17517,17457,17457,17529,17529,17529,17529,572,572,575,575,575,575,578,578,581,581,581,581,584,584,584,584,587,587,587,587,590,590,590,590,593,593,593,593,596,596,599,599,602,602,605,605,608,608,608,608,611,611,611,611,614,614,614,614,617,617,617,617,620,620,620,620,623,623,623,623,626,626,626,626,629,629,629,629,632,632,632,632,635,635,635,635,638,638,638,638,641,641,641,641,644,644,644,644,647,647,647,647,650,650,650,650,653,653,656,656,659,659,659,659,11799,11799,11807,11807,11815,11815,8072,8072,0,0,0,129,131,133,135,137,139,141,143,145,147,149,151,153,155,157,159,161,163,165,167,169,171,173,175,177,179,181,183,185,187,189,1146,1150,1162,1182,1186,1158,1454,1446,1226,1234,1242,1250,1258,1390,1398,1406,1314,1458,1230,1238,1246,1254,1262,1266,1270,1274,1278,1282,1286,1290,1294,1298,1302,1306,1310,1318,1322,1326,1330,1334,1338,1342,1346,1350,1354,1358,1362,1366,1370,1374,1378,1382,1386,1394,1402,1410,1414,1418,1422,1426,1430,1434,1450,19087,19093,966,790,794,19026,798,19032,19038,802,806,810,19044,19050,19056,19062,19068,19074,874,814,818,822,894,826,830,834,838,842,846,850,854,858,862,0,0,0,18900,18906,18912,18918,18924,18930,0,0,18936,18942,18948,18954,18960,18966,0,0,18972,18978,18984,18990,18996,19002,0,0,19008,19014,19020,0,0,0,191,194,203,17019,200,197,1098,0,1134,1102,1106,1110,1114,1138,1142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,101,103,105,107,109,111,113,115,117,131,133,135,137,139,141,143,145,147,149,151,153,155,157,159,161,163,165,167,169,171,173,175,177,179,181,221,242,0,0,374,377,380,383,386,389,392,395,398,401,404,407,410,413,416,419,422,395,425,428,431,434,437,440,512,515,518,1118,458,467,473,509,494,491,521,524,0,0,33,35,37,39,41,43,45,47,49,51,33,35,37,39,41,43,45,47,49,51,33,35,37,39,41,43,45,47,49,51,33,35,37,39,41,43,45,47,49,51,33,35,37,39,41,43,45,47,49,51,572,575,587,596,0,653,605,590,620,659,638,641,644,647,608,626,632,614,635,602,611,581,584,593,599,617,623,629,662,743,719,665,0,575,587,0,650,0,0,590,0,659,638,641,644,647,608,626,632,614,635,0,611,581,584,593,0,617,0,629,0,0,0,0,0,0,587,0,0,0,0,590,0,659,0,641,0,647,608,626,0,614,635,0,611,0,0,593,0,617,0,629,0,743,0,665,0,575,587,0,650,0,0,590,620,659,638,0,644,647,608,626,632,614,635,0,611,581,584,593,0,617,623,629,662,0,719,0,572,575,587,596,650,653,605,590,620,659,0,641,644,647,608,626,632,614,635,602,611,581,584,593,599,617,623,629,0,0,0,0,0,575,587,596,0,653,605,590,620,659,0,641,644,647,608,626,632,614,635,602,611,581,584,593,599,617,623,629,0,0,0,0,6268,6265,6271,6307,6343,6379,6415,6424,6430,6436,6442,0,0,0,0,0,6802,6806,6810,6814,6818,6822,6826,6830,6834,6838,6842,6846,6850,6854,6858,6862,6866,6870,6874,6878,6882,6886,6890,6894,6898,6902,10027,71,101,6463,6583,0,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,9907,9928,1286,0,0,0,0,0,0,0,0,0,0,0,0,0,3090,2634,2262,17883,1822,2546,4914,2562,1834,3290,3762,3250,2090,2926,1986,3258,2070,4378,3974,5006,2518,2318,3686,3102,3146,1730,1742,5134,2782,1770,2290,3134,5046,3094,4210,4270,2298,3654,3342,3338,3994,2094,2394,5190,0,0,0,0,1790,1782,1798,5706,1866,1882,1886,1894,1902,1906,1918,1910,1462,5726,1938,1942,1946,1974,5711,1466,1954,1986,5721,2002,2010,1850,2018,2022,6196,2050,2058,1474,2082,2086,2094,2098,1478,2122,2126,2138,2150,2154,2158,2166,2198,2202,2210,2226,2234,2238,2238,2238,5741,3734,2258,2266,5746,2278,2286,2294,2334,2314,2326,2330,2338,2346,2350,2358,2366,2370,2370,2378,2386,2390,2402,2438,2410,2442,2414,2422,2062,2514,2458,2462,2466,2454,2474,2470,2494,5751,2522,2526,2534,2546,2554,2582,5756,5761,2594,2598,2602,2590,2610,1482,1486,2618,2626,2626,5766,2654,2658,2662,2670,5771,2678,2682,2898,2690,1490,2702,2718,2730,2726,5781,2738,5786,2750,2746,2754,2770,2774,1494,2790,2798,2802,2806,1498,5791,1502,2834,2838,2842,2850,6246,2874,5801,5801,4570,2890,2890,1506,5836,6046,2906,2914,1510,2934,2950,2954,2962,2978,1518,1514,2982,5806,2986,3006,3010,3014,3010,3026,3030,3046,3038,3042,3050,3054,3058,3070,3074,3098,3106,3122,3142,5821,3138,3126,3150,3158,3178,5826,3186,3174,3166,1522,3194,3202,3210,3198,1526,3226,3234,5831,3278,3330,3294,1538,3306,1534,1530,1990,1994,3334,3310,4526,1638,3346,3350,3354,3374,3366,5856,1542,3394,3382,3410,3418,5866,3422,3402,3430,1546,3434,3438,3442,3454,5871,3462,1550,3474,5876,3478,1554,3490,3502,3514,3518,5881,5776,5886,3550,5891,3562,3570,3554,3582,3598,3614,3602,3606,3618,3622,5896,3594,3646,3650,1558,3670,3666,5901,3638,3698,5906,5911,3702,3722,3718,3714,1562,3726,3742,3738,3750,5716,3766,5916,3778,5926,3798,3810,3830,5931,3850,3854,5936,5941,3882,3898,1566,3902,1570,1570,3926,3930,3938,3942,3954,1574,3978,5946,4006,5951,4018,5796,4034,5956,5961,5966,1578,1582,4090,5976,5971,5981,5986,4098,4102,4102,4110,1590,4114,1594,1598,5996,4134,4142,4154,1602,6001,4190,6006,6011,4222,4246,1606,4254,4258,4262,6016,6021,6021,4286,1610,6026,4306,4310,1614,6031,4338,1618,4354,4346,4362,6041,4386,1622,4398,4406,4422,1626,6051,6056,1630,6061,4446,6066,4458,4470,4478,6071,6076,4498,6081,4506,5841,1634,4530,4534,1642,4538,2614,6086,6091,5846,5851,4570,4574,5110,1646,4618,4614,4622,2114,4626,4630,4634,4642,6096,4638,4646,4666,4670,4650,4674,4694,4714,4662,4682,4686,4690,6101,6111,6106,1650,4722,4726,4734,6131,4738,6116,1654,1658,6121,6126,1662,4770,4774,4778,4782,4794,4790,4802,4798,4814,4806,4810,4818,1666,4826,4830,1670,4846,4850,6136,4862,4866,1674,4878,1470,6141,6146,1678,1682,4922,4946,4974,4990,6151,5010,5014,5038,5050,6161,5731,5062,5058,5070,5736,5082,5094,6166,6171,5158,5170,5178,6176,5182,5226,5238,5242,5234,5254,5258,6181,5270,1686,5278,6186,1690,5334,2758,5358,6191,6201,1694,1698,5398,6206,1702,6211,5422,5422,5430,6216,5454,1706,5470,5482,5490,5498,1710,6221,5518,5546,5558,1714,1718,5562,6226,1722,6231,6236,6241,5598,1726,5618,5626,5630,5638,5646,5654,6251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);Z=$toNativeArray($kindUint16,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,1,2,3,93,4,5,0,94,95,6,7,8,9,10,96,97,11,0,0,12,98,99,13,0,100,101,102,0,103,2,3,4,5,0,0,0,0,0,0,6,7,8,9,0,10,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,105,0,14,106,107,108,109,110,111,112,113,108,114,115,116,0,117,118,119,120,121,0,122,123,124,125,126,127,128,129,130,131,0,132,133,134,135,136,137,0,0,0,0,0,138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,140,0,0,141,0,142,0,0,0,143,144,145,146,15,147,148,149,150,0,0,151,152,16,17,18,19,20,21,22,23,24,25,26,153,154,155,156,27,28,157,158,159,29,30,160,161,0,0,0,0,31,32,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,164,0,165,0,0,0,0,0,166,0,167,0,168,0,169,0,0,170,171,33,34,35,172,173,36,37,38,174,39,40,0,41,42,43,44,45,46,47,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,176,177,0,178,0,179,180,0,0,181,182,183,184,185,0,0,186,187,0,188,0,189,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,196,190,191,192,193,194,195,197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,198,73,74,75,0,0,0,0,0,0,0,199,0,0,0,200,0,201,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,0,0,203,0,0,0,0,0,0,0,0,204,0,0,0,0,0,205,0,0,206,0,0,0,207,208,0,209,184,0,210,211,0,0,212,213,214,0,0,0,215,216,217,0,0,218,219,220,0,221,0,222,0,0,0,223,0,0,0,224,225,0,226,227,228,229,0,0,0,0,0,220,0,0,0,0,230,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,237,238,0,239,0,0,0,0,0,0,240,241,242,243,244,245,246,247,248,249,76,250,251,252,253,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,233,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,256,0,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,79,80,0,0,0,0,0,0,0,0,0,81,258,259,0,82,260,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,84,85,86,87,88,89,90,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,12,0,0,0,0,13,0,0,0,0,14,0,15,16,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);AA=new CC([0,14,18,27,37,53,55,60,71,86,99,107,112,117,119,127,134,137,145,149,153,155,157,166,170,177,182,185,195,198,205,213,217,219,223,227,233,250,262,264,270,272,274,276,278,280,282,284,287,290,292,295,298,302,308,310,319,321,324,326,337,348,362,376,392,406,413,419,434,438,440,444,446,449,451,454,456,459,461,463,465,477,487,497,500,504,506,508,510,513,516,518,520,522,524,530,533,538,540,547,553,559,567,573,579,585,589,591,593,595,597,603,606,608,610,616,619,627,634,637,640,642,645,653,657,664,667,673,675,677,680,682,685,690,692,694,696,698,700,703,705,707,709,711,713,726,736,738,740,744,749,761,766,775,781,786,790,795,799,815,829,843,857,863,865,867,870,881,883,893]);AB=$toNativeArray($kindStruct,[new G.ptr(2,13,0),new G.ptr(1,160,160),new G.ptr(17039,168,168),new G.ptr(131,170,170),new G.ptr(17019,175,175),new G.ptr(37,178,179),new G.ptr(17009,180,180),new G.ptr(479,181,181),new G.ptr(17064,184,184),new G.ptr(35,185,185),new G.ptr(159,186,186),new G.ptr(8738,188,188),new G.ptr(8726,189,189),new G.ptr(8888,190,190),new G.ptr(145,3,0),new G.ptr(18169,160,161),new G.ptr(18219,175,176),new G.ptr(40960,183,183),new G.ptr(3,8,0),new G.ptr(40960,146,146),new G.ptr(145,176,176),new G.ptr(281,177,177),new G.ptr(149,178,178),new G.ptr(165,179,179),new G.ptr(323,180,182),new G.ptr(175,183,183),new G.ptr(179,184,184),new G.ptr(10,9,0),new G.ptr(17029,152,152),new G.ptr(17034,153,154),new G.ptr(17069,155,155),new G.ptr(17014,156,156),new G.ptr(17049,157,157),new G.ptr(275,160,160),new G.ptr(153,161,161),new G.ptr(167,162,163),new G.ptr(362,164,164),new G.ptr(0,15,0),new G.ptr(40960,131,131),new G.ptr(40960,135,135),new G.ptr(40960,139,139),new G.ptr(40960,141,141),new G.ptr(14268,144,144),new G.ptr(14280,145,145),new G.ptr(14262,147,147),new G.ptr(40960,150,150),new G.ptr(14382,151,151),new G.ptr(14328,156,156),new G.ptr(14304,157,157),new G.ptr(14346,158,158),new G.ptr(40960,180,181),new G.ptr(14388,182,182),new G.ptr(14394,183,183),new G.ptr(0,1,0),new G.ptr(33075,131,135),new G.ptr(1,4,0),new G.ptr(33044,129,130),new G.ptr(33075,132,132),new G.ptr(33070,133,133),new G.ptr(33038,135,135),new G.ptr(0,10,0),new G.ptr(33075,144,151),new G.ptr(33050,152,152),new G.ptr(33051,153,153),new G.ptr(33052,154,154),new G.ptr(14424,162,162),new G.ptr(14430,163,163),new G.ptr(14442,164,164),new G.ptr(14436,165,165),new G.ptr(14448,166,166),new G.ptr(40960,167,167),new G.ptr(0,14,0),new G.ptr(14466,128,128),new G.ptr(40960,129,129),new G.ptr(14454,130,130),new G.ptr(40960,146,146),new G.ptr(14460,147,147),new G.ptr(40960,149,149),new G.ptr(33075,150,156),new G.ptr(33075,159,162),new G.ptr(33070,163,163),new G.ptr(33075,164,164),new G.ptr(33075,167,168),new G.ptr(33070,170,170),new G.ptr(33075,171,172),new G.ptr(33070,173,173),new G.ptr(0,12,0),new G.ptr(33056,145,145),new G.ptr(33075,176,176),new G.ptr(33070,177,177),new G.ptr(33075,178,179),new G.ptr(33070,180,180),new G.ptr(33075,181,182),new G.ptr(33070,183,185),new G.ptr(33075,186,186),new G.ptr(33070,187,188),new G.ptr(33075,189,189),new G.ptr(33070,190,190),new G.ptr(33075,191,191),new G.ptr(5,7,0),new G.ptr(33075,128,128),new G.ptr(33075,129,129),new G.ptr(33070,130,131),new G.ptr(33070,132,133),new G.ptr(33070,134,135),new G.ptr(33070,136,137),new G.ptr(33075,138,138),new G.ptr(0,4,0),new G.ptr(33075,171,177),new G.ptr(33070,178,178),new G.ptr(33075,179,179),new G.ptr(33070,189,189),new G.ptr(0,4,0),new G.ptr(33075,150,153),new G.ptr(33075,155,163),new G.ptr(33075,165,167),new G.ptr(33075,169,173),new G.ptr(0,1,0),new G.ptr(33070,153,155),new G.ptr(0,7,0),new G.ptr(40960,168,168),new G.ptr(16111,169,169),new G.ptr(40960,176,176),new G.ptr(16119,177,177),new G.ptr(40960,179,179),new G.ptr(16127,180,180),new G.ptr(39171,188,188),new G.ptr(8,6,0),new G.ptr(33029,141,141),new G.ptr(33075,145,145),new G.ptr(33070,146,146),new G.ptr(33075,147,147),new G.ptr(33075,148,148),new G.ptr(17715,152,159),new G.ptr(0,2,0),new G.ptr(33027,188,188),new G.ptr(39168,190,190),new G.ptr(8,7,0),new G.ptr(40960,135,135),new G.ptr(11435,139,140),new G.ptr(33029,141,141),new G.ptr(39168,151,151),new G.ptr(17779,156,157),new G.ptr(17795,159,159),new G.ptr(33075,190,190),new G.ptr(0,3,0),new G.ptr(17835,179,179),new G.ptr(17843,182,182),new G.ptr(33027,188,188),new G.ptr(8,3,0),new G.ptr(33029,141,141),new G.ptr(17803,153,155),new G.ptr(17827,158,158),new G.ptr(0,1,0),new G.ptr(33027,188,188),new G.ptr(0,1,0),new G.ptr(33029,141,141),new G.ptr(0,8,0),new G.ptr(40960,135,135),new G.ptr(11459,136,136),new G.ptr(11451,139,139),new G.ptr(11467,140,140),new G.ptr(33029,141,141),new G.ptr(39168,150,151),new G.ptr(17851,156,156),new G.ptr(17859,157,157),new G.ptr(0,3,0),new G.ptr(40960,146,146),new G.ptr(11475,148,148),new G.ptr(39168,190,190),new G.ptr(0,6,0),new G.ptr(40960,134,135),new G.ptr(11483,138,138),new G.ptr(11499,139,139),new G.ptr(11491,140,140),new G.ptr(33029,141,141),new G.ptr(39168,151,151),new G.ptr(6145,4,0),new G.ptr(40960,134,134),new G.ptr(16135,136,136),new G.ptr(33029,141,141),new G.ptr(33057,149,150),new G.ptr(0,2,0),new G.ptr(33027,188,188),new G.ptr(40960,191,191),new G.ptr(0,9,0),new G.ptr(11507,128,128),new G.ptr(39168,130,130),new G.ptr(40960,134,134),new G.ptr(11515,135,135),new G.ptr(11523,136,136),new G.ptr(12135,138,138),new G.ptr(11759,139,139),new G.ptr(33029,141,141),new G.ptr(39168,149,150),new G.ptr(0,2,0),new G.ptr(33029,187,188),new G.ptr(39168,190,190),new G.ptr(0,6,0),new G.ptr(40960,134,135),new G.ptr(11531,138,138),new G.ptr(11547,139,139),new G.ptr(11539,140,140),new G.ptr(33029,141,141),new G.ptr(39168,151,151),new G.ptr(27613,7,0),new G.ptr(39173,138,138),new G.ptr(39168,143,143),new G.ptr(40960,153,153),new G.ptr(16143,154,154),new G.ptr(12143,156,156),new G.ptr(11770,157,157),new G.ptr(11555,158,159),new G.ptr(0,3,0),new G.ptr(9767,179,179),new G.ptr(33059,184,185),new G.ptr(33029,186,186),new G.ptr(0,1,0),new G.ptr(33060,136,139),new G.ptr(0,3,0),new G.ptr(9788,179,179),new G.ptr(33061,184,185),new G.ptr(33029,186,186),new G.ptr(0,3,0),new G.ptr(33062,136,139),new G.ptr(9774,156,156),new G.ptr(9781,157,157),new G.ptr(0,5,0),new G.ptr(782,140,140),new G.ptr(33070,152,153),new G.ptr(33070,181,181),new G.ptr(33070,183,183),new G.ptr(33068,185,185),new G.ptr(0,16,0),new G.ptr(9802,131,131),new G.ptr(9809,141,141),new G.ptr(9816,146,146),new G.ptr(9823,151,151),new G.ptr(9830,156,156),new G.ptr(9795,169,169),new G.ptr(33063,177,177),new G.ptr(33064,178,178),new G.ptr(19099,179,179),new G.ptr(33065,180,180),new G.ptr(19108,181,181),new G.ptr(17867,182,182),new G.ptr(17931,183,183),new G.ptr(17875,184,184),new G.ptr(17942,185,185),new G.ptr(33064,186,189),new G.ptr(0,11,0),new G.ptr(33064,128,128),new G.ptr(19117,129,129),new G.ptr(33075,130,131),new G.ptr(33029,132,132),new G.ptr(33075,134,135),new G.ptr(9844,147,147),new G.ptr(9851,157,157),new G.ptr(9858,162,162),new G.ptr(9865,167,167),new G.ptr(9872,172,172),new G.ptr(9837,185,185),new G.ptr(0,1,0),new G.ptr(33070,134,134),new G.ptr(0,5,0),new G.ptr(40960,165,165),new G.ptr(11563,166,166),new G.ptr(39168,174,174),new G.ptr(33027,183,183),new G.ptr(33029,185,186),new G.ptr(0,1,0),new G.ptr(33070,141,141),new G.ptr(0,1,0),new G.ptr(786,188,188),new G.ptr(0,1,0),new G.ptr(40960,128,146),new G.ptr(0,1,0),new G.ptr(47360,161,181),new G.ptr(0,1,0),new G.ptr(39168,168,191),new G.ptr(0,1,0),new G.ptr(39168,128,130),new G.ptr(0,1,0),new G.ptr(33075,157,159),new G.ptr(0,2,0),new G.ptr(33029,148,148),new G.ptr(33029,180,180),new G.ptr(0,2,0),new G.ptr(33029,146,146),new G.ptr(33075,157,157),new G.ptr(0,1,0),new G.ptr(33074,169,169),new G.ptr(4,2,0),new G.ptr(33071,185,186),new G.ptr(33070,187,187),new G.ptr(0,2,0),new G.ptr(33075,151,151),new G.ptr(33070,152,152),new G.ptr(0,3,0),new G.ptr(33029,160,160),new G.ptr(33075,181,188),new G.ptr(33070,191,191),new G.ptr(0,5,0),new G.ptr(33075,176,180),new G.ptr(33070,181,186),new G.ptr(33075,187,188),new G.ptr(33070,189,189),new G.ptr(33070,191,191),new G.ptr(0,1,0),new G.ptr(33070,128,128),new G.ptr(0,8,0),new G.ptr(11635,128,128),new G.ptr(11643,129,129),new G.ptr(40960,130,130),new G.ptr(11651,131,131),new G.ptr(33029,132,132),new G.ptr(33075,171,171),new G.ptr(33070,172,172),new G.ptr(33075,173,179),new G.ptr(0,1,0),new G.ptr(33029,170,171),new G.ptr(0,2,0),new G.ptr(33027,166,166),new G.ptr(33029,178,179),new G.ptr(0,1,0),new G.ptr(33027,183,183),new G.ptr(0,10,0),new G.ptr(33075,144,146),new G.ptr(33025,148,148),new G.ptr(33070,149,153),new G.ptr(33075,154,155),new G.ptr(33070,156,159),new G.ptr(33075,160,160),new G.ptr(33025,162,168),new G.ptr(33070,173,173),new G.ptr(33075,180,180),new G.ptr(33075,184,185),new G.ptr(2,10,0),new G.ptr(67,172,172),new G.ptr(209,173,173),new G.ptr(69,174,174),new G.ptr(73,176,177),new G.ptr(230,178,178),new G.ptr(79,179,186),new G.ptr(95,188,188),new G.ptr(239,189,189),new G.ptr(97,190,190),new G.ptr(101,191,191),new G.ptr(0,13,0),new G.ptr(1,128,138),new G.ptr(1086,145,145),new G.ptr(17074,151,151),new G.ptr(29,164,164),new G.ptr(6262,165,165),new G.ptr(7010,166,166),new G.ptr(1,175,175),new G.ptr(9879,179,179),new G.ptr(10251,180,180),new G.ptr(9886,182,182),new G.ptr(10261,183,183),new G.ptr(6256,188,188),new G.ptr(17024,190,190),new G.ptr(2,13,0),new G.ptr(6454,135,135),new G.ptr(6451,136,136),new G.ptr(6259,137,137),new G.ptr(10651,151,151),new G.ptr(1,159,159),new G.ptr(33,176,176),new G.ptr(147,177,177),new G.ptr(41,180,185),new G.ptr(23,186,186),new G.ptr(1130,187,187),new G.ptr(59,188,188),new G.ptr(17,189,190),new G.ptr(157,191,191),new G.ptr(2,15,0),new G.ptr(33,128,137),new G.ptr(23,138,138),new G.ptr(1130,139,139),new G.ptr(59,140,140),new G.ptr(17,141,142),new G.ptr(131,144,144),new G.ptr(139,145,145),new G.ptr(159,146,146),new G.ptr(177,147,147),new G.ptr(260,148,148),new G.ptr(145,149,149),new G.ptr(151,150,153),new G.ptr(161,154,154),new G.ptr(167,155,156),new G.ptr(6559,168,168),new G.ptr(0,13,0),new G.ptr(33075,144,145),new G.ptr(33025,146,147),new G.ptr(33075,148,151),new G.ptr(33025,152,154),new G.ptr(33075,155,156),new G.ptr(33075,161,161),new G.ptr(33025,165,166),new G.ptr(33075,167,167),new G.ptr(33070,168,168),new G.ptr(33075,169,169),new G.ptr(33025,170,171),new G.ptr(33070,172,175),new G.ptr(33075,176,176),new G.ptr(7,6,0),new G.ptr(8582,137,137),new G.ptr(40960,144,144),new G.ptr(40960,146,146),new G.ptr(40960,148,148),new G.ptr(15312,154,155),new G.ptr(15326,174,174),new G.ptr(14,5,0),new G.ptr(15333,141,142),new G.ptr(15340,143,143),new G.ptr(40960,144,144),new G.ptr(40960,146,146),new G.ptr(40960,148,148),new G.ptr(378,14,0),new G.ptr(40960,131,131),new G.ptr(15354,132,132),new G.ptr(40960,136,136),new G.ptr(15361,137,137),new G.ptr(40960,139,139),new G.ptr(15368,140,140),new G.ptr(40960,163,163),new G.ptr(15375,164,164),new G.ptr(40960,165,165),new G.ptr(15382,166,166),new G.ptr(9893,172,173),new G.ptr(9900,175,175),new G.ptr(10281,176,176),new G.ptr(40960,188,188),new G.ptr(7,3,0),new G.ptr(15487,160,161),new G.ptr(15529,162,163),new G.ptr(15571,170,173),new G.ptr(4,1,0),new G.ptr(1166,169,170),new G.ptr(2,3,0),new G.ptr(87,128,143),new G.ptr(131,144,169),new G.ptr(33,170,170),new G.ptr(0,1,0),new G.ptr(10664,140,140),new G.ptr(614,2,0),new G.ptr(7058,180,180),new G.ptr(6448,181,182),new G.ptr(0,1,0),new G.ptr(17652,156,156),new G.ptr(0,2,0),new G.ptr(149,188,188),new G.ptr(109,189,189),new G.ptr(0,1,0),new G.ptr(33075,175,177),new G.ptr(0,2,0),new G.ptr(1154,175,175),new G.ptr(33029,191,191),new G.ptr(0,1,0),new G.ptr(33075,160,191),new G.ptr(0,1,0),new G.ptr(3526,159,159),new G.ptr(0,1,0),new G.ptr(5682,179,179),new G.ptr(4,11,0),new G.ptr(5530,128,130),new G.ptr(5554,131,131),new G.ptr(5578,132,133),new G.ptr(5594,134,137),new G.ptr(5614,138,140),new G.ptr(5634,141,141),new G.ptr(5642,142,142),new G.ptr(5650,143,144),new G.ptr(5662,145,147),new G.ptr(5678,148,148),new G.ptr(5686,149,149),new G.ptr(4,9,0),new G.ptr(1,128,128),new G.ptr(33069,170,170),new G.ptr(33074,171,171),new G.ptr(33076,172,172),new G.ptr(33071,173,173),new G.ptr(33072,174,174),new G.ptr(33072,175,175),new G.ptr(1206,182,182),new G.ptr(2186,184,186),new G.ptr(6,9,0),new G.ptr(790,177,177),new G.ptr(794,178,178),new G.ptr(19026,179,179),new G.ptr(798,180,180),new G.ptr(19032,181,182),new G.ptr(802,183,183),new G.ptr(806,184,184),new G.ptr(810,185,185),new G.ptr(19044,186,191),new G.ptr(0,2,0),new G.ptr(33075,175,175),new G.ptr(33075,180,189),new G.ptr(0,3,0),new G.ptr(530,156,156),new G.ptr(533,157,157),new G.ptr(33075,158,159),new G.ptr(0,1,0),new G.ptr(33075,176,177),new G.ptr(0,1,0),new G.ptr(5694,176,176),new G.ptr(12,1,0),new G.ptr(215,184,185),new G.ptr(0,2,0),new G.ptr(33029,134,134),new G.ptr(33029,172,172),new G.ptr(0,2,0),new G.ptr(33029,132,132),new G.ptr(33075,160,177),new G.ptr(0,1,0),new G.ptr(33070,171,173),new G.ptr(0,1,0),new G.ptr(33029,147,147),new G.ptr(0,1,0),new G.ptr(33027,179,179),new G.ptr(0,1,0),new G.ptr(33029,128,128),new G.ptr(0,5,0),new G.ptr(33075,176,176),new G.ptr(33075,178,179),new G.ptr(33070,180,180),new G.ptr(33075,183,184),new G.ptr(33075,190,191),new G.ptr(0,2,0),new G.ptr(33075,129,129),new G.ptr(33029,182,182),new G.ptr(8,4,0),new G.ptr(5690,156,157),new G.ptr(293,158,158),new G.ptr(5702,159,159),new G.ptr(350,169,169),new G.ptr(0,1,0),new G.ptr(33029,173,173),new G.ptr(0,6,0),new G.ptr(58624,128,128),new G.ptr(50688,129,155),new G.ptr(58624,156,156),new G.ptr(50688,157,183),new G.ptr(58624,184,184),new G.ptr(50688,185,191),new G.ptr(0,5,0),new G.ptr(50688,128,147),new G.ptr(58624,148,148),new G.ptr(50688,149,175),new G.ptr(58624,176,176),new G.ptr(50688,177,191),new G.ptr(0,5,0),new G.ptr(50688,128,139),new G.ptr(58624,140,140),new G.ptr(50688,141,167),new G.ptr(58624,168,168),new G.ptr(50688,169,191),new G.ptr(0,7,0),new G.ptr(50688,128,131),new G.ptr(58624,132,132),new G.ptr(50688,133,159),new G.ptr(58624,160,160),new G.ptr(50688,161,187),new G.ptr(58624,188,188),new G.ptr(50688,189,191),new G.ptr(0,5,0),new G.ptr(50688,128,151),new G.ptr(58624,152,152),new G.ptr(50688,153,179),new G.ptr(58624,180,180),new G.ptr(50688,181,191),new G.ptr(0,5,0),new G.ptr(50688,128,143),new G.ptr(58624,144,144),new G.ptr(50688,145,171),new G.ptr(58624,172,172),new G.ptr(50688,173,191),new G.ptr(0,5,0),new G.ptr(50688,128,135),new G.ptr(58624,136,136),new G.ptr(50688,137,163),new G.ptr(58624,164,164),new G.ptr(50688,165,191),new G.ptr(0,3,0),new G.ptr(50688,128,135),new G.ptr(58624,136,136),new G.ptr(50688,137,163),new G.ptr(2,1,0),new G.ptr(3,129,191),new G.ptr(0,1,0),new G.ptr(33070,189,189),new G.ptr(0,1,0),new G.ptr(33070,160,160),new G.ptr(0,1,0),new G.ptr(33075,182,186),new G.ptr(45,5,0),new G.ptr(33070,141,141),new G.ptr(33075,143,143),new G.ptr(33075,184,184),new G.ptr(33025,185,186),new G.ptr(33029,191,191),new G.ptr(0,2,0),new G.ptr(33075,165,165),new G.ptr(33070,166,166),new G.ptr(0,1,0),new G.ptr(33075,164,167),new G.ptr(0,1,0),new G.ptr(33075,171,172),new G.ptr(0,5,0),new G.ptr(33070,134,135),new G.ptr(33075,136,138),new G.ptr(33070,139,139),new G.ptr(33075,140,140),new G.ptr(33070,141,144),new G.ptr(0,2,0),new G.ptr(33029,134,134),new G.ptr(33029,191,191),new G.ptr(6142,7,0),new G.ptr(40960,153,153),new G.ptr(16975,154,154),new G.ptr(40960,155,155),new G.ptr(16985,156,156),new G.ptr(40960,165,165),new G.ptr(16995,171,171),new G.ptr(33029,185,186),new G.ptr(0,6,0),new G.ptr(33075,128,130),new G.ptr(39168,167,167),new G.ptr(11659,174,174),new G.ptr(11669,175,175),new G.ptr(40960,177,178),new G.ptr(33029,179,180),new G.ptr(0,2,0),new G.ptr(33029,128,128),new G.ptr(33027,138,138),new G.ptr(0,2,0),new G.ptr(33029,181,181),new G.ptr(33027,182,182),new G.ptr(2,1,0),new G.ptr(33027,169,170),new G.ptr(0,2,0),new G.ptr(33027,187,188),new G.ptr(39168,190,190),new G.ptr(0,7,0),new G.ptr(40960,135,135),new G.ptr(11679,139,139),new G.ptr(11689,140,140),new G.ptr(33029,141,141),new G.ptr(39168,151,151),new G.ptr(33075,166,172),new G.ptr(33075,176,180),new G.ptr(0,3,0),new G.ptr(33029,130,130),new G.ptr(33027,134,134),new G.ptr(33075,158,158),new G.ptr(27469,6,0),new G.ptr(39168,176,176),new G.ptr(40960,185,185),new G.ptr(39168,186,186),new G.ptr(11709,187,187),new G.ptr(11699,188,189),new G.ptr(11719,190,190),new G.ptr(0,2,0),new G.ptr(33029,130,130),new G.ptr(33027,131,131),new G.ptr(0,5,0),new G.ptr(39168,175,175),new G.ptr(40960,184,185),new G.ptr(11729,186,186),new G.ptr(11739,187,187),new G.ptr(33029,191,191),new G.ptr(0,1,0),new G.ptr(33027,128,128),new G.ptr(0,1,0),new G.ptr(33029,191,191),new G.ptr(0,2,0),new G.ptr(33029,182,182),new G.ptr(33027,183,183),new G.ptr(0,1,0),new G.ptr(33029,171,171),new G.ptr(0,2,0),new G.ptr(33029,185,185),new G.ptr(33027,186,186),new G.ptr(0,4,0),new G.ptr(39168,176,176),new G.ptr(40960,181,181),new G.ptr(11749,184,184),new G.ptr(33029,189,190),new G.ptr(0,1,0),new G.ptr(33027,131,131),new G.ptr(0,1,0),new G.ptr(33029,160,160),new G.ptr(0,1,0),new G.ptr(33029,180,180),new G.ptr(0,1,0),new G.ptr(33029,135,135),new G.ptr(0,1,0),new G.ptr(33029,153,153),new G.ptr(0,2,0),new G.ptr(33027,130,130),new G.ptr(33029,132,133),new G.ptr(0,1,0),new G.ptr(33029,151,151),new G.ptr(0,1,0),new G.ptr(33025,176,180),new G.ptr(0,1,0),new G.ptr(33075,176,182),new G.ptr(0,1,0),new G.ptr(33026,176,177),new G.ptr(0,1,0),new G.ptr(33025,158,158),new G.ptr(0,12,0),new G.ptr(17891,158,158),new G.ptr(17901,159,159),new G.ptr(17953,160,160),new G.ptr(17967,161,161),new G.ptr(17981,162,162),new G.ptr(17995,163,163),new G.ptr(18009,164,164),new G.ptr(33068,165,166),new G.ptr(33025,167,169),new G.ptr(33073,173,173),new G.ptr(33068,174,178),new G.ptr(33070,187,191),new G.ptr(0,9,0),new G.ptr(33070,128,130),new G.ptr(33075,133,137),new G.ptr(33070,138,139),new G.ptr(33075,170,173),new G.ptr(17911,187,187),new G.ptr(17921,188,188),new G.ptr(18023,189,189),new G.ptr(18051,190,190),new G.ptr(18037,191,191),new G.ptr(0,1,0),new G.ptr(18065,128,128),new G.ptr(0,1,0),new G.ptr(33075,130,132),new G.ptr(2,3,0),new G.ptr(67,128,153),new G.ptr(131,154,179),new G.ptr(67,180,191),new G.ptr(2,4,0),new G.ptr(91,128,141),new G.ptr(131,142,148),new G.ptr(147,150,167),new G.ptr(67,168,191),new G.ptr(2,11,0),new G.ptr(115,128,129),new G.ptr(131,130,155),new G.ptr(67,156,156),new G.ptr(71,158,159),new G.ptr(79,162,162),new G.ptr(85,165,166),new G.ptr(93,169,172),new G.ptr(103,174,181),new G.ptr(131,182,185),new G.ptr(141,187,187),new G.ptr(145,189,191),new G.ptr(2,4,0),new G.ptr(151,128,131),new G.ptr(161,133,143),new G.ptr(67,144,169),new G.ptr(131,170,191),new G.ptr(2,8,0),new G.ptr(175,128,131),new G.ptr(67,132,133),new G.ptr(73,135,138),new G.ptr(85,141,148),new G.ptr(103,150,156),new G.ptr(131,158,183),new G.ptr(67,184,185),new G.ptr(73,187,190),new G.ptr(2,5,0),new G.ptr(83,128,132),new G.ptr(95,134,134),new G.ptr(103,138,144),new G.ptr(131,146,171),new G.ptr(67,172,191),new G.ptr(2,4,0),new G.ptr(107,128,133),new G.ptr(131,134,159),new G.ptr(67,160,185),new G.ptr(131,186,191),new G.ptr(2,3,0),new G.ptr(143,128,147),new G.ptr(67,148,173),new G.ptr(131,174,191),new G.ptr(2,4,0),new G.ptr(167,128,135),new G.ptr(67,136,161),new G.ptr(131,162,187),new G.ptr(67,188,191),new G.ptr(2,3,0),new G.ptr(75,128,149),new G.ptr(131,150,175),new G.ptr(67,176,191),new G.ptr(3,15,0),new G.ptr(443,128,128),new G.ptr(1122,129,129),new G.ptr(446,130,154),new G.ptr(1118,155,155),new G.ptr(458,156,156),new G.ptr(467,157,157),new G.ptr(473,158,158),new G.ptr(509,159,159),new G.ptr(494,160,160),new G.ptr(491,161,161),new G.ptr(374,162,178),new G.ptr(395,179,179),new G.ptr(425,180,186),new G.ptr(1122,187,187),new G.ptr(446,188,191),new G.ptr(3,13,0),new G.ptr(458,128,148),new G.ptr(1118,149,149),new G.ptr(458,150,150),new G.ptr(467,151,151),new G.ptr(473,152,152),new G.ptr(509,153,153),new G.ptr(494,154,154),new G.ptr(491,155,155),new G.ptr(374,156,172),new G.ptr(395,173,173),new G.ptr(425,174,180),new G.ptr(1122,181,181),new G.ptr(446,182,191),new G.ptr(3,13,0),new G.ptr(476,128,142),new G.ptr(1118,143,143),new G.ptr(458,144,144),new G.ptr(467,145,145),new G.ptr(473,146,146),new G.ptr(509,147,147),new G.ptr(494,148,148),new G.ptr(491,149,149),new G.ptr(374,150,166),new G.ptr(395,167,167),new G.ptr(425,168,174),new G.ptr(1122,175,175),new G.ptr(446,176,191),new G.ptr(3,13,0),new G.ptr(494,128,136),new G.ptr(1118,137,137),new G.ptr(458,138,138),new G.ptr(467,139,139),new G.ptr(473,140,140),new G.ptr(509,141,141),new G.ptr(494,142,142),new G.ptr(491,143,143),new G.ptr(374,144,160),new G.ptr(395,161,161),new G.ptr(425,162,168),new G.ptr(1122,169,169),new G.ptr(446,170,191),new G.ptr(0,5,0),new G.ptr(33075,128,134),new G.ptr(33075,136,152),new G.ptr(33075,155,161),new G.ptr(33075,163,164),new G.ptr(33075,166,170),new G.ptr(0,1,0),new G.ptr(33075,172,175),new G.ptr(0,1,0),new G.ptr(33070,144,150),new G.ptr(0,2,0),new G.ptr(33075,132,137),new G.ptr(33027,138,138),new G.ptr(2,10,0),new G.ptr(99,128,137),new G.ptr(6484,138,138),new G.ptr(6535,139,139),new G.ptr(6562,140,140),new G.ptr(6568,141,141),new G.ptr(7110,142,142),new G.ptr(6580,143,143),new G.ptr(6526,170,170),new G.ptr(6529,171,171),new G.ptr(6532,172,172),new G.ptr(0,1,0),new G.ptr(6466,144,144),new G.ptr(40,9,0),new G.ptr(10351,128,128),new G.ptr(10291,129,129),new G.ptr(10301,130,130),new G.ptr(10321,131,132),new G.ptr(10331,133,134),new G.ptr(10311,135,135),new G.ptr(10341,136,136),new G.ptr(2930,144,144),new G.ptr(2282,145,145),new G.ptr(2,1,0),new G.ptr(33,176,185)]);J=new H.ptr(new CD(AB),AA);BK=new CF([new BJ.ptr(0,true,false,BO,BB),new BJ.ptr(1,false,false,BO,AY),new BJ.ptr(2,true,true,BP,BB),new BJ.ptr(3,false,true,BP,AY)]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["hash"]=(function(){var $pkg={},$init,A;A=$packages["io"];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["hash/crc32"]=(function(){var $pkg={},$init,A,B,C,D,N,Q,AO,AQ,AR,Y,Z,AA,AB,E,F,G,K,L,M,O,P,AC,AL;A=$packages["errors"];B=$packages["hash"];C=$packages["sync"];D=$packages["sync/atomic"];N=$pkg.slicing8Table=$newType(8192,$kindArray,"crc32.slicing8Table",true,"hash/crc32",false,null);Q=$pkg.Table=$newType(1024,$kindArray,"crc32.Table",true,"hash/crc32",true,null);AO=$ptrType(N);AQ=$arrayType($Uint32,256);AR=$arrayType(Q,8);E=function(){return false;};F=function(){$panic(new $String("not available"));};G=function(a,b){var a,b;$panic(new $String("not available"));};K=function(a){var a,b;b=AQ.zero();L(a,b);return b;};L=function(a,b){var a,b,c,d,e,f;c=0;while(true){if(!(c<256)){break;}d=((c>>>0));e=0;while(true){if(!(e<8)){break;}if(((d&1)>>>0)===1){d=(((d>>>1>>>0))^a)>>>0;}else{d=(f=(1),f<32?(d>>>f):0)>>>0;}e=e+(1)>>0;}b.nilCheck,((c<0||c>=b.length)?($throwRuntimeError("index out of range"),undefined):b[c]=d);c=c+(1)>>0;}};M=function(a,b,c){var a,b,c,d,e,f,g,h;a=~a>>>0;d=c;e=0;while(true){if(!(e<d.$length)){break;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);a=((g=b,h=(((a<<24>>>24))^f)<<24>>>24,((h<0||h>=g.length)?($throwRuntimeError("index out of range"),undefined):g[h]))^((a>>>8>>>0)))>>>0;e++;}return~a>>>0;};O=function(a){var a,b,c,d,e,f,g,h,i,j;b=AR.zero();L(a,b[0]);c=0;while(true){if(!(c<256)){break;}e=(d=b[0],((c<0||c>=d.length)?($throwRuntimeError("index out of range"),undefined):d[c]));f=1;while(true){if(!(f<8)){break;}e=((g=b[0],h=(e&255)>>>0,((h<0||h>=g.length)?($throwRuntimeError("index out of range"),undefined):g[h]))^((e>>>8>>>0)))>>>0;(i=(j=b,((f<0||f>=j.length)?($throwRuntimeError("index out of range"),undefined):j[f])),((c<0||c>=i.length)?($throwRuntimeError("index out of range"),undefined):i[c]=e));f=f+(1)>>0;}c=c+(1)>>0;}return b;};P=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;if(c.$length>=16){a=~a>>>0;while(true){if(!(c.$length>8)){break;}a=(a^((((((((((0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])>>>0))|((((1>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+1])>>>0))<<8>>>0))>>>0)|((((2>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+2])>>>0))<<16>>>0))>>>0)|((((3>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+3])>>>0))<<24>>>0))>>>0)))>>>0;a=((((((((((((((d=b[0],e=(7>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+7]),((e<0||e>=d.length)?($throwRuntimeError("index out of range"),undefined):d[e]))^(f=b[1],g=(6>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+6]),((g<0||g>=f.length)?($throwRuntimeError("index out of range"),undefined):f[g])))>>>0)^(h=b[2],i=(5>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+5]),((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i])))>>>0)^(j=b[3],k=(4>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+4]),((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k])))>>>0)^(l=b[4],m=a>>>24>>>0,((m<0||m>=l.length)?($throwRuntimeError("index out of range"),undefined):l[m])))>>>0)^(n=b[5],o=(((a>>>16>>>0))&255)>>>0,((o<0||o>=n.length)?($throwRuntimeError("index out of range"),undefined):n[o])))>>>0)^(p=b[6],q=(((a>>>8>>>0))&255)>>>0,((q<0||q>=p.length)?($throwRuntimeError("index out of range"),undefined):p[q])))>>>0)^(r=b[7],s=(a&255)>>>0,((s<0||s>=r.length)?($throwRuntimeError("index out of range"),undefined):r[s])))>>>0;c=$subslice(c,8);}a=~a>>>0;}if(c.$length===0){return a;}return M(a,b[0],c);};AC=function(){Z=E();if(Z){F();AA=G;}else{Y=O(3988292384);AA=(function(a,b){var a,b;return P(a,Y,b);});}};AL=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=AB.Do(AC);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=AA(0,a);$s=2;case 2:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=3;case 3:return c;}return;}if($f===undefined){$f={$blk:AL};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ChecksumIEEE=AL;N.init(Q,8);Q.init($Uint32,256);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}Y=AO.nil;Z=false;AA=$throwNilPointerError;AB=new C.Once.ptr(0,new C.Mutex.ptr(0,0));$pkg.IEEETable=K(3988292384);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["hash/crc64"]=(function(){var $pkg={},$init,A,B,C,D,U,V,W,X,E,F,G,H,I,J,K,L;A=$packages["errors"];B=$packages["hash"];C=$packages["sync"];D=$pkg.Table=$newType(2048,$kindArray,"crc64.Table",true,"hash/crc64",true,null);U=$arrayType(D,8);V=$ptrType(U);W=$ptrType(D);X=$arrayType($Uint64,256);H=function(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=E.Do(I);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:H};}$f.$s=$s;$f.$r=$r;return $f;};I=function(){F=L(K(new $Uint64(3623878656,0)));G=L(K(new $Uint64(3379320725,3615952706)));};J=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=H();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=a;if((c=new $Uint64(3623878656,0),(b.$high===c.$high&&b.$low===c.$low))){$s=-1;return F[0];}else if((d=new $Uint64(3379320725,3615952706),(b.$high===d.$high&&b.$low===d.$low))){$s=-1;return G[0];}else{$s=-1;return K(a);}$s=-1;return W.nil;}return;}if($f===undefined){$f={$blk:J};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.MakeTable=J;K=function(a){var a,b,c,d,e,f,g;b=X.zero();c=0;while(true){if(!(c<256)){break;}d=(new $Uint64(0,c));e=0;while(true){if(!(e<8)){break;}if((f=new $Uint64(d.$high&0,(d.$low&1)>>>0),(f.$high===0&&f.$low===1))){d=(g=$shiftRightUint64(d,1),new $Uint64(g.$high^a.$high,(g.$low^a.$low)>>>0));}else{d=$shiftRightUint64(d,(1));}e=e+(1)>>0;}b.nilCheck,((c<0||c>=b.length)?($throwRuntimeError("index out of range"),undefined):b[c]=d);c=c+(1)>>0;}return b;};L=function(a){var a,b,c,d,e,f,g,h,i,j,k;b=U.zero();D.copy(b[0],a);c=0;while(true){if(!(c<256)){break;}e=(d=a,((c<0||c>=d.length)?($throwRuntimeError("index out of range"),undefined):d[c]));f=1;while(true){if(!(f<8)){break;}e=(g=(h=a,i=new $Uint64(e.$high&0,(e.$low&255)>>>0),(($flatten64(i)<0||$flatten64(i)>=h.length)?($throwRuntimeError("index out of range"),undefined):h[$flatten64(i)])),j=$shiftRightUint64(e,8),new $Uint64(g.$high^j.$high,(g.$low^j.$low)>>>0));(k=((f<0||f>=b.length)?($throwRuntimeError("index out of range"),undefined):b[f]),((c<0||c>=k.length)?($throwRuntimeError("index out of range"),undefined):k[c]=e));f=f+(1)>>0;}c=c+(1)>>0;}return b;};D.init($Uint64,256);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}E=new C.Once.ptr(0,new C.Mutex.ptr(0,0));F=V.nil;G=V.nil;}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["math/rand"]=(function(){var $pkg={},$init,B,A,F,H,I,K,AE,AM,AN,AO,AQ,AR,AS,AT,AU,AV,E,N,AG,AH,AI,AJ,AK,AL,G,J,L,M,AF;B=$packages["github.com/gopherjs/gopherjs/nosync"];A=$packages["math"];F=$pkg.rngSource=$newType(0,$kindStruct,"rand.rngSource",true,"math/rand",false,function(tap_,feed_,vec_){this.$val=this;if(arguments.length===0){this.tap=0;this.feed=0;this.vec=AQ.zero();return;}this.tap=tap_;this.feed=feed_;this.vec=vec_;});H=$pkg.Source=$newType(8,$kindInterface,"rand.Source",true,"math/rand",true,null);I=$pkg.Source64=$newType(8,$kindInterface,"rand.Source64",true,"math/rand",true,null);K=$pkg.Rand=$newType(0,$kindStruct,"rand.Rand",true,"math/rand",true,function(src_,s64_,readVal_,readPos_){this.$val=this;if(arguments.length===0){this.src=$ifaceNil;this.s64=$ifaceNil;this.readVal=new $Int64(0,0);this.readPos=0;return;}this.src=src_;this.s64=s64_;this.readVal=readVal_;this.readPos=readPos_;});AE=$pkg.lockedSource=$newType(0,$kindStruct,"rand.lockedSource",true,"math/rand",false,function(lk_,src_){this.$val=this;if(arguments.length===0){this.lk=new B.Mutex.ptr(false);this.src=AM.nil;return;}this.lk=lk_;this.src=src_;});AM=$ptrType(F);AN=$ptrType(AE);AO=$ptrType(K);AQ=$arrayType($Int64,607);AR=$ptrType($Int8);AS=$sliceType($Int);AT=$ptrType($Int64);AU=$funcType([$Int,$Int],[],false);AV=$sliceType($Uint8);G=function(a){var a,b,c,d,e;c=(b=a/44488,(b===b&&b!==1/0&&b!==-1/0)?b>>0:$throwRuntimeError("integer divide by zero"));e=(d=a%44488,d===d?d:$throwRuntimeError("integer divide by zero"));a=($imul(48271,e))-($imul(3399,c))>>0;if(a<0){a=a+(2147483647)>>0;}return a;};F.ptr.prototype.Seed=function(a){var a,b,c,d,e,f,g,h,i,j;b=this;b.tap=0;b.feed=334;a=$div64(a,new $Int64(0,2147483647),true);if((a.$high<0||(a.$high===0&&a.$low<0))){a=(c=new $Int64(0,2147483647),new $Int64(a.$high+c.$high,a.$low+c.$low));}if((a.$high===0&&a.$low===0)){a=new $Int64(0,89482311);}d=(((a.$low+((a.$high>>31)*4294967296))>>0));e=-20;while(true){if(!(e<607)){break;}d=G(d);if(e>=0){f=new $Int64(0,0);f=$shiftLeft64((new $Int64(0,d)),40);d=G(d);f=(g=$shiftLeft64((new $Int64(0,d)),20),new $Int64(f.$high^g.$high,(f.$low^g.$low)>>>0));d=G(d);f=(h=(new $Int64(0,d)),new $Int64(f.$high^h.$high,(f.$low^h.$low)>>>0));f=(i=((e<0||e>=E.length)?($throwRuntimeError("index out of range"),undefined):E[e]),new $Int64(f.$high^i.$high,(f.$low^i.$low)>>>0));(j=b.vec,((e<0||e>=j.length)?($throwRuntimeError("index out of range"),undefined):j[e]=f));}e=e+(1)>>0;}};F.prototype.Seed=function(a){return this.$val.Seed(a);};F.ptr.prototype.Int63=function(){var a,b,c;a=this;return((b=(c=a.Uint64(),new $Uint64(c.$high&2147483647,(c.$low&4294967295)>>>0)),new $Int64(b.$high,b.$low)));};F.prototype.Int63=function(){return this.$val.Int63();};F.ptr.prototype.Uint64=function(){var a,b,c,d,e,f,g,h,i,j;a=this;a.tap=a.tap-(1)>>0;if(a.tap<0){a.tap=a.tap+(607)>>0;}a.feed=a.feed-(1)>>0;if(a.feed<0){a.feed=a.feed+(607)>>0;}h=(b=(c=a.vec,d=a.feed,((d<0||d>=c.length)?($throwRuntimeError("index out of range"),undefined):c[d])),e=(f=a.vec,g=a.tap,((g<0||g>=f.length)?($throwRuntimeError("index out of range"),undefined):f[g])),new $Int64(b.$high+e.$high,b.$low+e.$low));(i=a.vec,j=a.feed,((j<0||j>=i.length)?($throwRuntimeError("index out of range"),undefined):i[j]=h));return(new $Uint64(h.$high,h.$low));};F.prototype.Uint64=function(){return this.$val.Uint64();};J=function(a){var a,b;b=new F.ptr(0,0,AQ.zero());b.Seed(a);return b;};$pkg.NewSource=J;L=function(a){var a,b,c;b=$assertType(a,I,true);c=b[0];return new K.ptr(a,c,new $Int64(0,0),0);};$pkg.New=L;K.ptr.prototype.Seed=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$assertType(b.src,AN,true);d=c[0];e=c[1];if(e){d.seedPos(a,(b.$ptr_readPos||(b.$ptr_readPos=new AR(function(){return this.$target.readPos;},function($v){this.$target.readPos=$v;},b))));$s=-1;return;}$r=b.src.Seed(a);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.readPos=0;$s=-1;return;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Seed};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Seed=function(a){return this.$val.Seed(a);};K.ptr.prototype.Int63=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.src.Int63();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Int63};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Int63=function(){return this.$val.Int63();};K.ptr.prototype.Uint32=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Int63();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=(($shiftRightInt64(b,31).$low>>>0));$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Uint32};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Uint32=function(){return this.$val.Uint32();};K.ptr.prototype.Uint64=function(){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(!($interfaceIsEqual(a.s64,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:b=a.s64.Uint64();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=4;case 4:return c;case 2:f=a.Int63();$s=5;case 5:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}i=a.Int63();$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=(d=$shiftRightUint64(((e=f,new $Uint64(e.$high,e.$low))),31),g=$shiftLeft64(((h=i,new $Uint64(h.$high,h.$low))),32),new $Uint64(d.$high|g.$high,(d.$low|g.$low)>>>0));$s=7;case 7:return j;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Uint64};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Uint64=function(){return this.$val.Uint64();};K.ptr.prototype.Int31=function(){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=a.Int63();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=(((b=$shiftRightInt64(c,32),b.$low+((b.$high>>31)*4294967296))>>0));$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Int31};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Int31=function(){return this.$val.Int31();};K.ptr.prototype.Int=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Int63();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=((b.$low>>>0));$s=-1;return((((c<<1>>>0)>>>1>>>0)>>0));}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Int};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Int=function(){return this.$val.Int();};K.ptr.prototype.Int63n=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if((a.$high<0||(a.$high===0&&a.$low<=0))){$panic(new $String("invalid argument to Int63n"));}if((c=(d=new $Int64(a.$high-0,a.$low-1),new $Int64(a.$high&d.$high,(a.$low&d.$low)>>>0)),(c.$high===0&&c.$low===0))){$s=1;continue;}$s=2;continue;case 1:f=b.Int63();$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}h=(e=f,g=new $Int64(a.$high-0,a.$low-1),new $Int64(e.$high&g.$high,(e.$low&g.$low)>>>0));$s=4;case 4:return h;case 2:k=((i=(j=$div64(new $Uint64(2147483648,0),(new $Uint64(a.$high,a.$low)),true),new $Uint64(2147483647-j.$high,4294967295-j.$low)),new $Int64(i.$high,i.$low)));l=b.Int63();$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;case 6:if(!((m.$high>k.$high||(m.$high===k.$high&&m.$low>k.$low)))){$s=7;continue;}n=b.Int63();$s=8;case 8:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;$s=6;continue;case 7:$s=-1;return $div64(m,a,true);}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Int63n};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Int63n=function(a){return this.$val.Int63n(a);};K.ptr.prototype.Int31n=function(a){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a<=0){$panic(new $String("invalid argument to Int31n"));}if((a&((a-1>>0)))===0){$s=1;continue;}$s=2;continue;case 1:c=b.Int31();$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c&((a-1>>0));$s=4;case 4:return d;case 2:f=(((2147483647-(e=2147483648%((a>>>0)),e===e?e:$throwRuntimeError("integer divide by zero"))>>>0)>>0));g=b.Int31();$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;case 6:if(!(h>f)){$s=7;continue;}i=b.Int31();$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;$s=6;continue;case 7:$s=-1;return(j=h%a,j===j?j:$throwRuntimeError("integer divide by zero"));}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Int31n};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Int31n=function(a){return this.$val.Int31n(a);};K.ptr.prototype.int31n=function(a){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Uint32();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=$mul64((new $Uint64(0,d)),(new $Uint64(0,a)));f=((e.$low>>>0));if(f<((a>>>0))){$s=2;continue;}$s=3;continue;case 2:h=(g=((-a>>>0))%((a>>>0)),g===g?g:$throwRuntimeError("integer divide by zero"));case 4:if(!(f<h)){$s=5;continue;}i=b.Uint32();$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}d=i;e=$mul64((new $Uint64(0,d)),(new $Uint64(0,a)));f=((e.$low>>>0));$s=4;continue;case 5:case 3:$s=-1;return(($shiftRightUint64(e,32).$low>>0));}return;}if($f===undefined){$f={$blk:K.ptr.prototype.int31n};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.int31n=function(a){return this.$val.int31n(a);};K.ptr.prototype.Intn=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a<=0){$panic(new $String("invalid argument to Intn"));}if(a<=2147483647){$s=1;continue;}$s=2;continue;case 1:c=b.Int31n(((a>>0)));$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=((c>>0));$s=4;case 4:return d;case 2:f=b.Int63n((new $Int64(0,a)));$s=5;case 5:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=(((e=f,e.$low+((e.$high>>31)*4294967296))>>0));$s=6;case 6:return g;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Intn};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Intn=function(a){return this.$val.Intn(a);};K.ptr.prototype.Float64=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:b=a.Int63();$s=2;case 2:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=($flatten64(b))/9.223372036854776e+18;if(c===1){$s=3;continue;}$s=4;continue;case 3:$s=1;continue;case 4:$s=-1;return c;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Float64};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Float64=function(){return this.$val.Float64();};K.ptr.prototype.Float32=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:b=a.Float64();$s=2;case 2:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=($fround(b));if(c===1){$s=3;continue;}$s=4;continue;case 3:$s=1;continue;case 4:$s=-1;return c;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Float32};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Float32=function(){return this.$val.Float32();};K.ptr.prototype.Perm=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$makeSlice(AS,a);d=0;case 1:if(!(d<a)){$s=2;continue;}e=b.Intn(d+1>>0);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]));((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=d);d=d+(1)>>0;$s=1;continue;case 2:$s=-1;return c;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Perm};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Perm=function(a){return this.$val.Perm(a);};K.ptr.prototype.Shuffle=function(a,b){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(a<0){$panic(new $String("invalid argument to Shuffle"));}d=a-1>>0;case 1:if(!(d>2147483646)){$s=2;continue;}f=c.Int63n((new $Int64(0,(d+1>>0))));$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=(((e=f,e.$low+((e.$high>>31)*4294967296))>>0));$r=b(d,g);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=d-(1)>>0;$s=1;continue;case 2:case 5:if(!(d>0)){$s=6;continue;}h=c.int31n((((d+1>>0)>>0)));$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=((h>>0));$r=b(d,i);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=d-(1)>>0;$s=5;continue;case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Shuffle};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Shuffle=function(a,b){return this.$val.Shuffle(a,b);};K.ptr.prototype.Read=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;e=$assertType(d.src,AN,true);f=e[0];g=e[1];if(g){$s=1;continue;}$s=2;continue;case 1:i=f.read(a,(d.$ptr_readVal||(d.$ptr_readVal=new AT(function(){return this.$target.readVal;},function($v){this.$target.readVal=$v;},d))),(d.$ptr_readPos||(d.$ptr_readPos=new AR(function(){return this.$target.readPos;},function($v){this.$target.readPos=$v;},d))));$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;b=h[0];c=h[1];j=[b,c];$s=4;case 4:return j;case 2:l=M(a,d.src,(d.$ptr_readVal||(d.$ptr_readVal=new AT(function(){return this.$target.readVal;},function($v){this.$target.readVal=$v;},d))),(d.$ptr_readPos||(d.$ptr_readPos=new AR(function(){return this.$target.readPos;},function($v){this.$target.readPos=$v;},d))));$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;b=k[0];c=k[1];m=[b,c];$s=6;case 6:return m;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Read};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Read=function(a){return this.$val.Read(a);};M=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=0;f=$ifaceNil;g=d.$get();h=c.$get();i=$assertType(b,AM,true);j=i[0];e=0;case 1:if(!(e<a.$length)){$s=2;continue;}if(g===0){$s=3;continue;}$s=4;continue;case 3:if(!(j===AM.nil)){$s=5;continue;}$s=6;continue;case 5:h=j.Int63();$s=7;continue;case 6:k=b.Int63();$s=8;case 8:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}h=k;case 7:g=7;case 4:((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]=((h.$low<<24>>>24)));h=$shiftRightInt64(h,(8));g=g-(1)<<24>>24;e=e+(1)>>0;$s=1;continue;case 2:d.$set(g);c.$set(h);$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:M};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AE.ptr.prototype.Int63=function(){var a,b;a=new $Int64(0,0);b=this;b.lk.Lock();a=b.src.Int63();b.lk.Unlock();return a;};AE.prototype.Int63=function(){return this.$val.Int63();};AE.ptr.prototype.Uint64=function(){var a,b;a=new $Uint64(0,0);b=this;b.lk.Lock();a=b.src.Uint64();b.lk.Unlock();return a;};AE.prototype.Uint64=function(){return this.$val.Uint64();};AE.ptr.prototype.Seed=function(a){var a,b;b=this;b.lk.Lock();b.src.Seed(a);b.lk.Unlock();};AE.prototype.Seed=function(a){return this.$val.Seed(a);};AE.ptr.prototype.seedPos=function(a,b){var a,b,c;c=this;c.lk.Lock();c.src.Seed(a);b.$set(0);c.lk.Unlock();};AE.prototype.seedPos=function(a,b){return this.$val.seedPos(a,b);};AE.ptr.prototype.read=function(a,b,c){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=0;e=$ifaceNil;f=this;f.lk.Lock();h=M(a,f.src,b,c);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;d=g[0];e=g[1];f.lk.Unlock();$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.read};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.read=function(a,b,c){return this.$val.read(a,b,c);};AF=function(a){var a;if(a<0){return((-a>>>0));}return((a>>>0));};K.ptr.prototype.NormFloat64=function(){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:b=a.Uint32();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=((b>>0));d=c&127;e=(c)*(((d<0||d>=AH.length)?($throwRuntimeError("index out of range"),undefined):AH[d]));if(AF(c)<((d<0||d>=AG.length)?($throwRuntimeError("index out of range"),undefined):AG[d])){$s=-1;return e;}if(d===0){$s=4;continue;}$s=5;continue;case 4:case 6:f=a.Float64();$s=8;case 8:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=A.Log(f);$s=9;case 9:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}e=-g*0.29047645161474317;h=a.Float64();$s=10;case 10:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=A.Log(h);$s=11;case 11:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=-i;if(j+j>=e*e){$s=7;continue;}$s=6;continue;case 7:if(c>0){$s=-1;return 3.442619855899+e;}$s=-1;return-3.442619855899-e;case 5:k=a.Float64();$s=14;case 14:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if($fround(((d<0||d>=AI.length)?($throwRuntimeError("index out of range"),undefined):AI[d])+$fround(($fround(k))*($fround((l=d-1>>0,((l<0||l>=AI.length)?($throwRuntimeError("index out of range"),undefined):AI[l]))-((d<0||d>=AI.length)?($throwRuntimeError("index out of range"),undefined):AI[d])))))<($fround(A.Exp(-0.5*e*e)))){$s=12;continue;}$s=13;continue;case 12:$s=-1;return e;case 13:$s=1;continue;case 2:$s=-1;return 0;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.NormFloat64};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.NormFloat64=function(){return this.$val.NormFloat64();};K.ptr.prototype.ExpFloat64=function(){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:b=a.Uint32();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;d=(c&255)>>>0;e=(c)*(((d<0||d>=AK.length)?($throwRuntimeError("index out of range"),undefined):AK[d]));if(c<((d<0||d>=AJ.length)?($throwRuntimeError("index out of range"),undefined):AJ[d])){$s=-1;return e;}if(d===0){$s=4;continue;}$s=5;continue;case 4:f=a.Float64();$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=A.Log(f);$s=7;case 7:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=7.69711747013105-g;$s=8;case 8:return h;case 5:i=a.Float64();$s=11;case 11:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if($fround(((d<0||d>=AL.length)?($throwRuntimeError("index out of range"),undefined):AL[d])+$fround(($fround(i))*($fround((j=d-1>>>0,((j<0||j>=AL.length)?($throwRuntimeError("index out of range"),undefined):AL[j]))-((d<0||d>=AL.length)?($throwRuntimeError("index out of range"),undefined):AL[d])))))<($fround(A.Exp(-e)))){$s=9;continue;}$s=10;continue;case 9:$s=-1;return e;case 10:$s=1;continue;case 2:$s=-1;return 0;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.ExpFloat64};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.ExpFloat64=function(){return this.$val.ExpFloat64();};AM.methods=[{prop:"Seed",name:"Seed",pkg:"",typ:$funcType([$Int64],[],false)},{prop:"Int63",name:"Int63",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([],[$Uint64],false)}];AO.methods=[{prop:"Seed",name:"Seed",pkg:"",typ:$funcType([$Int64],[],false)},{prop:"Int63",name:"Int63",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Uint32",name:"Uint32",pkg:"",typ:$funcType([],[$Uint32],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([],[$Uint64],false)},{prop:"Int31",name:"Int31",pkg:"",typ:$funcType([],[$Int32],false)},{prop:"Int",name:"Int",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Int63n",name:"Int63n",pkg:"",typ:$funcType([$Int64],[$Int64],false)},{prop:"Int31n",name:"Int31n",pkg:"",typ:$funcType([$Int32],[$Int32],false)},{prop:"int31n",name:"int31n",pkg:"math/rand",typ:$funcType([$Int32],[$Int32],false)},{prop:"Intn",name:"Intn",pkg:"",typ:$funcType([$Int],[$Int],false)},{prop:"Float64",name:"Float64",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Float32",name:"Float32",pkg:"",typ:$funcType([],[$Float32],false)},{prop:"Perm",name:"Perm",pkg:"",typ:$funcType([$Int],[AS],false)},{prop:"Shuffle",name:"Shuffle",pkg:"",typ:$funcType([$Int,AU],[],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([AV],[$Int,$error],false)},{prop:"NormFloat64",name:"NormFloat64",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"ExpFloat64",name:"ExpFloat64",pkg:"",typ:$funcType([],[$Float64],false)}];AN.methods=[{prop:"Int63",name:"Int63",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([],[$Uint64],false)},{prop:"Seed",name:"Seed",pkg:"",typ:$funcType([$Int64],[],false)},{prop:"seedPos",name:"seedPos",pkg:"math/rand",typ:$funcType([$Int64,AR],[],false)},{prop:"read",name:"read",pkg:"math/rand",typ:$funcType([AV,AT,AR],[$Int,$error],false)}];F.init("math/rand",[{prop:"tap",name:"tap",embedded:false,exported:false,typ:$Int,tag:""},{prop:"feed",name:"feed",embedded:false,exported:false,typ:$Int,tag:""},{prop:"vec",name:"vec",embedded:false,exported:false,typ:AQ,tag:""}]);H.init([{prop:"Int63",name:"Int63",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Seed",name:"Seed",pkg:"",typ:$funcType([$Int64],[],false)}]);I.init([{prop:"Int63",name:"Int63",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Seed",name:"Seed",pkg:"",typ:$funcType([$Int64],[],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([],[$Uint64],false)}]);K.init("math/rand",[{prop:"src",name:"src",embedded:false,exported:false,typ:H,tag:""},{prop:"s64",name:"s64",embedded:false,exported:false,typ:I,tag:""},{prop:"readVal",name:"readVal",embedded:false,exported:false,typ:$Int64,tag:""},{prop:"readPos",name:"readPos",embedded:false,exported:false,typ:$Int8,tag:""}]);AE.init("math/rand",[{prop:"lk",name:"lk",embedded:false,exported:false,typ:B.Mutex,tag:""},{prop:"src",name:"src",embedded:false,exported:false,typ:AM,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}E=$toNativeArray($kindInt64,[new $Int64(-973649357,3952672746),new $Int64(-1065661887,3130416987),new $Int64(324977939,3414273807),new $Int64(1241840476,2806224363),new $Int64(-1477934308,1997590414),new $Int64(2103305448,2402795971),new $Int64(1663160183,1140819369),new $Int64(1120601685,1788868961),new $Int64(1848035537,1089001426),new $Int64(1235702047,873593504),new $Int64(1911387977,581324885),new $Int64(-1654874170,1609182556),new $Int64(1069394745,1241596776),new $Int64(1895445337,1771189259),new $Int64(-1374618802,3467012610),new $Int64(-140526423,2344407434),new $Int64(-1745367887,782467244),new $Int64(26335124,3404933915),new $Int64(1063924276,618867887),new $Int64(-968700782,520164395),new $Int64(-1591572833,1341358184),new $Int64(-1515085039,665794848),new $Int64(1527227641,3183648150),new $Int64(1781176124,696329606),new $Int64(1789146075,4151988961),new $Int64(-2087444114,998951326),new $Int64(-612324923,1364957564),new $Int64(63173359,4090230633),new $Int64(-1498029007,4009697548),new $Int64(248009524,2569622517),new $Int64(778703922,3742421481),new $Int64(-1109106023,1506914633),new $Int64(1738099768,1983412561),new $Int64(236311649,1436266083),new $Int64(-1111517500,3922894967),new $Int64(-1336974714,1792680179),new $Int64(563141142,1188796351),new $Int64(1349617468,405968250),new $Int64(1044074554,433754187),new $Int64(870549669,4073162024),new $Int64(-1094251604,433121399),new $Int64(2451824,4162580594),new $Int64(-137262572,4132415622),new $Int64(-1536231048,3033822028),new $Int64(2016407895,824682382),new $Int64(2366218,3583765414),new $Int64(-624604839,535386927),new $Int64(1637219058,2286693689),new $Int64(1453075389,2968466525),new $Int64(193683513,1351410206),new $Int64(-283806096,1412813499),new $Int64(492736522,4126267639),new $Int64(512765208,2105529399),new $Int64(2132966268,2413882233),new $Int64(947457634,32226200),new $Int64(1149341356,2032329073),new $Int64(106485445,1356518208),new $Int64(-2067810156,3430061722),new $Int64(-1484435135,3820169661),new $Int64(-1665985194,2981816134),new $Int64(1017155588,4184371017),new $Int64(206574701,2119206761),new $Int64(-852109057,2472200560),new $Int64(-560457548,2853524696),new $Int64(1307803389,1681119904),new $Int64(-174986835,95608918),new $Int64(392686347,3690479145),new $Int64(-1205570926,1397922290),new $Int64(-1159314025,1516129515),new $Int64(-320178155,1547420459),new $Int64(1311333971,1470949486),new $Int64(-1953469798,1336785672),new $Int64(-45086614,4131677129),new $Int64(-1392278100,4246329084),new $Int64(-1142500187,3788585631),new $Int64(-66478285,3080389532),new $Int64(-646438364,2215402037),new $Int64(391002300,1171593935),new $Int64(1408774047,1423855166),new $Int64(-519177718,2276716302),new $Int64(-368453140,2068027241),new $Int64(1369359303,3427553297),new $Int64(189241615,3289637845),new $Int64(1057480830,3486407650),new $Int64(-1512910664,3071877822),new $Int64(1159653919,3363620705),new $Int64(-934256930,4159821533),new $Int64(-76621938,1894661),new $Int64(-674493898,1156868282),new $Int64(348271067,776219088),new $Int64(-501428838,2425634259),new $Int64(1716021749,680510161),new $Int64(-574263456,1310101429),new $Int64(1095885995,2964454134),new $Int64(-325695512,3467098407),new $Int64(1990672920,2109628894),new $Int64(-2139648704,1232604732),new $Int64(-1838070714,3261916179),new $Int64(1699175360,434597899),new $Int64(235436061,1624796439),new $Int64(-1626402839,3589632480),new $Int64(1198416575,864579159),new $Int64(-1938748161,1380889830),new $Int64(619206309,2654509477),new $Int64(1419738251,1468209306),new $Int64(-1744284772,100794388),new $Int64(-1191421458,2991674471),new $Int64(-208666741,2224662036),new $Int64(-173659161,977097250),new $Int64(1351320195,726419512),new $Int64(-183459897,1747974366),new $Int64(-753095183,1556430604),new $Int64(-1049492215,1080776742),new $Int64(-385846958,280794874),new $Int64(117767733,919835643),new $Int64(-967009426,3434019658),new $Int64(-1951414480,2461941785),new $Int64(133215641,3615001066),new $Int64(417204809,3103414427),new $Int64(790056561,3380809712),new $Int64(-1267681408,2724693469),new $Int64(547796833,598827710),new $Int64(-1846559452,3452273442),new $Int64(-75778224,649274915),new $Int64(-801301329,2585724112),new $Int64(-1510934263,3165579553),new $Int64(1185578221,2635894283),new $Int64(-52910178,2053289721),new $Int64(985976581,3169337108),new $Int64(1170569632,144717764),new $Int64(1079216270,1383666384),new $Int64(-124804942,681540375),new $Int64(1375448925,537050586),new $Int64(-1964768344,315246468),new $Int64(226402871,849323088),new $Int64(-885062465,45543944),new $Int64(-946445250,2319052083),new $Int64(-40708194,3613090841),new $Int64(560472520,2992171180),new $Int64(-381863169,2068244785),new $Int64(917538188,4239862634),new $Int64(-1369555809,3892253031),new $Int64(720683925,958186149),new $Int64(-423297785,1877702262),new $Int64(1357886971,837674867),new $Int64(1837048883,1507589294),new $Int64(1905518400,873336795),new $Int64(-1879761037,2764496274),new $Int64(-1806480530,4196182374),new $Int64(-1066765755,550964545),new $Int64(818747069,420611474),new $Int64(-1924830376,204265180),new $Int64(1549974541,1787046383),new $Int64(1215581865,3102292318),new $Int64(418321538,1552199393),new $Int64(1243493047,980542004),new $Int64(267284263,3293718720),new $Int64(1179528763,3771917473),new $Int64(599484404,2195808264),new $Int64(252818753,3894702887),new $Int64(-1367475956,2099949527),new $Int64(1424094358,338442522),new $Int64(490737398,637158004),new $Int64(-1727621530,281976339),new $Int64(574970164,3619802330),new $Int64(-431930823,3084554784),new $Int64(-1264611183,4129772886),new $Int64(-2104399043,1680378557),new $Int64(-1621962591,3339087776),new $Int64(1680500332,4220317857),new $Int64(-1935828963,2959322499),new $Int64(1675600481,1488354890),new $Int64(-834863562,3958162143),new $Int64(-1226511573,2773705983),new $Int64(1876039582,225908689),new $Int64(-1183735113,908216283),new $Int64(-605696219,3574646075),new $Int64(-1827723091,1936937569),new $Int64(1519770881,75492235),new $Int64(816689472,1935193178),new $Int64(2142521206,2018250883),new $Int64(455141620,3943126022),new $Int64(-601399488,3066544345),new $Int64(1932392669,2793082663),new $Int64(-1239009361,3297036421),new $Int64(1640597065,2206987825),new $Int64(-553246738,807894872),new $Int64(-1781325307,766252117),new $Int64(2060649606,3833114345),new $Int64(845619743,1255067973),new $Int64(1201145605,741697208),new $Int64(-1476242608,2810093753),new $Int64(1109032642,4229340371),new $Int64(1462188720,1361684224),new $Int64(-1159399429,1906263026),new $Int64(475781207,3904421704),new $Int64(-623537128,1769075545),new $Int64(1062308525,2621599764),new $Int64(1279509432,3431891480),new $Int64(-1742751146,1871896503),new $Int64(128756421,1412808876),new $Int64(1605404688,952876175),new $Int64(-230443691,1824438899),new $Int64(1662295856,1005035476),new $Int64(-156574141,527508597),new $Int64(1288873303,3066806859),new $Int64(565995893,3244940914),new $Int64(-889746188,209092916),new $Int64(-247669406,1242699167),new $Int64(-713830396,456723774),new $Int64(1776978905,1001252870),new $Int64(1468772157,2026725874),new $Int64(857254202,2137562569),new $Int64(765939740,3183366709),new $Int64(1533887628,2612072960),new $Int64(56977098,1727148468),new $Int64(-1197583895,3803658212),new $Int64(1883670356,479946959),new $Int64(685713571,1562982345),new $Int64(-1946242443,1766109365),new $Int64(700596547,3257093788),new $Int64(-184714929,2365720207),new $Int64(93384808,3742754173),new $Int64(-458385235,2878193673),new $Int64(1096135042,2174002182),new $Int64(-834260953,3573511231),new $Int64(-754572527,1760299077),new $Int64(-1375627191,2260779833),new $Int64(-866019274,1452805722),new $Int64(-1229671918,2940011802),new $Int64(1890251082,1886183802),new $Int64(893897673,2514369088),new $Int64(1644345561,3924317791),new $Int64(-1974867432,500935732),new $Int64(1403501753,676580929),new $Int64(-1565912283,1184984890),new $Int64(-691968413,1271474274),new $Int64(-1828754738,3163791473),new $Int64(2051027584,2842487377),new $Int64(1511537551,2170968612),new $Int64(573262976,3535856740),new $Int64(-2053227187,1488599718),new $Int64(-1180531831,3408913763),new $Int64(-2086531912,2501050084),new $Int64(-875130448,1639124157),new $Int64(-2009482504,4088176393),new $Int64(1574896563,3989947576),new $Int64(-165243708,3414355209),new $Int64(-792329287,2275136352),new $Int64(-2057774345,2151835223),new $Int64(-931144933,1654534827),new $Int64(-679921451,377892833),new $Int64(-482716010,660204544),new $Int64(85706799,390828249),new $Int64(-1422172693,3402783878),new $Int64(-1468634160,3717936603),new $Int64(1113532086,2211058823),new $Int64(1564224320,2692150867),new $Int64(1952770442,1928910388),new $Int64(788716862,3931011137),new $Int64(1083670504,1112701047),new $Int64(-68150572,2452299106),new $Int64(-896164822,2337204777),new $Int64(1774877857,273889282),new $Int64(1798719843,1462008793),new $Int64(2138834788,1554494002),new $Int64(-1194967131,182675323),new $Int64(-1598554764,1882802136),new $Int64(589279648,3700220025),new $Int64(381039426,3083431543),new $Int64(-851859191,3622207527),new $Int64(338126939,432729309),new $Int64(-1667470126,2391914317),new $Int64(-1849558151,235747924),new $Int64(2120733629,3088823825),new $Int64(-745079795,2314658321),new $Int64(1165929723,2957634338),new $Int64(501323675,4117056981),new $Int64(1564699815,1482500298),new $Int64(-740826490,840489337),new $Int64(799522364,3483178565),new $Int64(532129761,2074004656),new $Int64(724246478,3643392642),new $Int64(-665153481,1583624461),new $Int64(-885822954,287473085),new $Int64(1667835381,3136843981),new $Int64(1138806821,1266970974),new $Int64(135185781,1998688839),new $Int64(392094735,1492900209),new $Int64(1031326774,1538112737),new $Int64(-2070568842,2207265429),new $Int64(-1886797613,963263315),new $Int64(1671145500,2295892134),new $Int64(1068469660,2002560897),new $Int64(-356250305,1369254035),new $Int64(33436120,3353312708),new $Int64(57507843,947771099),new $Int64(-1945755145,1747061399),new $Int64(1507240140,2047354631),new $Int64(720000810,4165367136),new $Int64(479265078,3388864963),new $Int64(-952181250,286492130),new $Int64(2045622690,2795735007),new $Int64(-715730566,3703961339),new $Int64(-148436487,1797825479),new $Int64(1429039600,1116589674),new $Int64(-1665420098,2593309206),new $Int64(1329049334,3404995677),new $Int64(-750579440,3453462936),new $Int64(1014767077,3016498634),new $Int64(75698599,1650371545),new $Int64(1592007860,212344364),new $Int64(1127766888,3843932156),new $Int64(-748019856,3573129983),new $Int64(-890581831,665897820),new $Int64(1071492673,1675628772),new $Int64(243225682,2831752928),new $Int64(2120298836,1486294219),new $Int64(-1954407413,268782709),new $Int64(-1002123503,4186179080),new $Int64(624342951,1613720397),new $Int64(857179861,2703686015),new $Int64(-911618704,2205342611),new $Int64(-672703993,1411666394),new $Int64(-1528454899,677744900),new $Int64(-1876628533,4172867247),new $Int64(135494707,2163418403),new $Int64(849547544,2841526879),new $Int64(-1117516959,1082141470),new $Int64(-1770111792,4046134367),new $Int64(51415528,2142943655),new $Int64(-249824333,3124627521),new $Int64(998228909,219992939),new $Int64(-1078790951,1756846531),new $Int64(1283749206,1225118210),new $Int64(-525858006,1647770243),new $Int64(-2035959705,444807907),new $Int64(2036369448,3952076173),new $Int64(53201823,1461839639),new $Int64(315761893,3699250910),new $Int64(702974850,1373688981),new $Int64(734022261,147523747),new $Int64(-2047330906,1211276581),new $Int64(1294440951,2548832680),new $Int64(1144696256,1995631888),new $Int64(-1992983070,2011457303),new $Int64(-1351022674,3057425772),new $Int64(667839456,81484597),new $Int64(-1681980888,3646681560),new $Int64(-1372462725,635548515),new $Int64(602489502,2508044581),new $Int64(-1794220117,1014917157),new $Int64(719992433,3214891315),new $Int64(-1294799037,959582252),new $Int64(226415134,3347040449),new $Int64(-362868096,4102971975),new $Int64(397887437,4078022210),new $Int64(-536803826,2851767182),new $Int64(-1398321012,1540160644),new $Int64(-1549098876,1057290595),new $Int64(-112592988,3907769253),new $Int64(579300318,4248952684),new $Int64(-1054576049,132554364),new $Int64(-1085862414,1029351092),new $Int64(697840928,2583007416),new $Int64(298619124,1486185789),new $Int64(55905697,2871589073),new $Int64(2017643612,723203291),new $Int64(146250550,2494333952),new $Int64(-1082993397,2230939180),new $Int64(-1804568072,3943232912),new $Int64(1768732449,2181367922),new $Int64(-729261111,2889274791),new $Int64(1824032949,2046728161),new $Int64(1653899792,1376052477),new $Int64(1022327048,381236993),new $Int64(-1113097690,3188942166),new $Int64(-74480109,350070824),new $Int64(144881592,61758415),new $Int64(-741824226,3492950336),new $Int64(-2030042720,3093818430),new $Int64(-453590535,2962480613),new $Int64(-1912050708,3154871160),new $Int64(-1636478569,3228564679),new $Int64(610731502,888276216),new $Int64(-946702974,3574998604),new $Int64(-1277068380,1967526716),new $Int64(-1556147941,1554691298),new $Int64(-1573024234,339944798),new $Int64(1223764147,1154515356),new $Int64(1825645307,967516237),new $Int64(1546195135,596588202),new $Int64(-1867600880,3764362170),new $Int64(-1655392592,266611402),new $Int64(-393255880,2047856075),new $Int64(-1000726433,21444105),new $Int64(-949424754,3065563181),new $Int64(-232418803,1140663212),new $Int64(633187674,2323741028),new $Int64(2126290159,3103873707),new $Int64(1008658319,2766828349),new $Int64(-485587503,1970872996),new $Int64(1628585413,3766615585),new $Int64(-595148528,2036813414),new $Int64(-1994877121,3105536507),new $Int64(13954645,3396176938),new $Int64(-721402003,1377154485),new $Int64(-61839181,3807014186),new $Int64(543009040,3710110597),new $Int64(-1751425519,916420443),new $Int64(734556788,2103831255),new $Int64(-1766161494,717331943),new $Int64(-1574598896,3550505941),new $Int64(45939673,378749927),new $Int64(-1997615719,611017331),new $Int64(592130075,758907650),new $Int64(1012992349,154266815),new $Int64(-1040454942,1407468696),new $Int64(-1678191250,970098704),new $Int64(-285057486,1971660656),new $Int64(998365243,3332747885),new $Int64(1947089649,1935189867),new $Int64(1510248801,203520055),new $Int64(-1305165746,3916463034),new $Int64(-388598655,3474113316),new $Int64(1036101639,316544223),new $Int64(-1773744891,1650844677),new $Int64(-907191419,4267565603),new $Int64(-1070275024,2501167616),new $Int64(-1520651863,3929401789),new $Int64(-2091360852,337170252),new $Int64(-960502090,2061966842),new $Int64(-304190848,2508461464),new $Int64(-1941471116,2791377107),new $Int64(1240791848,1227227588),new $Int64(1813978778,1709681848),new $Int64(1153692192,3768820575),new $Int64(-1002297449,2887126398),new $Int64(-1447111334,296561685),new $Int64(700300844,3729960077),new $Int64(-1572311344,372833036),new $Int64(2078875613,2409779288),new $Int64(1829161290,555274064),new $Int64(-1105595719,4239804901),new $Int64(1839403216,3723486978),new $Int64(-1649093095,2145871984),new $Int64(-1582765715,3565480803),new $Int64(-1568653827,2197313814),new $Int64(974785092,3613674566),new $Int64(438638731,3042093666),new $Int64(-96556264,3324034321),new $Int64(869420878,3708873369),new $Int64(946682149,1698090092),new $Int64(1618900382,4213940712),new $Int64(-1843479747,2087477361),new $Int64(-1766167800,2407950639),new $Int64(-1296225558,3942568569),new $Int64(-1223900450,4088074412),new $Int64(723260036,2964773675),new $Int64(-673921829,1539178386),new $Int64(1062961552,2694849566),new $Int64(460977733,2120273838),new $Int64(-1604570740,2484608657),new $Int64(880846449,2956190677),new $Int64(1970902366,4223313749),new $Int64(662161910,3502682327),new $Int64(705634754,4133891139),new $Int64(-1031359300,1166449596),new $Int64(1038247601,3362705993),new $Int64(93734798,3892921029),new $Int64(1876124043,786869787),new $Int64(1057490746,1046342263),new $Int64(242763728,493777327),new $Int64(-853573201,3304827646),new $Int64(616460742,125356352),new $Int64(499300063,74094113),new $Int64(-795586925,2500816079),new $Int64(-490248444,514015239),new $Int64(1377565129,543520454),new $Int64(-2039776725,3614531153),new $Int64(2056746300,2356753985),new $Int64(1390062617,2018141668),new $Int64(131272971,2087974891),new $Int64(-1502927041,3166972343),new $Int64(372256200,1517638666),new $Int64(-935275664,173466846),new $Int64(-695774461,4241513471),new $Int64(-1413550842,2783126920),new $Int64(1972004134,4167264826),new $Int64(29260506,3907395640),new $Int64(-910901561,1539634186),new $Int64(-595957298,178241987),new $Int64(-113277636,182168164),new $Int64(-1102530459,2386154934),new $Int64(1379126408,4077374341),new $Int64(-2114679722,1732699140),new $Int64(-421057745,1041306002),new $Int64(1860414813,2068001749),new $Int64(1005320202,3208962910),new $Int64(844054010,697710380),new $Int64(-1509359403,2228431183),new $Int64(-810313977,3554678728),new $Int64(-750989047,173470263),new $Int64(-85886265,3848297795),new $Int64(-926936977,246236185),new $Int64(-1984190461,2066374846),new $Int64(1771673660,312890749),new $Int64(703378057,3573310289),new $Int64(-598851901,143166754),new $Int64(613554316,2081511079),new $Int64(1197802104,486038032),new $Int64(-1906483789,2982218564),new $Int64(364901986,1000939191),new $Int64(1902782651,2750454885),new $Int64(-671844857,3375313137),new $Int64(-1643868040,881302957),new $Int64(-1508784745,2514186393),new $Int64(-1703622845,360024739),new $Int64(1399671872,292500025),new $Int64(1381210821,2276300752),new $Int64(521803381,4069087683),new $Int64(-1938982667,1637778212),new $Int64(720490469,1676670893),new $Int64(1067262482,3855174429),new $Int64(2114075974,2067248671),new $Int64(-89426259,2884561259),new $Int64(-805741095,2456511185),new $Int64(983726246,561175414),new $Int64(-1719489563,432588903),new $Int64(885133709,4059399550),new $Int64(-93096266,1075014784),new $Int64(-1733832628,2728058415),new $Int64(1839142064,1299703678),new $Int64(1262333188,2347583393),new $Int64(1285481956,2468164145),new $Int64(-1158354011,1140014346),new $Int64(2033889184,1936972070),new $Int64(-1737578993,3870530098),new $Int64(-484494257,1717789158),new $Int64(-232997156,1153452491),new $Int64(-990424416,3948827651),new $Int64(-1357145630,2101413152),new $Int64(1495744672,3854091229),new $Int64(83644069,4215565463),new $Int64(-1385277313,1202710438),new $Int64(-564909037,2072216740),new $Int64(705690639,2066751068),new $Int64(-2113583312,173902580),new $Int64(-741983806,142459001),new $Int64(172391592,1889151926),new $Int64(-498943125,3034199774),new $Int64(1618587731,516490102),new $Int64(93114264,3692577783),new $Int64(-2078821353,2953948865),new $Int64(-320938673,4041040923),new $Int64(-1942517976,592046130),new $Int64(-705643640,384297211),new $Int64(-2051649464,265863924),new $Int64(2101717619,1333136237),new $Int64(1499611781,1406273556),new $Int64(1074670496,426305476),new $Int64(125704633,2750898176),new $Int64(488068495,1633944332),new $Int64(2037723464,3236349343),new $Int64(-1703423246,4013676611),new $Int64(1718532237,2265047407),new $Int64(1433593806,875071080),new $Int64(-343047503,1418843655),new $Int64(2009228711,451657300),new $Int64(1229446621,1866374663),new $Int64(1653472867,1551455622),new $Int64(577191481,3560962459),new $Int64(1669204077,3347903778),new $Int64(-298327194,2675874918),new $Int64(-1831355577,2762991672),new $Int64(530492383,3689068477),new $Int64(844089962,4071997905),new $Int64(1508155730,1381702441),new $Int64(2089931018,2373284878),new $Int64(-864267462,2143983064),new $Int64(308739063,1938207195),new $Int64(1754949306,1188152253),new $Int64(1272345009,615870490),new $Int64(742653194,2662252621),new $Int64(1477718295,3839976789),new $Int64(-2091334213,306752547),new $Int64(-1426688067,2162363077),new $Int64(-57052633,2767224719),new $Int64(-1471624099,2628837712),new $Int64(1678405918,2967771969),new $Int64(1694285728,499792248),new $Int64(-1744131281,4285253508),new $Int64(962357072,2856511070),new $Int64(679471692,2526409716),new $Int64(-1793706473,1240875658),new $Int64(-914893422,2577342868),new $Int64(-1001298215,4136853496),new $Int64(-1477114974,2403540137),new $Int64(1372824515,1371410668),new $Int64(-176562048,371758825),new $Int64(-441063112,1528834084),new $Int64(-71688630,1504757260),new $Int64(-1461820072,699052551),new $Int64(-505543539,3347789870),new $Int64(1951619734,3430604759),new $Int64(2119672219,1935601723),new $Int64(966789690,834676166)]);N=L(new AE.ptr(new B.Mutex.ptr(false),$assertType(J(new $Int64(0,1)),AM)));AG=$toNativeArray($kindUint32,[1991057938,0,1611602771,1826899878,1918584482,1969227037,2001281515,2023368125,2039498179,2051788381,2061460127,2069267110,2075699398,2081089314,2085670119,2089610331,2093034710,2096037586,2098691595,2101053571,2103168620,2105072996,2106796166,2108362327,2109791536,2111100552,2112303493,2113412330,2114437283,2115387130,2116269447,2117090813,2117856962,2118572919,2119243101,2119871411,2120461303,2121015852,2121537798,2122029592,2122493434,2122931299,2123344971,2123736059,2124106020,2124456175,2124787725,2125101763,2125399283,2125681194,2125948325,2126201433,2126441213,2126668298,2126883268,2127086657,2127278949,2127460589,2127631985,2127793506,2127945490,2128088244,2128222044,2128347141,2128463758,2128572095,2128672327,2128764606,2128849065,2128925811,2128994934,2129056501,2129110560,2129157136,2129196237,2129227847,2129251929,2129268426,2129277255,2129278312,2129271467,2129256561,2129233410,2129201800,2129161480,2129112170,2129053545,2128985244,2128906855,2128817916,2128717911,2128606255,2128482298,2128345305,2128194452,2128028813,2127847342,2127648860,2127432031,2127195339,2126937058,2126655214,2126347546,2126011445,2125643893,2125241376,2124799783,2124314271,2123779094,2123187386,2122530867,2121799464,2120980787,2120059418,2119015917,2117825402,2116455471,2114863093,2112989789,2110753906,2108037662,2104664315,2100355223,2094642347,2086670106,2074676188,2054300022,2010539237]);AH=$toNativeArray($kindFloat32,[1.7290404663583558e-09,1.2680928529462676e-10,1.689751810696194e-10,1.9862687883343e-10,2.223243117382978e-10,2.4244936613904144e-10,2.601613091623989e-10,2.761198769629658e-10,2.9073962681813725e-10,3.042996965518796e-10,3.169979556627567e-10,3.289802041894774e-10,3.4035738116777736e-10,3.5121602848242617e-10,3.61625090983253e-10,3.7164057942185025e-10,3.813085680537398e-10,3.906675816178762e-10,3.997501218933053e-10,4.0858399996679395e-10,4.1719308563337165e-10,4.255982233303257e-10,4.3381759295968436e-10,4.4186720948857783e-10,4.497613115272969e-10,4.57512583373898e-10,4.6513240481438345e-10,4.726310454117311e-10,4.800177477726209e-10,4.873009773476156e-10,4.944885056978876e-10,5.015873272284921e-10,5.086040477664255e-10,5.155446070048697e-10,5.224146670812502e-10,5.292193350214802e-10,5.359634958068682e-10,5.426517013518151e-10,5.492881705038144e-10,5.558769555769061e-10,5.624218868405251e-10,5.689264614971989e-10,5.75394121238304e-10,5.818281967329142e-10,5.882316855831959e-10,5.946076964136182e-10,6.009590047817426e-10,6.072883862451306e-10,6.135985053390414e-10,6.19892026598734e-10,6.261713370037114e-10,6.324390455780815e-10,6.386973727678935e-10,6.449488165749528e-10,6.511955974453087e-10,6.574400468473129e-10,6.636843297158634e-10,6.699307220081607e-10,6.761814441702541e-10,6.824387166481927e-10,6.887046488657234e-10,6.949815167800466e-10,7.012714853260604e-10,7.075767749498141e-10,7.13899661608508e-10,7.202424212593428e-10,7.266072743483676e-10,7.329966078550854e-10,7.394128087589991e-10,7.458582640396116e-10,7.523354716987285e-10,7.588469852493063e-10,7.653954137154528e-10,7.719834771435785e-10,7.786139510912449e-10,7.852897221383159e-10,7.920137878869582e-10,7.987892014504894e-10,8.056192379868321e-10,8.125072836762115e-10,8.194568912323064e-10,8.264716688799467e-10,8.3355555791087e-10,8.407127216614185e-10,8.479473234679347e-10,8.552640262671218e-10,8.626675485068347e-10,8.701631637464402e-10,8.777562010564566e-10,8.854524335966119e-10,8.932581896381464e-10,9.011799639857543e-10,9.092249730890956e-10,9.174008219758889e-10,9.25715837318819e-10,9.341788453909317e-10,9.42799727177146e-10,9.515889187738935e-10,9.605578554783278e-10,9.697193048552322e-10,9.790869226478094e-10,9.886760299337993e-10,9.985036131254788e-10,1.008588212947359e-09,1.0189509236369076e-09,1.0296150598776421e-09,1.040606933955246e-09,1.0519566329136865e-09,1.0636980185552147e-09,1.0758701707302976e-09,1.0885182755160372e-09,1.101694735439196e-09,1.115461056855338e-09,1.1298901814171813e-09,1.1450695946990663e-09,1.1611052119775422e-09,1.178127595480305e-09,1.1962995039027646e-09,1.2158286599728285e-09,1.2369856250415978e-09,1.2601323318151003e-09,1.2857697129220469e-09,1.3146201904845611e-09,1.3477839955200466e-09,1.3870635751089821e-09,1.43574030442295e-09,1.5008658760251592e-09,1.6030947680434338e-09]);AI=$toNativeArray($kindFloat32,[1,0.963599681854248,0.9362826943397522,0.9130436182022095,0.8922816514968872,0.8732430338859558,0.8555005788803101,0.8387836217880249,0.8229072093963623,0.8077383041381836,0.7931770086288452,0.7791460752487183,0.7655841708183289,0.7524415850639343,0.7396772503852844,0.7272568941116333,0.7151514887809753,0.7033361196517944,0.6917891502380371,0.6804918646812439,0.6694276928901672,0.6585819721221924,0.6479418277740479,0.6374954581260681,0.6272324919700623,0.6171433925628662,0.6072195172309875,0.5974531769752502,0.5878370404243469,0.5783646702766418,0.5690299868583679,0.5598273873329163,0.550751805305481,0.5417983531951904,0.5329626798629761,0.5242405533790588,0.5156282186508179,0.5071220397949219,0.49871864914894104,0.4904148280620575,0.48220765590667725,0.47409430146217346,0.466072142124176,0.45813870429992676,0.45029163360595703,0.44252872467041016,0.4348478317260742,0.42724698781967163,0.41972434520721436,0.41227802634239197,0.40490642189979553,0.39760786294937134,0.3903807997703552,0.3832238018512726,0.3761354684829712,0.3691144585609436,0.36215949058532715,0.3552693724632263,0.3484429717063904,0.3416791558265686,0.33497685194015503,0.32833510637283325,0.3217529058456421,0.3152293860912323,0.30876362323760986,0.3023548424243927,0.2960021495819092,0.2897048592567444,0.28346219658851624,0.2772735059261322,0.271138072013855,0.2650552988052368,0.25902456045150757,0.25304529070854187,0.24711695313453674,0.24123899638652802,0.23541094362735748,0.22963231801986694,0.22390270233154297,0.21822164952754974,0.21258877217769623,0.20700371265411377,0.20146611332893372,0.1959756463766098,0.19053204357624054,0.18513499200344086,0.17978426814079285,0.1744796335697174,0.16922089457511902,0.16400785744190216,0.1588403731584549,0.15371830761432648,0.14864157140254974,0.14361007511615753,0.13862377405166626,0.13368265330791473,0.12878671288490295,0.12393598258495331,0.11913054436445236,0.11437050998210907,0.10965602099895477,0.1049872562289238,0.10036443918943405,0.09578784555196762,0.09125780314207077,0.08677466958761215,0.08233889937400818,0.07795098423957825,0.07361150532960892,0.06932111829519272,0.06508058309555054,0.06089077144861221,0.05675266310572624,0.05266740173101425,0.048636294901371,0.044660862535238266,0.040742866694927216,0.03688438981771469,0.03308788686990738,0.029356317594647408,0.025693291798233986,0.02210330404341221,0.018592102453112602,0.015167297795414925,0.011839478276669979,0.0086244847625494,0.005548994988203049,0.0026696291752159595]);AJ=$toNativeArray($kindUint32,[3801129273,0,2615860924,3279400049,3571300752,3733536696,3836274812,3906990442,3958562475,3997804264,4028649213,4053523342,4074002619,4091154507,4105727352,4118261130,4129155133,4138710916,4147160435,4154685009,4161428406,4167506077,4173011791,4178022498,4182601930,4186803325,4190671498,4194244443,4197554582,4200629752,4203493986,4206168142,4208670408,4211016720,4213221098,4215295924,4217252177,4219099625,4220846988,4222502074,4224071896,4225562770,4226980400,4228329951,4229616109,4230843138,4232014925,4233135020,4234206673,4235232866,4236216336,4237159604,4238064994,4238934652,4239770563,4240574564,4241348362,4242093539,4242811568,4243503822,4244171579,4244816032,4245438297,4246039419,4246620374,4247182079,4247725394,4248251127,4248760037,4249252839,4249730206,4250192773,4250641138,4251075867,4251497493,4251906522,4252303431,4252688672,4253062674,4253425844,4253778565,4254121205,4254454110,4254777611,4255092022,4255397640,4255694750,4255983622,4256264513,4256537670,4256803325,4257061702,4257313014,4257557464,4257795244,4258026541,4258251531,4258470383,4258683258,4258890309,4259091685,4259287526,4259477966,4259663135,4259843154,4260018142,4260188212,4260353470,4260514019,4260669958,4260821380,4260968374,4261111028,4261249421,4261383632,4261513736,4261639802,4261761900,4261880092,4261994441,4262105003,4262211835,4262314988,4262414513,4262510454,4262602857,4262691764,4262777212,4262859239,4262937878,4263013162,4263085118,4263153776,4263219158,4263281289,4263340187,4263395872,4263448358,4263497660,4263543789,4263586755,4263626565,4263663224,4263696735,4263727099,4263754314,4263778377,4263799282,4263817020,4263831582,4263842955,4263851124,4263856071,4263857776,4263856218,4263851370,4263843206,4263831695,4263816804,4263798497,4263776735,4263751476,4263722676,4263690284,4263654251,4263614520,4263571032,4263523724,4263472530,4263417377,4263358192,4263294892,4263227394,4263155608,4263079437,4262998781,4262913534,4262823581,4262728804,4262629075,4262524261,4262414220,4262298801,4262177846,4262051187,4261918645,4261780032,4261635148,4261483780,4261325704,4261160681,4260988457,4260808763,4260621313,4260425802,4260221905,4260009277,4259787550,4259556329,4259315195,4259063697,4258801357,4258527656,4258242044,4257943926,4257632664,4257307571,4256967906,4256612870,4256241598,4255853155,4255446525,4255020608,4254574202,4254106002,4253614578,4253098370,4252555662,4251984571,4251383021,4250748722,4250079132,4249371435,4248622490,4247828790,4246986404,4246090910,4245137315,4244119963,4243032411,4241867296,4240616155,4239269214,4237815118,4236240596,4234530035,4232664930,4230623176,4228378137,4225897409,4223141146,4220059768,4216590757,4212654085,4208145538,4202926710,4196809522,4189531420,4180713890,4169789475,4155865042,4137444620,4111806704,4073393724,4008685917,3873074895]);AK=$toNativeArray($kindFloat32,[2.0249555365836613e-09,1.4866739783681027e-11,2.4409616689036184e-11,3.1968806074589295e-11,3.844677007314168e-11,4.42282044321729e-11,4.951644302919611e-11,5.443358958023836e-11,5.905943789574764e-11,6.34494193296753e-11,6.764381416113352e-11,7.167294535648239e-11,7.556032188826833e-11,7.932458162551725e-11,8.298078890689453e-11,8.654132271912474e-11,9.001651507523079e-11,9.341507428706208e-11,9.674443190998971e-11,1.0001099254308699e-10,1.0322031424037093e-10,1.0637725422757427e-10,1.0948611461891744e-10,1.1255067711157807e-10,1.1557434870246297e-10,1.1856014781042035e-10,1.2151082917633005e-10,1.2442885610752796e-10,1.2731647680563896e-10,1.3017574518325858e-10,1.330085347417409e-10,1.3581656632677408e-10,1.386014220061682e-10,1.413645728254309e-10,1.4410737880776736e-10,1.4683107507629245e-10,1.4953686899854546e-10,1.522258291641876e-10,1.5489899640730442e-10,1.575573282952547e-10,1.6020171300645814e-10,1.628330109637588e-10,1.6545202707884954e-10,1.68059510752272e-10,1.7065616975120435e-10,1.73242697965037e-10,1.758197337720091e-10,1.783878739169964e-10,1.8094774290045024e-10,1.834998542005195e-10,1.8604476292871652e-10,1.8858298256319017e-10,1.9111498494872592e-10,1.9364125580789704e-10,1.9616222535212557e-10,1.9867835154840918e-10,2.011900368525943e-10,2.0369768372052732e-10,2.062016807302669e-10,2.0870240258208383e-10,2.1120022397624894e-10,2.136955057352452e-10,2.1618855317040442e-10,2.1867974098199738e-10,2.2116936060356807e-10,2.2365774510202385e-10,2.2614519978869652e-10,2.2863201609713002e-10,2.3111849933865614e-10,2.3360494094681883e-10,2.3609159072179864e-10,2.3857874009713953e-10,2.4106666662859766e-10,2.4355562011635357e-10,2.460458781161634e-10,2.485376904282077e-10,2.5103127909709144e-10,2.5352694943414633e-10,2.560248957284017e-10,2.585253955356137e-10,2.610286709003873e-10,2.6353494386732734e-10,2.6604446423661443e-10,2.6855745405285347e-10,2.71074163116225e-10,2.7359478571575835e-10,2.7611959940720965e-10,2.786487707240326e-10,2.8118254946640775e-10,2.8372118543451563e-10,2.8626484516180994e-10,2.8881380620404684e-10,2.9136826285025563e-10,2.9392840938946563e-10,2.96494523377433e-10,2.990667713476114e-10,3.016454031001814e-10,3.042306406797479e-10,3.068226783753403e-10,3.09421765987139e-10,3.12028125559749e-10,3.1464195138219964e-10,3.17263521010247e-10,3.1989300097734485e-10,3.225306410836737e-10,3.2517669112941405e-10,3.2783134540359526e-10,3.3049485370639786e-10,3.3316743808242677e-10,3.3584937608743815e-10,3.385408342548857e-10,3.4124211789610115e-10,3.4395342130011386e-10,3.4667499426710435e-10,3.494071143528288e-10,3.521500313574677e-10,3.54903967325626e-10,3.576691720574843e-10,3.6044595086437425e-10,3.632345535464765e-10,3.660352021483959e-10,3.688482297370399e-10,3.716738583570134e-10,3.7451239331964814e-10,3.773641121807003e-10,3.802292924959261e-10,3.831082673322328e-10,3.8600128648980103e-10,3.8890865527996255e-10,3.9183070676962473e-10,3.9476774627011935e-10,3.977200790927782e-10,4.006880383045086e-10,4.0367195697221803e-10,4.066721681628138e-10,4.0968900494320337e-10,4.127228558914453e-10,4.15774054074447e-10,4.188429603146915e-10,4.2192993543466173e-10,4.25035395767992e-10,4.2815970213716525e-10,4.313032986313914e-10,4.3446651831757777e-10,4.376498607960855e-10,4.408536868893975e-10,4.4407846844229937e-10,4.4732464954400086e-10,4.5059267428371186e-10,4.538830145062178e-10,4.5719619756745544e-10,4.605326675566346e-10,4.638929240741163e-10,4.672775499869886e-10,4.706869893844612e-10,4.74121908400349e-10,4.775827511238617e-10,4.810701836888143e-10,4.845848167178701e-10,4.881271498113904e-10,4.916979601254923e-10,4.952977472605369e-10,4.989272883726414e-10,5.025872495956207e-10,5.062783525744408e-10,5.100013189540675e-10,5.13756870379467e-10,5.175458395179078e-10,5.21369003525507e-10,5.252272505806843e-10,5.29121357839557e-10,5.330522134805449e-10,5.3702081670437e-10,5.41028055689452e-10,5.450749851476644e-10,5.491624932574268e-10,5.532918012640664e-10,5.574638528571541e-10,5.616799247931681e-10,5.659410717839819e-10,5.702485705860738e-10,5.746036979559221e-10,5.790077306500052e-10,5.83462111958255e-10,5.879682296594524e-10,5.925275825546805e-10,5.971417249561739e-10,6.01812211176167e-10,6.065408175714992e-10,6.113292094767075e-10,6.16179329782085e-10,6.21092954844471e-10,6.260721940876124e-10,6.311191569352559e-10,6.362359528111483e-10,6.414249686947926e-10,6.466885360545405e-10,6.520292639144998e-10,6.574497612987784e-10,6.629528592760892e-10,6.685415554485985e-10,6.742187919073217e-10,6.799880103436351e-10,6.858525969377638e-10,6.918161599145378e-10,6.978825850545434e-10,7.040559801829716e-10,7.103406751696184e-10,7.167412219288849e-10,7.232625609532306e-10,7.2990985477972e-10,7.366885990123251e-10,7.436047333442275e-10,7.506645305355164e-10,7.57874762946642e-10,7.652426470272644e-10,7.727759543385559e-10,7.804830115532013e-10,7.883728114777e-10,7.964550685635174e-10,8.047402189070851e-10,8.132396422944055e-10,8.219657177122031e-10,8.309318788590758e-10,8.401527806789488e-10,8.496445214056791e-10,8.594246980742071e-10,8.695127395874636e-10,8.799300732498239e-10,8.90700457834015e-10,9.01850316648023e-10,9.134091816243028e-10,9.254100818978372e-10,9.37890431984556e-10,9.508922538259412e-10,9.64463842123564e-10,9.78660263939446e-10,9.935448019859905e-10,1.0091912860943353e-09,1.0256859805934937e-09,1.0431305819125214e-09,1.0616465484503124e-09,1.0813799855569073e-09,1.1025096391392708e-09,1.1252564435793033e-09,1.149898620766976e-09,1.176793218427008e-09,1.2064089727203964e-09,1.2393785997488749e-09,1.2765849488616254e-09,1.319313880365769e-09,1.36954347862428e-09,1.4305497897382224e-09,1.5083649884672923e-09,1.6160853766322703e-09,1.7921247819074893e-09]);AL=$toNativeArray($kindFloat32,[1,0.9381436705589294,0.900469958782196,0.8717043399810791,0.847785472869873,0.8269932866096497,0.8084216713905334,0.7915276288986206,0.7759568691253662,0.7614634037017822,0.7478685975074768,0.7350381016731262,0.7228676676750183,0.7112747430801392,0.7001926302909851,0.6895664930343628,0.6793505549430847,0.669506311416626,0.6600008606910706,0.6508058309555054,0.6418967247009277,0.633251965045929,0.62485271692276,0.6166821718215942,0.608725368976593,0.6009689569473267,0.5934008955955505,0.5860103368759155,0.5787873864173889,0.5717230439186096,0.5648092031478882,0.5580382943153381,0.5514034032821655,0.5448982119560242,0.5385168790817261,0.5322538614273071,0.526104211807251,0.5200631618499756,0.5141264200210571,0.5082897543907166,0.5025495290756226,0.4969019889831543,0.4913438558578491,0.4858720004558563,0.48048335313796997,0.4751752018928528,0.4699448347091675,0.4647897481918335,0.4597076177597046,0.4546961486339569,0.4497532546520233,0.44487687945365906,0.4400651156902313,0.4353161156177521,0.4306281507015228,0.42599955201148987,0.42142874002456665,0.4169141948223114,0.4124544560909271,0.40804818272590637,0.4036940038204193,0.39939069747924805,0.3951369822025299,0.39093172550201416,0.38677382469177246,0.38266217708587646,0.378595769405365,0.37457355856895447,0.37059465050697327,0.366658091545105,0.362762987613678,0.358908474445343,0.35509374737739563,0.35131800174713135,0.3475804924964905,0.34388044476509094,0.34021714329719543,0.33658990263938904,0.3329980671405792,0.3294409513473511,0.32591795921325684,0.32242849469184875,0.3189719021320343,0.3155476748943329,0.31215524673461914,0.3087940812110901,0.30546361207962036,0.30216339230537415,0.29889291524887085,0.29565170407295227,0.2924392819404602,0.2892552316188812,0.28609907627105713,0.2829704284667969,0.27986884117126465,0.2767939269542694,0.2737452983856201,0.2707225978374481,0.26772540807724,0.26475343108177185,0.2618062496185303,0.258883535861969,0.2559850215911865,0.25311028957366943,0.25025907158851624,0.24743106961250305,0.2446259707212448,0.24184346199035645,0.23908329010009766,0.23634515702724457,0.2336287796497345,0.23093391954898834,0.22826029360294342,0.22560766339302063,0.22297576069831848,0.22036437690258026,0.21777324378490448,0.21520215272903442,0.212650865316391,0.21011915802955627,0.20760682225227356,0.20511364936828613,0.20263944566249847,0.20018397271633148,0.19774706661701202,0.1953285187482834,0.19292815029621124,0.19054576754570007,0.18818120658397675,0.18583425879478455,0.18350479006767273,0.18119260668754578,0.17889754474163055,0.17661945521831512,0.17435817420482635,0.1721135377883911,0.16988539695739746,0.16767361760139465,0.16547803580760956,0.16329853236675262,0.16113494336605072,0.1589871346950531,0.15685498714447021,0.15473836660385132,0.15263713896274567,0.1505511850118637,0.1484803706407547,0.14642459154129028,0.1443837285041809,0.14235764741897583,0.1403462439775467,0.13834942877292633,0.136367067694664,0.13439907133579254,0.1324453204870224,0.1305057406425476,0.12858019769191742,0.12666863203048706,0.12477091699838638,0.12288697808980942,0.1210167184472084,0.11916005611419678,0.11731690168380737,0.11548716574907303,0.11367076635360718,0.11186762899160385,0.11007767915725708,0.1083008274435997,0.10653700679540634,0.10478614270687103,0.1030481606721878,0.10132300108671188,0.0996105819940567,0.09791085124015808,0.09622374176979065,0.09454918652772903,0.09288713335990906,0.09123751521110535,0.08960027992725372,0.08797537535429001,0.08636274188756943,0.0847623273730278,0.08317409455776215,0.08159798383712769,0.08003395050764084,0.07848194986581802,0.07694194465875626,0.07541389018297195,0.07389774918556213,0.07239348441362381,0.070901058614254,0.06942043453454971,0.06795158982276917,0.06649449467658997,0.06504911929368973,0.06361543387174606,0.06219341605901718,0.06078304722905159,0.0593843050301075,0.05799717456102371,0.05662164092063904,0.05525768920779228,0.05390531197190285,0.05256449431180954,0.05123523622751236,0.04991753399372101,0.04861138388514519,0.047316793352365494,0.04603376239538193,0.044762298464775085,0.04350241273641586,0.04225412383675575,0.04101744294166565,0.039792392402887344,0.03857899457216263,0.03737728297710419,0.03618728369474411,0.03500903770327568,0.03384258225560188,0.0326879620552063,0.031545232981443405,0.030414443463087082,0.0292956605553627,0.028188949450850487,0.027094384655356407,0.02601204626262188,0.024942025542259216,0.023884421214461327,0.022839335724711418,0.021806888282299042,0.020787203684449196,0.019780423492193222,0.018786700442433357,0.017806200310587883,0.016839107498526573,0.015885621309280396,0.014945968054234982,0.01402039173990488,0.013109165243804455,0.012212592177093029,0.011331013403832912,0.010464809834957123,0.009614413604140282,0.008780314587056637,0.007963077165186405,0.007163353264331818,0.0063819061033427715,0.005619642324745655,0.004877655766904354,0.004157294984906912,0.003460264764726162,0.0027887988835573196,0.0021459676790982485,0.001536299823783338,0.0009672692976891994,0.0004541343660093844]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["math/big"]=(function(){var $pkg={},$init,K,D,E,F,B,G,A,J,I,C,H,S,AE,AH,BG,BH,BQ,BY,BZ,CB,CC,CD,CK,DO,DP,DR,DS,DT,DV,DW,DX,DY,DZ,EA,EB,EC,ED,EE,EF,L,O,AB,AC,AD,AF,AI,AJ,AK,AL,AP,AX,AY,BB,BI,BW,DN,M,N,P,R,U,V,W,X,Y,Z,AA,AG,AM,AN,AO,AQ,AR,AS,AT,AU,AV,AW,AZ,BA,BC,BD,BE,BF,BJ,BK,BL,BM,BN,BO,BP,BR,BS,BT,BU,BX,CA,CE,CF,CG,CH,CI,CJ,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,CY,CZ,DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,DK,DL,DM;K=$packages["bytes"];D=$packages["encoding/binary"];E=$packages["errors"];F=$packages["fmt"];B=$packages["github.com/gopherjs/gopherjs/nosync"];G=$packages["io"];A=$packages["math"];J=$packages["math/bits"];I=$packages["math/rand"];C=$packages["strconv"];H=$packages["strings"];S=$pkg.Rat=$newType(0,$kindStruct,"big.Rat",true,"math/big",true,function(a_,b_){this.$val=this;if(arguments.length===0){this.a=new BH.ptr(false,AH.nil);this.b=new BH.ptr(false,AH.nil);return;}this.a=a_;this.b=b_;});AE=$pkg.divisor=$newType(0,$kindStruct,"big.divisor",true,"math/big",false,function(bbb_,nbits_,ndigits_){this.$val=this;if(arguments.length===0){this.bbb=AH.nil;this.nbits=0;this.ndigits=0;return;}this.bbb=bbb_;this.nbits=nbits_;this.ndigits=ndigits_;});AH=$pkg.nat=$newType(12,$kindSlice,"big.nat",true,"math/big",false,null);BG=$pkg.byteReader=$newType(0,$kindStruct,"big.byteReader",true,"math/big",false,function(ScanState_){this.$val=this;if(arguments.length===0){this.ScanState=$ifaceNil;return;}this.ScanState=ScanState_;});BH=$pkg.Int=$newType(0,$kindStruct,"big.Int",true,"math/big",true,function(neg_,abs_){this.$val=this;if(arguments.length===0){this.neg=false;this.abs=AH.nil;return;}this.neg=neg_;this.abs=abs_;});BQ=$pkg.Word=$newType(4,$kindUintptr,"big.Word",true,"math/big",true,null);BY=$pkg.Float=$newType(0,$kindStruct,"big.Float",true,"math/big",true,function(prec_,mode_,acc_,form_,neg_,mant_,exp_){this.$val=this;if(arguments.length===0){this.prec=0;this.mode=0;this.acc=0;this.form=0;this.neg=false;this.mant=AH.nil;this.exp=0;return;}this.prec=prec_;this.mode=mode_;this.acc=acc_;this.form=form_;this.neg=neg_;this.mant=mant_;this.exp=exp_;});BZ=$pkg.ErrNaN=$newType(0,$kindStruct,"big.ErrNaN",true,"math/big",true,function(msg_){this.$val=this;if(arguments.length===0){this.msg="";return;}this.msg=msg_;});CB=$pkg.form=$newType(1,$kindUint8,"big.form",true,"math/big",false,null);CC=$pkg.RoundingMode=$newType(1,$kindUint8,"big.RoundingMode",true,"math/big",true,null);CD=$pkg.Accuracy=$newType(1,$kindInt8,"big.Accuracy",true,"math/big",true,null);CK=$pkg.decimal=$newType(0,$kindStruct,"big.decimal",true,"math/big",false,function(mant_,exp_){this.$val=this;if(arguments.length===0){this.mant=DW.nil;this.exp=0;return;}this.mant=mant_;this.exp=exp_;});DO=$ptrType(BY);DP=$structType("math/big",[{prop:"Once",name:"Once",embedded:true,exported:true,typ:B.Once,tag:""},{prop:"v",name:"v",embedded:false,exported:false,typ:DO,tag:""}]);DR=$arrayType(AE,64);DS=$structType("math/big",[{prop:"Mutex",name:"Mutex",embedded:true,exported:true,typ:B.Mutex,tag:""},{prop:"table",name:"table",embedded:false,exported:false,typ:DR,tag:""}]);DT=$sliceType($emptyInterface);DV=$ptrType(S);DW=$sliceType($Uint8);DX=$ptrType(BH);DY=$sliceType(BQ);DZ=$ptrType(AH);EA=$sliceType(DZ);EB=$sliceType(AE);EC=$ptrType(BQ);ED=$arrayType(AH,16);EE=$ptrType(I.Rand);EF=$ptrType(CK);M=function(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=L.Once.Do((function $b(){var b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=CA(3);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}L.v=b;$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.b=b;$f.$s=$s;$f.$r=$r;return $f;}));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return L.v;}return;}if($f===undefined){$f={$blk:M};}$f.$s=$s;$f.$r=$r;return $f;};BY.ptr.prototype.Sqrt=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(false){}$s=2;continue;case 1:$r=b.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(c.prec===0){c.prec=b.prec;}d=b.Sign();$s=6;case 6:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}if(d===-1){$s=4;continue;}$s=5;continue;case 4:$panic((e=new BZ.ptr("square root of negative operand"),new e.constructor.elem(e)));case 5:if(!((b.form===1))){c.acc=0;c.form=b.form;c.neg=b.neg;$s=-1;return c;}f=c.prec;g=b.MantExp(c);$s=7;case 7:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;c.prec=f;j=(i=h%2,i===i?i:$throwRuntimeError("integer divide by zero"));if(j===(0)){}else if(j===(1)){c.exp=c.exp+(1)>>0;}else if(j===(-1)){c.exp=c.exp-(1)>>0;}$r=c.sqrtInverse(c);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=c.SetMantExp(c,(k=h/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero")));$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=10;case 10:return m;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Sqrt};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Sqrt=function(b){return this.$val.Sqrt(b);};BY.ptr.prototype.sqrtInverse=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=[c];d=[d];e=[e];f=this;d[0]=N(f.prec);e[0]=N(f.prec);g=M();$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}c[0]=g;h=(function(b,c,d,e){return function $b(h){var h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d[0].prec=h.prec;e[0].prec=h.prec;i=d[0].Mul(h,h);$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;j=d[0].Mul(b[0],d[0]);$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;k=e[0].Sub(c[0],d[0]);$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;l=d[0].Mul(h,e[0]);$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;d[0].exp=d[0].exp-(1)>>0;m=h.Set(d[0]);$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=6;case 6:return n;}return;}if($f===undefined){$f={$blk:$b};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};})(b,c,d,e);j=b[0].Float64();$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=N(f.prec);m=l.SetFloat64(1/A.Sqrt(k));$s=3;case 3:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;n=f.prec+32>>>0;case 4:if(!(l.prec<n)){$s=5;continue;}l.prec=$imul(l.prec,(2))>>>0;o=h(l);$s=6;case 6:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}l=o;$s=4;continue;case 5:p=f.Mul(b[0],l);$s=7;case 7:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;$s=-1;return;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.sqrtInverse};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.sqrtInverse=function(b){return this.$val.sqrtInverse(b);};N=function(b){var b,c,d;c=new BY.ptr(0,0,0,0,false,AH.nil,0);c.mant=c.mant.make($imul((((d=b/32,(d===d&&d!==1/0&&d!==-1/0)?d>>>0:$throwRuntimeError("integer divide by zero"))>>0)),2));return c;};CC.prototype.String=function(){var b,c;b=this.$val;if(b>=6){return"RoundingMode("+C.FormatInt((new $Int64(0,b)),10)+")";}return $substring("ToNearestEvenToNearestAwayToZeroAwayFromZeroToNegativeInfToPositiveInf",((b<0||b>=O.length)?($throwRuntimeError("index out of range"),undefined):O[b]),(c=b+1<<24>>>24,((c<0||c>=O.length)?($throwRuntimeError("index out of range"),undefined):O[c])));};$ptrType(CC).prototype.String=function(){return new CC(this.$get()).String();};S.ptr.prototype.GobEncode=function(){var b,c,d,e,f,g;b=this;if(b===DV.nil){return[DW.nil,$ifaceNil];}c=$makeSlice(DW,(5+($imul(((b.a.abs.$length+b.b.abs.$length>>0)),4))>>0));d=b.b.abs.bytes(c);e=b.a.abs.bytes($subslice(c,0,d));f=d-e>>0;if(!((((((f>>>0))>>0))===f))){return[DW.nil,E.New("Rat.GobEncode: numerator too large")];}$clone(D.BigEndian,D.bigEndian).PutUint32($subslice(c,(e-4>>0),e),((f>>>0)));e=e-(5)>>0;g=2;if(b.a.neg){g=(g|(1))>>>0;}((e<0||e>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+e]=g);return[$subslice(c,e),$ifaceNil];};S.prototype.GobEncode=function(){return this.$val.GobEncode();};S.ptr.prototype.GobDecode=function(b){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b.$length===0){S.copy(c,new S.ptr(new BH.ptr(false,AH.nil),new BH.ptr(false,AH.nil)));$s=-1;return $ifaceNil;}d=(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]);if(!(((d>>>1<<24>>>24)===1))){$s=1;continue;}$s=2;continue;case 1:e=F.Errorf("Rat.GobDecode: encoding version %d not supported",new DT([new $Uint8((d>>>1<<24>>>24))]));$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=4;case 4:return f;case 2:g=5+$clone(D.BigEndian,D.bigEndian).Uint32($subslice(b,1,5))>>>0;c.a.neg=!((((d&1)>>>0)===0));c.a.abs=c.a.abs.setBytes($subslice(b,5,g));c.b.abs=c.b.abs.setBytes($subslice(b,g));$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.GobDecode};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.GobDecode=function(b){return this.$val.GobDecode(b);};S.ptr.prototype.MarshalText=function(){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=DW.nil;c=$ifaceNil;d=this;if(d.IsInt()){$s=1;continue;}$s=2;continue;case 1:f=d.a.MarshalText();$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;b=e[0];c=e[1];g=[b,c];$s=4;case 4:return g;case 2:i=d.marshal();$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=$ifaceNil;b=h;c=j;k=[b,c];$s=6;case 6:return k;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.MarshalText};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.MarshalText=function(){return this.$val.MarshalText();};S.ptr.prototype.UnmarshalText=function(b){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=c.SetString(($bytesToString(b)));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[1];if(!f){$s=2;continue;}$s=3;continue;case 2:g=F.Errorf("math/big: cannot unmarshal %q into a *big.Rat",new DT([b]));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=5;case 5:return h;case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.UnmarshalText};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.UnmarshalText=function(b){return this.$val.UnmarshalText(b);};P=function(b){var b;return H.ContainsRune("+-/0123456789.eE",b);};S.ptr.prototype.Scan=function(b,c){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=b.Token(true,P);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return h;}if(!H.ContainsRune("efgEFGv",c)){$s=-1;return E.New("Rat.Scan: invalid verb");}j=d.SetString(($bytesToString(g)));$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[1];if(!k){$s=-1;return E.New("Rat.Scan: invalid syntax");}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.Scan};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.Scan=function(b,c){return this.$val.Scan(b,c);};S.ptr.prototype.SetString=function(b){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b.length===0){$s=-1;return[DV.nil,false];}d=H.Index(b,"/");if(d>=0){$s=1;continue;}$s=2;continue;case 1:f=c.a.SetString($substring(b,0,d),0);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[1];if(!g){$s=-1;return[DV.nil,false];}h=H.NewReader($substring(b,(d+1>>0)));i=$ifaceNil;k=c.b.abs.scan(h,0,false);$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;c.b.abs=j[0];i=j[3];if(!($interfaceIsEqual(i,$ifaceNil))){$s=-1;return[DV.nil,false];}l=h.ReadByte();i=l[1];if(!($interfaceIsEqual(i,G.EOF))){$s=-1;return[DV.nil,false];}if(c.b.abs.$length===0){$s=-1;return[DV.nil,false];}m=c.norm();$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=[m,true];$s=6;case 6:return n;case 2:o=H.NewReader(b);q=BF(o);$s=7;case 7:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p[0];s=p[1];if(!($interfaceIsEqual(s,$ifaceNil))){$s=-1;return[DV.nil,false];}t=0;u=0;w=c.a.abs.scan(o,0,true);$s=8;case 8:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;c.a.abs=v[0];t=v[1];u=v[2];s=v[3];if(!($interfaceIsEqual(s,$ifaceNil))){$s=-1;return[DV.nil,false];}x=new $Int64(0,0);y=0;aa=R(o,true,true);$s=9;case 9:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;x=z[0];y=z[1];s=z[2];if(!($interfaceIsEqual(s,$ifaceNil))){$s=-1;return[DV.nil,false];}ab=o.ReadByte();s=ab[1];if(!($interfaceIsEqual(s,G.EOF))){$s=-1;return[DV.nil,false];}if(c.a.abs.$length===0){$s=-1;return[c,true];}ac=new $Int64(0,0);ad=new $Int64(0,0);ae=ac;af=ad;if(u<0){ag=(new $Int64(0,u));ah=t;if(ah===(10)){af=ag;ae=ag;}else if(ah===(2)){ae=ag;}else if(ah===(8)){ae=$mul64(ag,new $Int64(0,3));}else if(ah===(16)){ae=$mul64(ag,new $Int64(0,4));}else{$panic(new $String("unexpected mantissa base"));}}ai=y;if(ai===(10)){af=(aj=x,new $Int64(af.$high+aj.$high,af.$low+aj.$low));ae=(ak=x,new $Int64(ae.$high+ak.$high,ae.$low+ak.$low));}else if(ai===(2)){ae=(al=x,new $Int64(ae.$high+al.$high,ae.$low+al.$low));}else{$panic(new $String("unexpected exponent base"));}if(!((af.$high===0&&af.$low===0))){$s=10;continue;}$s=11;continue;case 10:am=af;if((am.$high<0||(am.$high===0&&am.$low<0))){am=new $Int64(-am.$high,-am.$low);}if((am.$high>0||(am.$high===0&&am.$low>1000000))){$s=-1;return[DV.nil,false];}an=c.b.abs.expNN(AK,(AH.nil).setWord(((am.$low>>>0))),AH.nil);$s=13;case 13:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=an;if((af.$high>0||(af.$high===0&&af.$low>0))){$s=14;continue;}$s=15;continue;case 14:ap=c.a.abs.mul(c.a.abs,ao);$s=17;case 17:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}c.a.abs=ap;c.b.abs=c.b.abs.setWord(1);$s=16;continue;case 15:c.b.abs=ao;case 16:$s=12;continue;case 11:c.b.abs=c.b.abs.setWord(1);case 12:if((ae.$high<-1||(ae.$high===-1&&ae.$low<4284967296))||(ae.$high>0||(ae.$high===0&&ae.$low>10000000))){$s=-1;return[DV.nil,false];}if((ae.$high>0||(ae.$high===0&&ae.$low>0))){c.a.abs=c.a.abs.shl(c.a.abs,((ae.$low>>>0)));}else if((ae.$high<0||(ae.$high===0&&ae.$low<0))){c.b.abs=c.b.abs.shl(c.b.abs,((new $Int64(-ae.$high,-ae.$low).$low>>>0)));}c.a.neg=r&&c.a.abs.$length>0;aq=c.norm();$s=18;case 18:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=[aq,true];$s=19;case 19:return ar;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.SetString};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.SetString=function(b){return this.$val.SetString(b);};R=function(b,c,d){var aa,ab,ac,ad,ae,af,ag,ah,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=new $Int64(0,0);f=0;g=$ifaceNil;i=b.ReadByte();$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){if($interfaceIsEqual(g,G.EOF)){g=$ifaceNil;}k=new $Int64(0,0);l=10;m=g;e=k;f=l;g=m;$s=-1;return[e,f,g];}n=j;if((n===(101))||(n===(69))){$s=3;continue;}if((n===(112))||(n===(80))){$s=4;continue;}$s=5;continue;case 3:f=10;$s=6;continue;case 4:if(c){f=2;$s=2;continue;}o=b.UnreadByte();$s=7;case 7:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;p=new $Int64(0,0);q=10;r=$ifaceNil;e=p;f=q;g=r;$s=-1;return[e,f,g];case 5:s=b.UnreadByte();$s=8;case 8:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}s;t=new $Int64(0,0);u=10;v=$ifaceNil;e=t;f=u;g=v;$s=-1;return[e,f,g];case 6:case 2:w=DW.nil;y=b.ReadByte();$s=9;case 9:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;j=x[0];g=x[1];if($interfaceIsEqual(g,$ifaceNil)&&((j===43)||(j===45))){$s=10;continue;}$s=11;continue;case 10:if(j===45){w=$append(w,45);}aa=b.ReadByte();$s=12;case 12:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;j=z[0];g=z[1];case 11:ab=46;ac=false;ad=false;case 13:if(!($interfaceIsEqual(g,$ifaceNil))){$s=14;continue;}if(48<=j&&j<=57){$s=15;continue;}if((j===95)&&d){$s=16;continue;}$s=17;continue;case 15:w=$append(w,j);ab=48;ad=true;$s=18;continue;case 16:if(!((ab===48))){ac=true;}ab=95;$s=18;continue;case 17:ae=b.UnreadByte();$s=19;case 19:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ae;$s=14;continue;case 18:ag=b.ReadByte();$s=20;case 20:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;j=af[0];g=af[1];$s=13;continue;case 14:if($interfaceIsEqual(g,G.EOF)){g=$ifaceNil;}if($interfaceIsEqual(g,$ifaceNil)&&!ad){g=AB;}if($interfaceIsEqual(g,$ifaceNil)){ah=C.ParseInt(($bytesToString(w)),10,64);e=ah[0];g=ah[1];}if($interfaceIsEqual(g,$ifaceNil)&&(ac||(ab===95))){g=AC;}$s=-1;return[e,f,g];}return;}if($f===undefined){$f={$blk:R};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};S.ptr.prototype.String=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.marshal();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=($bytesToString(c));$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.String};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.String=function(){return this.$val.String();};S.ptr.prototype.marshal=function(){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=DW.nil;d=b.a.Append(c,10);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;c=$append(c,47);if(!((b.b.abs.$length===0))){$s=2;continue;}$s=3;continue;case 2:e=b.b.Append(c,10);$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}c=e;$s=4;continue;case 3:c=$append(c,49);case 4:$s=-1;return c;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.marshal};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.marshal=function(){return this.$val.marshal();};S.ptr.prototype.RatString=function(){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(b.IsInt()){$s=1;continue;}$s=2;continue;case 1:c=b.a.String();$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=4;case 4:return d;case 2:e=b.String();$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=6;case 6:return f;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.RatString};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.RatString=function(){return this.$val.RatString();};S.ptr.prototype.FloatString=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=DW.nil;if(c.IsInt()){$s=1;continue;}$s=2;continue;case 1:e=c.a.Append(d,10);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;if(b>0){d=$append(d,46);f=b;while(true){if(!(f>0)){break;}d=$append(d,48);f=f-(1)>>0;}}$s=-1;return($bytesToString(d));case 2:h=(AH.nil).div((AH.nil),c.a.abs,c.b.abs);$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];k=AI;if(b>0){$s=5;continue;}$s=6;continue;case 5:l=(AH.nil).expNN(AL,(AH.nil).setUint64((new $Uint64(0,b))),AH.nil);$s=7;case 7:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;case 6:m=j.mul(j,k);$s=8;case 8:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}j=m;o=j.div((AH.nil),j,c.b.abs);$s=9;case 9:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;j=n[0];p=n[1];q=p.add(p,p);$s=10;case 10:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;if(c.b.abs.cmp(p)<=0){$s=11;continue;}$s=12;continue;case 11:r=j.add(j,AI);$s=13;case 13:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}j=r;if(j.cmp(k)>=0){$s=14;continue;}$s=15;continue;case 14:s=(AH.nil).add(i,AI);$s=16;case 16:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}i=s;t=(AH.nil).sub(j,k);$s=17;case 17:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}j=t;case 15:case 12:if(c.a.neg){d=$append(d,45);}u=d;v=i.utoa(10);$s=18;case 18:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v;d=$appendSlice(u,w);if(b>0){$s=19;continue;}$s=20;continue;case 19:d=$append(d,46);x=j.utoa(10);$s=21;case 21:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;z=b-y.$length>>0;while(true){if(!(z>0)){break;}d=$append(d,48);z=z-(1)>>0;}d=$appendSlice(d,y);case 20:$s=-1;return($bytesToString(d));}return;}if($f===undefined){$f={$blk:S.ptr.prototype.FloatString};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.FloatString=function(b){return this.$val.FloatString(b);};S.ptr.prototype.SetFloat64=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Float64bits(b);e=new $Uint64(d.$high&1048575,(d.$low&4294967295)>>>0);g=(((f=$shiftRightUint64(d,52),new $Uint64(f.$high&0,(f.$low&2047)>>>0)).$low>>0));h=g;if(h===(2047)){$s=-1;return DV.nil;}else if(h===(0)){g=g-(1022)>>0;}else{e=(i=new $Uint64(1048576,0),new $Uint64(e.$high|i.$high,(e.$low|i.$low)>>>0));g=g-(1023)>>0;}j=52-g>>0;while(true){if(!((k=new $Uint64(e.$high&0,(e.$low&1)>>>0),(k.$high===0&&k.$low===0))&&j>0)){break;}e=$shiftRightUint64(e,(1));j=j-(1)>>0;}c.a.SetUint64(e);c.a.neg=b<0;c.b.Set(BI);if(j>0){c.b.Lsh(c.b,((j>>>0)));}else{c.a.Lsh(c.a,((-j>>>0)));}l=c.norm();$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=2;case 2:return m;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.SetFloat64};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.SetFloat64=function(b){return this.$val.SetFloat64(b);};U=function(b,c){var aa,ab,ac,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=0;e=false;f=b.bitLen();if(f===0){g=0;h=true;d=g;e=h;$s=-1;return[d,e];}i=c.bitLen();if(i===0){$panic(new $String("division by zero"));}j=f-i>>0;k=AH.nil;l=AH.nil;m=k;n=l;m=m.set(b);n=n.set(c);o=25-j>>0;if(o>0){m=m.shl(m,((o>>>0)));}else if(o<0){n=n.shl(n,((-o>>>0)));}p=AH.nil;r=p.div(m,m,n);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;p=q[0];s=q[1];t=BK(p);u=s.$length>0;if((t>>>25>>>0)===1){if(((t&1)>>>0)===1){u=true;}t=(v=(1),v<32?(t>>>v):0)>>>0;j=j+(1)>>0;}if(!(((t>>>24>>>0)===1))){$s=2;continue;}$s=3;continue;case 2:w=F.Sprintf("expected exactly %d bits of result",new DT([new $Int(25)]));$s=4;case 4:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}$panic(new $String(w));case 3:if(-149<=j&&j<=-126){x=(((-126-((j-1>>0))>>0)>>>0));z=(t&((((y=x,y<32?(1<<y):0)>>>0)-1>>>0)))>>>0;u=u||!((z===0));t=(aa=(x),aa<32?(t>>>aa):0)>>>0;j=-125;}e=!u;if(!((((t&1)>>>0)===0))){e=false;if(u||!((((t&2)>>>0)===0))){t=t+(1)>>>0;if(t>=33554432){t=(ab=(1),ab<32?(t>>>ab):0)>>>0;j=j+(1)>>0;}}}t=(ac=(1),ac<32?(t>>>ac):0)>>>0;d=($fround(A.Ldexp((t),j-24>>0)));if(A.IsInf((d),0)){e=false;}$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:U};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};V=function(b,c){var aa,ab,ac,ad,ae,af,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=0;e=false;f=b.bitLen();if(f===0){g=0;h=true;d=g;e=h;$s=-1;return[d,e];}i=c.bitLen();if(i===0){$panic(new $String("division by zero"));}j=f-i>>0;k=AH.nil;l=AH.nil;m=k;n=l;m=m.set(b);n=n.set(c);o=54-j>>0;if(o>0){m=m.shl(m,((o>>>0)));}else if(o<0){n=n.shl(n,((-o>>>0)));}p=AH.nil;r=p.div(m,m,n);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;p=q[0];s=q[1];t=BL(p);u=s.$length>0;if((v=$shiftRightUint64(t,54),(v.$high===0&&v.$low===1))){if((w=new $Uint64(t.$high&0,(t.$low&1)>>>0),(w.$high===0&&w.$low===1))){u=true;}t=$shiftRightUint64(t,(1));j=j+(1)>>0;}if(!((x=$shiftRightUint64(t,53),(x.$high===0&&x.$low===1)))){$s=2;continue;}$s=3;continue;case 2:y=F.Sprintf("expected exactly %d bits of result",new DT([new $Int(54)]));$s=4;case 4:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}$panic(new $String(y));case 3:if(-1074<=j&&j<=-1022){z=(((-1022-((j-1>>0))>>0)>>>0));ac=(aa=(ab=$shiftLeft64(new $Uint64(0,1),z),new $Uint64(ab.$high-0,ab.$low-1)),new $Uint64(t.$high&aa.$high,(t.$low&aa.$low)>>>0));u=u||!((ac.$high===0&&ac.$low===0));t=$shiftRightUint64(t,(z));j=-1021;}e=!u;if(!((ad=new $Uint64(t.$high&0,(t.$low&1)>>>0),(ad.$high===0&&ad.$low===0)))){e=false;if(u||!((ae=new $Uint64(t.$high&0,(t.$low&2)>>>0),(ae.$high===0&&ae.$low===0)))){t=(af=new $Uint64(0,1),new $Uint64(t.$high+af.$high,t.$low+af.$low));if((t.$high>4194304||(t.$high===4194304&&t.$low>=0))){t=$shiftRightUint64(t,(1));j=j+(1)>>0;}}}t=$shiftRightUint64(t,(1));d=A.Ldexp(($flatten64(t)),j-53>>0);if(A.IsInf(d,0)){e=false;}$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:V};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};S.ptr.prototype.Float32=function(){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=false;d=this;e=d.b.abs;if(e.$length===0){e=AI;}g=U(d.a.abs,e);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;b=f[0];c=f[1];if(d.a.neg){b=-b;}$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:S.ptr.prototype.Float32};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.Float32=function(){return this.$val.Float32();};S.ptr.prototype.Float64=function(){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=false;d=this;e=d.b.abs;if(e.$length===0){e=AI;}g=V(d.a.abs,e);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;b=f[0];c=f[1];if(d.a.neg){b=-b;}$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:S.ptr.prototype.Float64};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.Float64=function(){return this.$val.Float64();};S.ptr.prototype.SetFrac=function(b,c){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;d.a.neg=!(b.neg===c.neg);e=c.abs;if(e.$length===0){$panic(new $String("division by zero"));}if(d.a===c||AR(d.a.abs,e)){e=(AH.nil).set(e);}d.a.abs=d.a.abs.set(b.abs);d.b.abs=d.b.abs.set(e);f=d.norm();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.SetFrac};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.SetFrac=function(b,c){return this.$val.SetFrac(b,c);};S.ptr.prototype.SetFrac64=function(b,c){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if((c.$high===0&&c.$low===0)){$panic(new $String("division by zero"));}d.a.SetInt64(b);if((c.$high<0||(c.$high===0&&c.$low<0))){c=new $Int64(-c.$high,-c.$low);d.a.neg=!d.a.neg;}d.b.abs=d.b.abs.setUint64((new $Uint64(c.$high,c.$low)));e=d.norm();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.SetFrac64};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.SetFrac64=function(b,c){return this.$val.SetFrac64(b,c);};S.ptr.prototype.SetInt=function(b){var b,c;c=this;c.a.Set(b);c.b.abs=c.b.abs.setWord(1);return c;};S.prototype.SetInt=function(b){return this.$val.SetInt(b);};S.ptr.prototype.SetInt64=function(b){var b,c;c=this;c.a.SetInt64(b);c.b.abs=c.b.abs.setWord(1);return c;};S.prototype.SetInt64=function(b){return this.$val.SetInt64(b);};S.ptr.prototype.SetUint64=function(b){var b,c;c=this;c.a.SetUint64(b);c.b.abs=c.b.abs.setWord(1);return c;};S.prototype.SetUint64=function(b){return this.$val.SetUint64(b);};S.ptr.prototype.Set=function(b){var b,c;c=this;if(!(c===b)){c.a.Set(b.a);c.b.Set(b.b);}if(c.b.abs.$length===0){c.b.abs=c.b.abs.setWord(1);}return c;};S.prototype.Set=function(b){return this.$val.Set(b);};S.ptr.prototype.Abs=function(b){var b,c;c=this;c.Set(b);c.a.neg=false;return c;};S.prototype.Abs=function(b){return this.$val.Abs(b);};S.ptr.prototype.Neg=function(b){var b,c;c=this;c.Set(b);c.a.neg=c.a.abs.$length>0&&!c.a.neg;return c;};S.prototype.Neg=function(b){return this.$val.Neg(b);};S.ptr.prototype.Inv=function(b){var b,c,d,e;c=this;if(b.a.abs.$length===0){$panic(new $String("division by zero"));}c.Set(b);d=c.b.abs;e=c.a.abs;c.a.abs=d;c.b.abs=e;return c;};S.prototype.Inv=function(b){return this.$val.Inv(b);};S.ptr.prototype.Sign=function(){var b;b=this;return b.a.Sign();};S.prototype.Sign=function(){return this.$val.Sign();};S.ptr.prototype.IsInt=function(){var b;b=this;return(b.b.abs.$length===0)||(b.b.abs.cmp(AI)===0);};S.prototype.IsInt=function(){return this.$val.IsInt();};S.ptr.prototype.Num=function(){var b;b=this;return b.a;};S.prototype.Num=function(){return this.$val.Num();};S.ptr.prototype.Denom=function(){var b;b=this;b.b.neg=false;if(b.b.abs.$length===0){return new BH.ptr(false,new AH([1]));}return b.b;};S.prototype.Denom=function(){return this.$val.Denom();};S.ptr.prototype.norm=function(){var b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if((b.a.abs.$length===0)){$s=2;continue;}if((b.b.abs.$length===0)){$s=3;continue;}$s=4;continue;case 2:b.a.neg=false;b.b.abs=b.b.abs.setWord(1);$s=5;continue;case 3:b.b.abs=b.b.abs.setWord(1);$s=5;continue;case 4:c=b.a.neg;b.a.neg=false;b.b.neg=false;d=BJ(new $Int64(0,0)).lehmerGCD(DX.nil,DX.nil,b.a,b.b);$s=6;case 6:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(!((e.Cmp(BI)===0))){$s=7;continue;}$s=8;continue;case 7:g=b.a.abs.div(AH.nil,b.a.abs,e.abs);$s=9;case 9:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;b.a.abs=f[0];i=b.b.abs.div(AH.nil,b.b.abs,e.abs);$s=10;case 10:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;b.b.abs=h[0];case 8:b.a.neg=c;case 5:case 1:$s=-1;return b;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.norm};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.norm=function(){return this.$val.norm();};W=function(b,c,d){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if((c.$length===0)&&(d.$length===0)){$s=-1;return b.setWord(1);}else if((c.$length===0)){$s=-1;return b.set(d);}else if((d.$length===0)){$s=-1;return b.set(c);}e=b.mul(c,d);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:W};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BH.ptr.prototype.scaleDenom=function(b,c){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(c.$length===0){d.Set(b);$s=-1;return;}e=d.abs.mul(b.abs,c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d.abs=e;d.neg=b.neg;$s=-1;return;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.scaleDenom};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.scaleDenom=function(b,c){return this.$val.scaleDenom(b,c);};S.ptr.prototype.Cmp=function(b){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;e=new BH.ptr(false,AH.nil);f=new BH.ptr(false,AH.nil);g=$clone(e,BH);c[0]=$clone(f,BH);$r=g.scaleDenom(d.a,b.b.abs);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c[0].scaleDenom(b.a,d.b.abs);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return g.Cmp(c[0]);}return;}if($f===undefined){$f={$blk:S.ptr.prototype.Cmp};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.Cmp=function(b){return this.$val.Cmp(b);};S.ptr.prototype.Add=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=this;g=new BH.ptr(false,AH.nil);h=new BH.ptr(false,AH.nil);d[0]=$clone(g,BH);e[0]=$clone(h,BH);$r=d[0].scaleDenom(b.a,c.b.abs);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=e[0].scaleDenom(c.a,b.b.abs);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=f.a.Add(d[0],e[0]);$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;j=W(f.b.abs,b.b.abs,c.b.abs);$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}f.b.abs=j;k=f.norm();$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=6;case 6:return l;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.Add};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.Add=function(b,c){return this.$val.Add(b,c);};S.ptr.prototype.Sub=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=this;g=new BH.ptr(false,AH.nil);h=new BH.ptr(false,AH.nil);d[0]=$clone(g,BH);e[0]=$clone(h,BH);$r=d[0].scaleDenom(b.a,c.b.abs);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=e[0].scaleDenom(c.a,b.b.abs);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=f.a.Sub(d[0],e[0]);$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;j=W(f.b.abs,b.b.abs,c.b.abs);$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}f.b.abs=j;k=f.norm();$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=6;case 6:return l;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.Sub};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.Sub=function(b,c){return this.$val.Sub(b,c);};S.ptr.prototype.Mul=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(b===c){$s=1;continue;}$s=2;continue;case 1:d.a.neg=false;e=d.a.abs.sqr(b.a.abs);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d.a.abs=e;if(b.b.abs.$length===0){$s=4;continue;}$s=5;continue;case 4:d.b.abs=d.b.abs.setWord(1);$s=6;continue;case 5:f=d.b.abs.sqr(b.b.abs);$s=7;case 7:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}d.b.abs=f;case 6:$s=-1;return d;case 2:g=d.a.Mul(b.a,c.a);$s=8;case 8:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;h=W(d.b.abs,b.b.abs,c.b.abs);$s=9;case 9:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}d.b.abs=h;i=d.norm();$s=10;case 10:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=11;case 11:return j;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.Mul};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.Mul=function(b,c){return this.$val.Mul(b,c);};S.ptr.prototype.Quo=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(c.a.abs.$length===0){$panic(new $String("division by zero"));}e=new BH.ptr(false,AH.nil);f=new BH.ptr(false,AH.nil);g=$clone(e,BH);h=$clone(f,BH);$r=g.scaleDenom(b.a,c.b.abs);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=h.scaleDenom(c.a,b.b.abs);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.a.abs=g.abs;d.b.abs=h.abs;d.a.neg=!(g.neg===h.neg);i=d.norm();$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=4;case 4:return j;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.Quo};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.Quo=function(b,c){return this.$val.Quo(b,c);};BH.ptr.prototype.ProbablyPrime=function(b){var aa,ab,ac,ad,ae,af,ag,ah,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b<0){$panic(new $String("negative n for ProbablyPrime"));}if(c.neg||(c.abs.$length===0)){$s=-1;return false;}e=(d=c.abs,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]));if((c.abs.$length===1)&&e<64){$s=-1;return!((f=(g=$shiftLeft64(new $Uint64(0,1),e),new $Uint64(673221152&g.$high,(2693408940&g.$low)>>>0)),(f.$high===0&&f.$low===0)));}if(((e&1)>>>0)===0){$s=-1;return false;}h=0;i=0;j=h;k=i;l=32;if(l===(32)){j=((c.abs.modW(4127218095)>>>0));k=((c.abs.modW(3948078067)>>>0));}else if(l===(64)){m=c.abs.modW(820596253);j=(((n=m%4127218095,n===n?n:$throwRuntimeError("integer divide by zero"))>>>0));k=(((o=m%3948078067,o===o?o:$throwRuntimeError("integer divide by zero"))>>>0));}else{$panic(new $String("math/big: invalid word size"));}if(((p=j%3,p===p?p:$throwRuntimeError("integer divide by zero"))===0)||((q=j%5,q===q?q:$throwRuntimeError("integer divide by zero"))===0)||((r=j%7,r===r?r:$throwRuntimeError("integer divide by zero"))===0)||((s=j%11,s===s?s:$throwRuntimeError("integer divide by zero"))===0)||((t=j%13,t===t?t:$throwRuntimeError("integer divide by zero"))===0)||((u=j%17,u===u?u:$throwRuntimeError("integer divide by zero"))===0)||((v=j%19,v===v?v:$throwRuntimeError("integer divide by zero"))===0)||((w=j%23,w===w?w:$throwRuntimeError("integer divide by zero"))===0)||((x=j%37,x===x?x:$throwRuntimeError("integer divide by zero"))===0)||((y=k%29,y===y?y:$throwRuntimeError("integer divide by zero"))===0)||((z=k%31,z===z?z:$throwRuntimeError("integer divide by zero"))===0)||((aa=k%41,aa===aa?aa:$throwRuntimeError("integer divide by zero"))===0)||((ab=k%43,ab===ab?ab:$throwRuntimeError("integer divide by zero"))===0)||((ac=k%47,ac===ac?ac:$throwRuntimeError("integer divide by zero"))===0)||((ad=k%53,ad===ad?ad:$throwRuntimeError("integer divide by zero"))===0)){$s=-1;return false;}af=c.abs.probablyPrimeMillerRabin(b+1>>0,true);$s=2;case 2:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}if(!(af)){ae=false;$s=1;continue s;}ag=c.abs.probablyPrimeLucas();$s=3;case 3:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ae=ag;case 1:ah=ae;$s=4;case 4:return ah;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.ProbablyPrime};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.ProbablyPrime=function(b){return this.$val.ProbablyPrime(b);};AH.prototype.probablyPrimeMillerRabin=function(b,c){var aa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=(AH.nil).sub(d,AI);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=f.trailingZeroBits();h=(AH.nil).shr(f,g);i=(AH.nil).sub(f,AJ);$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;l=I.New(I.NewSource(((k=(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]),new $Int64(0,k.constructor===Number?k:1)))));m=AH.nil;n=AH.nil;o=AH.nil;p=m;q=n;r=o;s=j.bitLen();t=0;case 3:if(!(t<b)){$s=4;continue;}if((t===(b-1>>0))&&c){$s=5;continue;}$s=6;continue;case 5:p=p.set(AJ);$s=7;continue;case 6:u=p.random(l,j,s);$s=8;case 8:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}p=u;v=p.add(p,AJ);$s=9;case 9:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}p=v;case 7:w=q.expNN(p,h,d);$s=10;case 10:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}q=w;if((q.cmp(AI)===0)||(q.cmp(f)===0)){t=t+(1)>>0;$s=3;continue;}x=1;case 11:if(!(x<g)){$s=12;continue;}y=q.sqr(q);$s=13;case 13:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}q=y;aa=r.div(q,q,d);$s=14;case 14:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;r=z[0];q=z[1];if(q.cmp(f)===0){t=t+(1)>>0;$s=3;continue s;}if(q.cmp(AI)===0){$s=-1;return false;}x=x+(1)>>>0;$s=11;continue;case 12:$s=-1;return false;case 4:$s=-1;return true;}return;}if($f===undefined){$f={$blk:AH.prototype.probablyPrimeMillerRabin};}$f.aa=aa;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.probablyPrimeMillerRabin=function(b,c){return this.$get().probablyPrimeMillerRabin(b,c);};AH.prototype.probablyPrimeLucas=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if((b.$length===0)||(b.cmp(AI)===0)){$s=-1;return false;}if((((0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])&1)>>>0)===0){$s=-1;return b.cmp(AJ)===0;}c=3;d=new AH([1]);e=(AH.nil);f=new BH.ptr(false,d);g=new BH.ptr(false,b);case 1:if(c>10000){$s=3;continue;}$s=4;continue;case 3:h=g.String();$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$panic(new $String("math/big: internal error: cannot find (D/n) = -1 for "+h));case 4:(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]=(($imul(c,c)>>>0)-4>>>0));i=BP(f,g);$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;if(j===-1){$s=2;continue;}if(j===0){$s=-1;return(b.$length===1)&&((0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])===(c+2>>>0));}if(c===40){$s=7;continue;}$s=8;continue;case 7:k=e.sqrt(b);$s=9;case 9:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}e=k;l=e.sqr(e);$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}e=l;if(e.cmp(b)===0){$s=-1;return false;}case 8:c=c+(1)>>>0;$s=1;continue;case 2:m=(AH.nil).add(b,AI);$s=11;case 11:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;o=((n.trailingZeroBits()>>0));n=n.shr(n,((o>>>0)));p=(AH.nil).sub(b,AJ);$s=12;case 12:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;r=(AH.nil).setWord(c);s=(AH.nil).setWord(2);t=(AH.nil).setWord(c);u=(AH.nil);v=(n.bitLen());case 13:if(!(v>=0)){$s=14;continue;}if(!((n.bit(((v>>>0)))===0))){$s=15;continue;}$s=16;continue;case 15:w=e.mul(s,t);$s=18;case 18:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}e=w;x=e.add(e,b);$s=19;case 19:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}e=x;y=e.sub(e,r);$s=20;case 20:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}e=y;aa=u.div(s,e,b);$s=21;case 21:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;u=z[0];s=z[1];ab=e.sqr(t);$s=22;case 22:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}e=ab;ac=e.add(e,q);$s=23;case 23:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}e=ac;ae=u.div(t,e,b);$s=24;case 24:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=ae;u=ad[0];t=ad[1];$s=17;continue;case 16:af=e.mul(s,t);$s=25;case 25:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}e=af;ag=e.add(e,b);$s=26;case 26:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}e=ag;ah=e.sub(e,r);$s=27;case 27:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}e=ah;aj=u.div(t,e,b);$s=28;case 28:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;u=ai[0];t=ai[1];ak=e.sqr(s);$s=29;case 29:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}e=ak;al=e.add(e,q);$s=30;case 30:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}e=al;an=u.div(s,e,b);$s=31;case 31:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}am=an;u=am[0];s=am[1];case 17:v=v-(1)>>0;$s=13;continue;case 14:if((s.cmp(AJ)===0)||(s.cmp(q)===0)){$s=32;continue;}$s=33;continue;case 32:ao=e.mul(s,r);$s=34;case 34:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=ao;aq=u.shl(t,1);if(ap.cmp(aq)<0){ar=aq;as=ap;ap=ar;aq=as;}at=ap.sub(ap,aq);$s=35;case 35:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}ap=at;au=t;t=AH.nil;$unused(t);aw=aq.div(au,ap,b);$s=36;case 36:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}av=aw;aq=av[0];au=av[1];if(au.$length===0){$s=-1;return true;}case 33:ax=0;case 37:if(!(ax<(o-1>>0))){$s=38;continue;}if(s.$length===0){$s=-1;return true;}if((s.$length===1)&&((0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0])===2)){$s=-1;return false;}ay=e.sqr(s);$s=39;case 39:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}e=ay;az=e.sub(e,AJ);$s=40;case 40:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}e=az;bb=u.div(s,e,b);$s=41;case 41:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}ba=bb;u=ba[0];s=ba[1];ax=ax+(1)>>0;$s=37;continue;case 38:$s=-1;return false;}return;}if($f===undefined){$f={$blk:AH.prototype.probablyPrimeLucas};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.probablyPrimeLucas=function(){return this.$get().probablyPrimeLucas();};AH.prototype.div=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=AH.nil;f=AH.nil;g=this;if(d.$length===0){$panic(new $String("division by zero"));}if(c.cmp(d)<0){e=$subslice(g,0,0);f=b.set(c);$s=-1;return[e,f];}if(d.$length===1){h=0;i=g.divW(c,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]));e=i[0];h=i[1];f=b.setWord(h);$s=-1;return[e,f];}k=g.divLarge(b,c,d);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;e=j[0];f=j[1];$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:AH.prototype.div};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.div=function(b,c,d){return this.$get().div(b,c,d);};AH.prototype.divW=function(b,c){var b,c,d,e,f,g;d=AH.nil;e=0;f=this;g=b.$length;if((c===0)){$panic(new $String("division by zero"));}else if((c===1)){d=f.set(b);return[d,e];}else if((g===0)){d=$subslice(f,0,0);return[d,e];}f=f.make(g);e=X($convertSliceType(f,DY),0,$convertSliceType(b,DY),c);d=f.norm();return[d,e];};$ptrType(AH).prototype.divW=function(b,c){return this.$get().divW(b,c);};AH.prototype.modW=function(b){var b,c,d,e;c=0;d=this;e=AH.nil;e=e.make(d.$length);c=X($convertSliceType(e,DY),0,$convertSliceType(d,DY),b);return c;};$ptrType(AH).prototype.modW=function(b){return this.$get().modW(b);};X=function(b,c,d,e){var b,c,d,e,f,g,h,i,j,k,l;f=0;f=c;if(d.$length===1){g=J.Div(((f>>>0)),(((0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])>>>0)),((e>>>0)));h=g[0];i=g[1];(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]=((h>>>0)));f=((i>>>0));return f;}j=DM(e);k=b.$length-1>>0;while(true){if(!(k>=0)){break;}l=DL(f,((k<0||k>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+k]),e,j);((k<0||k>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+k]=l[0]);f=l[1];k=k-(1)>>0;}f=f;return f;};AH.prototype.divLarge=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=AH.nil;f=AH.nil;g=this;h=d.$length;i=c.$length-h>>0;k=DA((j=h-1>>0,((j<0||j>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+j])));l=AZ(h);$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;n=m.$get();CU($convertSliceType(n,DY),$convertSliceType(d,DY),k);b=b.make(c.$length+1>>0);(o=c.$length,((o<0||o>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+o]=CU($convertSliceType($subslice(b,0,c.$length),DY),$convertSliceType(c,DY),k)));if(AR(g,b)){g=AH.nil;}e=g.make(i+1>>0);if(h<100){$s=2;continue;}$s=3;continue;case 2:$r=e.divBasic(b,n);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=4;continue;case 3:$r=e.divRecursive(b,n);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:BA(m);e=e.norm();CV($convertSliceType(b,DY),$convertSliceType(b,DY),k);f=b.norm();p=e;q=f;e=p;f=q;$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:AH.prototype.divLarge};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.divLarge=function(b,c,d){return this.$get().divLarge(b,c,d);};AH.prototype.divBasic=function(b,c){var aa,ab,ac,ad,ae,af,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=c.$length;f=b.$length-e>>0;g=AZ(e+1>>0);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=h.$get();k=(j=e-1>>0,((j<0||j>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+j]));l=DM(k);m=f;while(true){if(!(m>=0)){break;}n=4294967295;o=0;if((m+e>>0)<b.$length){o=(p=m+e>>0,((p<0||p>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+p]));}if(!((o===k))){q=0;r=DL(o,(s=(m+e>>0)-1>>0,((s<0||s>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+s])),k,l);n=r[0];q=r[1];u=(t=e-2>>0,((t<0||t>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+t]));v=CP(n,u);w=v[0];x=v[1];z=(y=(m+e>>0)-2>>0,((y<0||y>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+y]));while(true){if(!(Y(w,x,q,z))){break;}n=n-(1)>>>0;aa=q;q=q+(k)>>>0;if(q<aa){break;}ab=CP(n,u);w=ab[0];x=ab[1];}}((e<0||e>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+e]=CW($convertSliceType($subslice(i,0,e),DY),$convertSliceType(c,DY),n,0));ac=i.$length;if((m+ac>>0)>b.$length&&(((e<0||e>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+e])===0)){ac=ac-(1)>>0;}ad=CR($convertSliceType($subslice(b,m,(m+ac>>0)),DY),$convertSliceType($subslice(b,m),DY),$convertSliceType(i,DY));if(!((ad===0))){ae=CQ($convertSliceType($subslice(b,m,(m+e>>0)),DY),$convertSliceType($subslice(b,m),DY),$convertSliceType(c,DY));if(e<ac){af=m+e>>0;((af<0||af>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+af]=(((af<0||af>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+af])+(ae)>>>0));}n=n-(1)>>>0;}if((m===f)&&(f===d.$length)&&(n===0)){m=m-(1)>>0;continue;}((m<0||m>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+m]=n);m=m-(1)>>0;}BA(h);$s=-1;return;}return;}if($f===undefined){$f={$blk:AH.prototype.divBasic};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.divBasic=function(b,c){return this.$get().divBasic(b,c);};Y=function(b,c,d,e){var b,c,d,e;return b>d||(b===d)&&c>e;};AH.prototype.divRecursive=function(b,c){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$imul(2,J.Len(((c.$length>>>0))));f=AZ($imul(3,c.$length));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;h=$makeSlice(EA,e);d.clear();$r=d.divRecursiveStep(b,c,0,g,h);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=h;j=0;while(true){if(!(j<i.$length)){break;}k=((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);if(!(k===DZ.nil)){BA(k);}j++;}BA(g);$s=-1;return;}return;}if($f===undefined){$f={$blk:AH.prototype.divRecursive};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.divRecursive=function(b,c){return this.$get().divRecursive(b,c);};AH.prototype.divRecursiveStep=function(b,c,d,e,f){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this;b=b.norm();c=c.norm();if(b.$length===0){g.clear();$s=-1;return;}h=c.$length;if(h<100){$s=1;continue;}$s=2;continue;case 1:$r=g.divBasic(b,c);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 2:i=b.$length-h>>0;if(i<0){$s=-1;return;}k=(j=h/2,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"));if(((d<0||d>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+d])===DZ.nil){$s=4;continue;}$s=5;continue;case 4:l=AZ(h);$s=7;case 7:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}((d<0||d>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+d]=l);$s=6;continue;case 5:((d<0||d>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+d]).$set(((d<0||d>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+d]).make(k+1>>0));case 6:m=i;case 8:if(!(m>k)){$s=9;continue;}n=(k-1>>0);o=$subslice(b,(m-k>>0));p=((d<0||d>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+d]).$get();p.clear();$r=p.divRecursiveStep($subslice(o,n,(k+h>>0)),$subslice(c,n),d+1>>0,e,f);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p=p.norm();q=e.make($imul(3,h));q.clear();r=q.mul(p,$subslice(c,0,n));$s=11;case 11:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=0;case 12:if(!(s<2)){$s=13;continue;}t=q.cmp(o.norm());if(t<=0){$s=13;continue;}u=CT($convertSliceType(p,DY),$convertSliceType(p,DY),1);$s=14;case 14:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}u;v=CR($convertSliceType($subslice(q,0,n),DY),$convertSliceType($subslice(q,0,n),DY),$convertSliceType($subslice(c,0,n),DY));if(q.$length>n){$s=15;continue;}$s=16;continue;case 15:w=CT($convertSliceType($subslice(q,n),DY),$convertSliceType($subslice(q,n),DY),v);$s=17;case 17:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}w;case 16:$r=AS($subslice(o,n),$subslice(c,n),0);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}s=s+(1)>>0;$s=12;continue;case 13:if(q.cmp(o.norm())>0){$panic(new $String("impossible"));}x=CR($convertSliceType($subslice(o,0,q.$length),DY),$convertSliceType($subslice(o,0,q.$length),DY),$convertSliceType(q,DY));if(x>0){$s=19;continue;}$s=20;continue;case 19:y=CT($convertSliceType($subslice(o,q.$length),DY),$convertSliceType($subslice(o,q.$length),DY),x);$s=21;case 21:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}y;case 20:$r=AS(g,p,m-k>>0);$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}m=m-(k)>>0;$s=8;continue;case 9:z=k-1>>0;aa=((d<0||d>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+d]).$get();aa.clear();$r=aa.divRecursiveStep($subslice(b,z).norm(),$subslice(c,z),d+1>>0,e,f);$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aa=aa.norm();ab=e.make($imul(3,h));ab.clear();ac=ab.mul(aa,$subslice(c,0,z));$s=24;case 24:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=0;case 25:if(!(ad<2)){$s=26;continue;}ae=ab.cmp(b.norm());if(ae>0){$s=27;continue;}$s=28;continue;case 27:af=CT($convertSliceType(aa,DY),$convertSliceType(aa,DY),1);$s=29;case 29:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}af;ag=CR($convertSliceType($subslice(ab,0,z),DY),$convertSliceType($subslice(ab,0,z),DY),$convertSliceType($subslice(c,0,z),DY));if(ab.$length>z){$s=30;continue;}$s=31;continue;case 30:ah=CT($convertSliceType($subslice(ab,z),DY),$convertSliceType($subslice(ab,z),DY),ag);$s=32;case 32:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ah;case 31:$r=AS($subslice(b,z),$subslice(c,z),0);$s=33;case 33:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 28:ad=ad+(1)>>0;$s=25;continue;case 26:if(ab.cmp(b.norm())>0){$panic(new $String("impossible"));}ai=CR($convertSliceType($subslice(b,0,ab.$length),DY),$convertSliceType($subslice(b,0,ab.$length),DY),$convertSliceType(ab,DY));if(ai>0){$s=34;continue;}$s=35;continue;case 34:aj=CT($convertSliceType($subslice(b,ab.$length),DY),$convertSliceType($subslice(b,ab.$length),DY),ai);$s=36;case 36:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;case 35:if(ai>0){$panic(new $String("impossible"));}$r=AS(g,aa.norm(),0);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AH.prototype.divRecursiveStep};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.divRecursiveStep=function(b,c,d,e,f){return this.$get().divRecursiveStep(b,c,d,e,f);};Z=function(b){var b,c,d,e,f,g,h;c=0;d=0;e=b;f=1;c=e;d=f;h=(g=4294967295/b,(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));while(true){if(!(c<=h)){break;}c=$imul(c,(b))>>>0;d=d+(1)>>0;}return[c,d];};AA=function(b,c){var b,c,d;d=0;d=1;while(true){if(!(c>0)){break;}if(!(((c&1)===0))){d=$imul(d,(b))>>>0;}b=$imul(b,(b))>>>0;c=(c>>$min((1),31))>>0;}return d;};AH.prototype.scan=function(b,c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=AH.nil;f=0;g=0;h=$ifaceNil;i=this;j=(c===0)||!d&&2<=c&&c<=62||d&&((c===2)||(c===8)||(c===10)||(c===16));if(!j){$s=1;continue;}$s=2;continue;case 1:k=F.Sprintf("invalid number base %d",new DT([new $Int(c)]));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$panic(new $String(k));case 2:l=46;m=false;o=b.ReadByte();$s=4;case 4:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];h=n[1];q=c;r=0;f=q;s=r;if(c===0){$s=5;continue;}$s=6;continue;case 5:f=10;if($interfaceIsEqual(h,$ifaceNil)&&(p===48)){$s=7;continue;}$s=8;continue;case 7:l=48;g=1;u=b.ReadByte();$s=9;case 9:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;p=t[0];h=t[1];if($interfaceIsEqual(h,$ifaceNil)){$s=10;continue;}$s=11;continue;case 10:v=p;if((v===(98))||(v===(66))){w=2;x=98;f=w;s=x;}else if((v===(111))||(v===(79))){y=8;z=111;f=y;s=z;}else if((v===(120))||(v===(88))){aa=16;ab=120;f=aa;s=ab;}else if(!d){ac=8;ad=48;f=ac;s=ad;}if(!((s===0))){$s=12;continue;}$s=13;continue;case 12:g=0;if(!((s===48))){$s=14;continue;}$s=15;continue;case 14:af=b.ReadByte();$s=16;case 16:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;p=ae[0];h=ae[1];case 15:case 13:case 11:case 8:case 6:i=$subslice(i,0,0);ag=((f>>>0));ah=Z(ag);ai=ah[0];aj=ah[1];ak=0;al=0;am=-1;case 17:if(!($interfaceIsEqual(h,$ifaceNil))){$s=18;continue;}if((p===46)&&d){$s=19;continue;}if((p===95)&&(c===0)){$s=20;continue;}$s=21;continue;case 19:d=false;if(l===95){m=true;}l=46;am=g;$s=22;continue;case 20:if(!((l===48))){m=true;}l=95;$s=22;continue;case 21:an=0;if(48<=p&&p<=57){an=(((p-48<<24>>>24)>>>0));}else if(97<=p&&p<=122){an=((((p-97<<24>>>24)+10<<24>>>24)>>>0));}else if(65<=p&&p<=90){if(f<=36){an=((((p-65<<24>>>24)+10<<24>>>24)>>>0));}else{an=((((p-65<<24>>>24)+36<<24>>>24)>>>0));}}else{an=63;}if(an>=ag){$s=23;continue;}$s=24;continue;case 23:ao=b.UnreadByte();$s=25;case 25:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ao;$s=18;continue;case 24:l=48;g=g+(1)>>0;ak=($imul(ak,ag)>>>0)+an>>>0;al=al+(1)>>0;if(al===aj){i=i.mulAddWW(i,ai,ak);ak=0;al=0;}case 22:aq=b.ReadByte();$s=26;case 26:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;p=ap[0];h=ap[1];$s=17;continue;case 18:if($interfaceIsEqual(h,G.EOF)){h=$ifaceNil;}if($interfaceIsEqual(h,$ifaceNil)&&(m||(l===95))){h=AC;}if(g===0){if(s===48){ar=$subslice(i,0,0);as=10;at=1;au=h;e=ar;f=as;g=at;h=au;$s=-1;return[e,f,g,h];}h=AB;}if(al>0){i=i.mulAddWW(i,AA(ag,al),ak);}e=i.norm();if(am>=0){g=am-g>>0;}$s=-1;return[e,f,g,h];}return;}if($f===undefined){$f={$blk:AH.prototype.scan};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.scan=function(b,c,d){return this.$get().scan(b,c,d);};AH.prototype.utoa=function(b){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.itoa(false,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:AH.prototype.utoa};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.utoa=function(b){return this.$get().utoa(b);};AH.prototype.itoa=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(c<2||c>62){$panic(new $String("invalid base"));}if(d.$length===0){$s=-1;return(new DW($stringToBytes("0")));}e=(((d.bitLen())/A.Log2((c))>>0))+1>>0;if(b){e=e+(1)>>0;}f=$makeSlice(DW,e);g=((c>>>0));if(g===((g&(-g>>>0))>>>0)){$s=1;continue;}$s=2;continue;case 1:h=((J.TrailingZeros(((g>>>0)))>>>0));j=((((i=h,i<32?(1<<i):0)>>>0)-1>>>0));k=(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]);l=32;m=1;while(true){if(!(m<d.$length)){break;}while(true){if(!(l>=h)){break;}e=e-(1)>>0;((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".charCodeAt(((k&j)>>>0)));k=(n=(h),n<32?(k>>>n):0)>>>0;l=l-(h)>>>0;}if(l===0){k=((m<0||m>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+m]);l=32;}else{k=(k|(((o=l,o<32?(((m<0||m>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+m])<<o):0)>>>0)))>>>0;e=e-(1)>>0;((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".charCodeAt(((k&j)>>>0)));k=(p=((h-l>>>0)),p<32?(((m<0||m>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+m])>>>p):0)>>>0;l=32-((h-l>>>0))>>>0;}m=m+(1)>>0;}while(true){if(!(!((k===0)))){break;}e=e-(1)>>0;((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".charCodeAt(((k&j)>>>0)));k=(q=(h),q<32?(k>>>q):0)>>>0;}$s=3;continue;case 2:r=Z(g);s=r[0];t=r[1];u=AG(d.$length,g,t,s);$s=4;case 4:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;w=(AH.nil).set(d);$r=w.convertWords(f,g,t,s,v);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=0;while(true){if(!(((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e])===48)){break;}e=e+(1)>>0;}case 3:if(b){e=e-(1)>>0;((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]=45);}$s=-1;return $subslice(f,e);}return;}if($f===undefined){$f={$blk:AH.prototype.itoa};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.itoa=function(b,c){return this.$get().itoa(b,c);};AH.prototype.convertWords=function(b,c,d,e,f){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this;if(!(f===EB.nil)){$s=1;continue;}$s=2;continue;case 1:h=AH.nil;i=f.$length-1>>0;case 3:if(!(g.$length>AD)){$s=4;continue;}j=g.bitLen();k=j>>1>>0;while(true){if(!(i>0&&(l=i-1>>0,((l<0||l>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+l])).nbits>k)){break;}i=i-(1)>>0;}if(((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]).nbits>=j&&((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]).bbb.cmp(g)>=0){i=i-(1)>>0;if(i<0){$panic(new $String("internal inconsistency"));}}n=g.div(h,g,((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]).bbb);$s=5;case 5:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;g=m[0];h=m[1];o=b.$length-((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]).ndigits>>0;$r=h.convertWords($subslice(b,o),c,d,e,$subslice(f,0,i));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=$subslice(b,0,o);$s=3;continue;case 4:case 2:p=b.$length;q=0;if(c===10){while(true){if(!(g.$length>0)){break;}r=g.divW(g,e);g=r[0];q=r[1];s=0;while(true){if(!(s<d&&p>0)){break;}p=p-(1)>>0;u=(t=q/10,(t===t&&t!==1/0&&t!==-1/0)?t>>>0:$throwRuntimeError("integer divide by zero"));((p<0||p>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+p]=(48+(((q-($imul(u,10)>>>0)>>>0)<<24>>>24))<<24>>>24));q=u;s=s+(1)>>0;}}}else{while(true){if(!(g.$length>0)){break;}v=g.divW(g,e);g=v[0];q=v[1];w=0;while(true){if(!(w<d&&p>0)){break;}p=p-(1)>>0;((p<0||p>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+p]="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".charCodeAt((x=q%c,x===x?x:$throwRuntimeError("integer divide by zero"))));q=(y=q/(c),(y===y&&y!==1/0&&y!==-1/0)?y>>>0:$throwRuntimeError("integer divide by zero"));w=w+(1)>>0;}}}while(true){if(!(p>0)){break;}p=p-(1)>>0;((p<0||p>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+p]=48);}$s=-1;return;}return;}if($f===undefined){$f={$blk:AH.prototype.convertWords};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.convertWords=function(b,c,d,e,f){return this.$get().convertWords(b,c,d,e,f);};AH.prototype.expWW=function(b,c){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.expNN((AH.nil).setWord(b),(AH.nil).setWord(c),AH.nil);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:AH.prototype.expWW};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.expWW=function(b,c){return this.$get().expWW(b,c);};AG=function(b,c,d,e){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if((AD===0)||b<=AD){$s=-1;return EB.nil;}f=1;g=AD;while(true){if(!(g<(b>>1>>0)&&f<64)){break;}f=f+(1)>>0;g=(h=(1),h<32?(g<<h):0)>>0;}i=EB.nil;if(c===10){AF.Mutex.Lock();i=$subslice(new EB(AF.table),0,f);}else{i=$makeSlice(EB,f);}if((j=f-1>>0,((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j])).ndigits===0){$s=1;continue;}$s=2;continue;case 1:k=AH.nil;l=0;case 3:if(!(l<f)){$s=4;continue;}if(((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).ndigits===0){$s=5;continue;}$s=6;continue;case 5:if(l===0){$s=7;continue;}$s=8;continue;case 7:m=(AH.nil).expWW(e,((AD>>>0)));$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]).bbb=m;(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]).ndigits=$imul(d,AD);$s=9;continue;case 8:o=(AH.nil).sqr((n=l-1>>0,((n<0||n>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+n])).bbb);$s=11;case 11:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).bbb=o;((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).ndigits=$imul(2,(p=l-1>>0,((p<0||p>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+p])).ndigits);case 9:k=(AH.nil).set(((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).bbb);while(true){if(!(CW($convertSliceType(k,DY),$convertSliceType(k,DY),c,0)===0)){break;}((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).bbb=((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).bbb.set(k);((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).ndigits=((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).ndigits+(1)>>0;}((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).nbits=((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).bbb.bitLen();case 6:l=l+(1)>>0;$s=3;continue;case 4:case 2:if(c===10){AF.Mutex.Unlock();}$s=-1;return i;}return;}if($f===undefined){$f={$blk:AG};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AH.prototype.clear=function(){var b,c,d,e;b=this;c=b;d=0;while(true){if(!(d<c.$length)){break;}e=d;((e<0||e>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+e]=0);d++;}};$ptrType(AH).prototype.clear=function(){return this.$get().clear();};AH.prototype.norm=function(){var b,c,d;b=this;c=b.$length;while(true){if(!(c>0&&((d=c-1>>0,((d<0||d>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d]))===0))){break;}c=c-(1)>>0;}return $subslice(b,0,c);};$ptrType(AH).prototype.norm=function(){return this.$get().norm();};AH.prototype.make=function(b){var b,c;c=this;if(b<=c.$capacity){return $subslice(c,0,b);}if(b===1){return $makeSlice(AH,1);}return $makeSlice(AH,b,(b+4>>0));};$ptrType(AH).prototype.make=function(b){return this.$get().make(b);};AH.prototype.setWord=function(b){var b,c;c=this;if(b===0){return $subslice(c,0,0);}c=c.make(1);(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]=b);return c;};$ptrType(AH).prototype.setWord=function(b){return this.$get().setWord(b);};AH.prototype.setUint64=function(b){var b,c,d,e;c=this;d=((b.$low>>>0));if((e=(new $Uint64(0,d.constructor===Number?d:1)),(e.$high===b.$high&&e.$low===b.$low))){return c.setWord(d);}c=c.make(2);(1>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+1]=(($shiftRightUint64(b,32).$low>>>0)));(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]=((b.$low>>>0)));return c;};$ptrType(AH).prototype.setUint64=function(b){return this.$get().setUint64(b);};AH.prototype.set=function(b){var b,c;c=this;c=c.make(b.$length);$copySlice(c,b);return c;};$ptrType(AH).prototype.set=function(b){return this.$get().set(b);};AH.prototype.add=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=b.$length;f=c.$length;if(e<f){$s=2;continue;}if((e===0)){$s=3;continue;}if((f===0)){$s=4;continue;}$s=5;continue;case 2:g=d.add(c,b);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=7;case 7:return h;case 3:$s=-1;return $subslice(d,0,0);case 4:$s=-1;return d.set(b);case 5:case 1:d=d.make(e+1>>0);i=CQ($convertSliceType($subslice(d,0,f),DY),$convertSliceType(b,DY),$convertSliceType(c,DY));if(e>f){$s=8;continue;}$s=9;continue;case 8:j=CS($convertSliceType($subslice(d,f,e),DY),$convertSliceType($subslice(b,f),DY),i);$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;case 9:((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]=i);$s=-1;return d.norm();}return;}if($f===undefined){$f={$blk:AH.prototype.add};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.add=function(b,c){return this.$get().add(b,c);};AH.prototype.sub=function(b,c){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=b.$length;f=c.$length;if(e<f){$panic(new $String("underflow"));}else if((e===0)){$s=-1;return $subslice(d,0,0);}else if((f===0)){$s=-1;return d.set(b);}d=d.make(e);g=CR($convertSliceType($subslice(d,0,f),DY),$convertSliceType(b,DY),$convertSliceType(c,DY));if(e>f){$s=1;continue;}$s=2;continue;case 1:h=CT($convertSliceType($subslice(d,f),DY),$convertSliceType($subslice(b,f),DY),g);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;case 2:if(!((g===0))){$panic(new $String("underflow"));}$s=-1;return d.norm();}return;}if($f===undefined){$f={$blk:AH.prototype.sub};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.sub=function(b,c){return this.$get().sub(b,c);};AH.prototype.cmp=function(b){var b,c,d,e,f,g;c=0;d=this;e=d.$length;f=b.$length;if(!((e===f))||(e===0)){if(e<f){c=-1;}else if(e>f){c=1;}return c;}g=e-1>>0;while(true){if(!(g>0&&(((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g])===((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])))){break;}g=g-(1)>>0;}if(((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g])<((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])){c=-1;}else if(((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g])>((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])){c=1;}return c;};$ptrType(AH).prototype.cmp=function(b){return this.$get().cmp(b);};AH.prototype.mulAddWW=function(b,c,d){var b,c,d,e,f;e=this;f=b.$length;if((f===0)||(c===0)){return e.setWord(d);}e=e.make(f+1>>0);((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]=CW($convertSliceType($subslice(e,0,f),DY),$convertSliceType(b,DY),c,d));return e.norm();};$ptrType(AH).prototype.mulAddWW=function(b,c,d){return this.$get().mulAddWW(b,c,d);};AM=function(b,c,d){var b,c,d,e,f,g,h,i;$subslice(b,0,(c.$length+d.$length>>0)).clear();e=d;f=0;while(true){if(!(f<e.$length)){break;}g=f;h=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if(!((h===0))){(i=c.$length+g>>0,((i<0||i>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+i]=CX($convertSliceType($subslice(b,g,(g+c.$length>>0)),DY),$convertSliceType(c,DY),h)));}f++;}};AH.prototype.montgomery=function(b,c,d,e,f){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;g=this;if(!((b.$length===f))||!((c.$length===f))||!((d.$length===f))){$panic(new $String("math/big: mismatched montgomery number lengths"));}g=g.make($imul(f,2));g.clear();h=0;i=0;while(true){if(!(i<f)){break;}j=((i<0||i>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+i]);k=CX($convertSliceType($subslice(g,i,(f+i>>0)),DY),$convertSliceType(b,DY),j);l=$imul(((i<0||i>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+i]),e)>>>0;m=CX($convertSliceType($subslice(g,i,(f+i>>0)),DY),$convertSliceType(d,DY),l);n=h+k>>>0;o=n+m>>>0;(p=f+i>>0,((p<0||p>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+p]=o));if(n<k||o<m){h=1;}else{h=0;}i=i+(1)>>0;}if(!((h===0))){CR($convertSliceType($subslice(g,0,f),DY),$convertSliceType($subslice(g,f),DY),$convertSliceType(d,DY));}else{$copySlice($subslice(g,0,f),$subslice(g,f));}return $subslice(g,0,f);};$ptrType(AH).prototype.montgomery=function(b,c,d,e,f){return this.$get().montgomery(b,c,d,e,f);};AN=function(b,c,d){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=CQ($convertSliceType($subslice(b,0,d),DY),$convertSliceType(b,DY),$convertSliceType(c,DY));if(!((e===0))){$s=1;continue;}$s=2;continue;case 1:f=CS($convertSliceType($subslice(b,d,(d+(d>>1>>0)>>0)),DY),$convertSliceType($subslice(b,d),DY),e);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AN};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AO=function(b,c,d){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=CR($convertSliceType($subslice(b,0,d),DY),$convertSliceType(b,DY),$convertSliceType(c,DY));if(!((e===0))){$s=1;continue;}$s=2;continue;case 1:f=CT($convertSliceType($subslice(b,d,(d+(d>>1>>0)>>0)),DY),$convertSliceType($subslice(b,d),DY),e);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AO};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AQ=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=d.$length;if(!(((e&1)===0))||e<AP||e<2){AM(b,c,d);$s=-1;return;}f=e>>1>>0;g=$subslice(c,f);h=$subslice(c,0,f);i=g;j=h;k=$subslice(d,f);l=$subslice(d,0,f);m=k;n=l;$r=AQ(b,j,n);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=AQ($subslice(b,e),i,m);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}o=1;p=$subslice(b,($imul(2,e)),(($imul(2,e))+f>>0));if(!((CR($convertSliceType(p,DY),$convertSliceType(i,DY),$convertSliceType(j,DY))===0))){o=-o;CR($convertSliceType(p,DY),$convertSliceType(j,DY),$convertSliceType(i,DY));}q=$subslice(b,(($imul(2,e))+f>>0),($imul(3,e)));if(!((CR($convertSliceType(q,DY),$convertSliceType(n,DY),$convertSliceType(m,DY))===0))){o=-o;CR($convertSliceType(q,DY),$convertSliceType(m,DY),$convertSliceType(n,DY));}r=$subslice(b,($imul(e,3)));$r=AQ(r,p,q);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}s=$subslice(b,($imul(e,4)));$copySlice(s,$subslice(b,0,($imul(e,2))));$r=AN($subslice(b,f),s,e);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=AN($subslice(b,f),$subslice(s,e),e);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(o>0){$s=6;continue;}$s=7;continue;case 6:$r=AN($subslice(b,f),r,e);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=8;continue;case 7:$r=AO($subslice(b,f),r,e);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:$s=-1;return;}return;}if($f===undefined){$f={$blk:AQ};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};AR=function(b,c){var b,c,d,e;return b.$capacity>0&&c.$capacity>0&&(d=$subslice(b,0,b.$capacity),$indexPtr(d.$array,d.$offset+(b.$capacity-1>>0),EC))===(e=$subslice(c,0,c.$capacity),$indexPtr(e.$array,e.$offset+(c.$capacity-1>>0),EC));};AS=function(b,c,d){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=c.$length;if(e>0){$s=1;continue;}$s=2;continue;case 1:f=CQ($convertSliceType($subslice(b,d,(d+e>>0)),DY),$convertSliceType($subslice(b,d),DY),$convertSliceType(c,DY));if(!((f===0))){$s=3;continue;}$s=4;continue;case 3:g=d+e>>0;if(g<b.$length){$s=5;continue;}$s=6;continue;case 5:h=CS($convertSliceType($subslice(b,g),DY),$convertSliceType($subslice(b,g),DY),f);$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;case 6:case 4:case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AS};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AT=function(b,c){var b,c;if(b>c){return b;}return c;};AU=function(b,c){var b,c,d,e;d=0;while(true){if(!(b>c)){break;}b=(b>>$min((1),31))>>0;d=d+(1)>>>0;}return(e=d,e<32?(b<<e):0)>>0;};AH.prototype.mul=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=b.$length;f=c.$length;if(e<f){$s=2;continue;}if((e===0)||(f===0)){$s=3;continue;}if((f===1)){$s=4;continue;}$s=5;continue;case 2:g=d.mul(c,b);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=7;case 7:return h;case 3:$s=-1;return $subslice(d,0,0);case 4:$s=-1;return d.mulAddWW(b,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]),0);case 5:case 1:if(AR(d,b)||AR(d,c)){d=AH.nil;}if(f<AP){d=d.make(e+f>>0);AM(d,b,c);$s=-1;return d.norm();}i=AU(f,AP);j=$subslice(b,0,i);k=$subslice(c,0,i);d=d.make(AT($imul(6,i),e+f>>0));$r=AQ(d,j,k);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=$subslice(d,0,(e+f>>0));$subslice(d,($imul(2,i))).clear();if(i<f||!((e===f))){$s=9;continue;}$s=10;continue;case 9:l=AZ($imul(3,i));$s=11;case 11:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;n=m.$get();o=j.norm();p=$subslice(c,i);q=n.mul(o,p);$s=12;case 12:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}n=q;$r=AS(d,n,i);$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=k.norm();s=i;case 14:if(!(s<b.$length)){$s=15;continue;}t=$subslice(b,s);if(t.$length>i){t=$subslice(t,0,i);}t=t.norm();u=n.mul(t,r);$s=16;case 16:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}n=u;$r=AS(d,n,s);$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}v=n.mul(t,p);$s=18;case 18:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}n=v;$r=AS(d,n,s+i>>0);$s=19;case 19:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}s=s+(i)>>0;$s=14;continue;case 15:BA(m);case 10:$s=-1;return d.norm();}return;}if($f===undefined){$f={$blk:AH.prototype.mul};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.mul=function(b,c){return this.$get().mul(b,c);};AV=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=c.$length;e=AZ($imul(2,d));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=f.$get();g.clear();h=CP((0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]),(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]));(1>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+1]=h[0]);(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]=h[1]);i=1;while(true){if(!(i<d)){break;}j=((i<0||i>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+i]);k=CP(j,j);(l=($imul(2,i))+1>>0,((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]=k[0]));(m=$imul(2,i),((m<0||m>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+m]=k[1]));(n=$imul(2,i),((n<0||n>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+n]=CX($convertSliceType($subslice(g,i,($imul(2,i))),DY),$convertSliceType($subslice(c,0,i),DY),j)));i=i+(1)>>0;}(o=($imul(2,d))-1>>0,((o<0||o>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+o]=CU($convertSliceType($subslice(g,1,(($imul(2,d))-1>>0)),DY),$convertSliceType($subslice(g,1,(($imul(2,d))-1>>0)),DY),1)));CQ($convertSliceType(b,DY),$convertSliceType(b,DY),$convertSliceType(g,DY));BA(f);$s=-1;return;}return;}if($f===undefined){$f={$blk:AV};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};AW=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=c.$length;if(!(((d&1)===0))||d<AY||d<2){$s=1;continue;}$s=2;continue;case 1:$r=AV($subslice(b,0,($imul(2,d))),c);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 2:e=d>>1>>0;f=$subslice(c,e);g=$subslice(c,0,e);h=f;i=g;$r=AW(b,i);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=AW($subslice(b,d),h);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}j=$subslice(b,($imul(2,d)),(($imul(2,d))+e>>0));if(!((CR($convertSliceType(j,DY),$convertSliceType(h,DY),$convertSliceType(i,DY))===0))){CR($convertSliceType(j,DY),$convertSliceType(i,DY),$convertSliceType(h,DY));}k=$subslice(b,($imul(d,3)));$r=AW(k,j);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=$subslice(b,($imul(d,4)));$copySlice(l,$subslice(b,0,($imul(d,2))));$r=AN($subslice(b,e),l,d);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=AN($subslice(b,e),$subslice(l,d),d);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=AO($subslice(b,e),k,d);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AW};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AH.prototype.sqr=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=b.$length;if((d===0)){$s=-1;return $subslice(c,0,0);}else if((d===1)){e=(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]);c=c.make(2);f=CP(e,e);(1>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+1]=f[0]);(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]=f[1]);$s=-1;return c.norm();}if(AR(c,b)){c=AH.nil;}if(d<AX){c=c.make($imul(2,d));AM(c,b,b);$s=-1;return c.norm();}if(d<AY){$s=1;continue;}$s=2;continue;case 1:c=c.make($imul(2,d));$r=AV(c,b);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c.norm();case 2:g=AU(d,AY);h=$subslice(b,0,g);c=c.make(AT($imul(6,g),$imul(2,d)));$r=AW(c,h);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=$subslice(c,0,($imul(2,d)));$subslice(c,($imul(2,g))).clear();if(g<d){$s=5;continue;}$s=6;continue;case 5:i=AZ($imul(2,g));$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;k=j.$get();l=h.norm();m=$subslice(b,g);n=k.mul(l,m);$s=8;case 8:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}k=n;$r=AS(c,k,g);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=AS(c,k,g);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}o=k.sqr(m);$s=11;case 11:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}k=o;$r=AS(c,k,$imul(2,g));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}BA(j);case 6:$s=-1;return c.norm();}return;}if($f===undefined){$f={$blk:AH.prototype.sqr};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.sqr=function(b){return this.$get().sqr(b);};AH.prototype.mulRange=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if((b.$high===0&&b.$low===0)){$s=2;continue;}if((b.$high>c.$high||(b.$high===c.$high&&b.$low>c.$low))){$s=3;continue;}if((b.$high===c.$high&&b.$low===c.$low)){$s=4;continue;}if((e=new $Uint64(b.$high+0,b.$low+1),(e.$high===c.$high&&e.$low===c.$low))){$s=5;continue;}$s=6;continue;case 2:$s=-1;return d.setUint64(new $Uint64(0,0));case 3:$s=-1;return d.setUint64(new $Uint64(0,1));case 4:$s=-1;return d.setUint64(b);case 5:f=d.mul((AH.nil).setUint64(b),(AH.nil).setUint64(c));$s=7;case 7:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=8;case 8:return g;case 6:case 1:h=$div64((new $Uint64(b.$high+c.$high,b.$low+c.$low)),new $Uint64(0,2),false);i=(AH.nil).mulRange(b,h);$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;k=(AH.nil).mulRange(new $Uint64(h.$high+0,h.$low+1),c);$s=10;case 10:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;m=d.mul(j,l);$s=11;case 11:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=12;case 12:return n;}return;}if($f===undefined){$f={$blk:AH.prototype.mulRange};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.mulRange=function(b,c){return this.$get().mulRange(b,c);};AZ=function(b){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=DZ.nil;d=BB.Get();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){c=$assertType(e,DZ);}if(c===DZ.nil){c=$newDataPointer(AH.nil,DZ);}c.$set(c.make(b));$s=-1;return c;}return;}if($f===undefined){$f={$blk:AZ};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BA=function(b){var b;BB.Put(b);};AH.prototype.bitLen=function(){var b,c;b=this;c=b.$length-1>>0;if(c>=0){return($imul(c,32))+J.Len(((((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])>>>0)))>>0;}return 0;};$ptrType(AH).prototype.bitLen=function(){return this.$get().bitLen();};AH.prototype.trailingZeroBits=function(){var b,c;b=this;if(b.$length===0){return 0;}c=0;while(true){if(!(((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])===0)){break;}c=c+(1)>>>0;}return(c*32>>>0)+((J.TrailingZeros(((((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])>>>0)))>>>0))>>>0;};$ptrType(AH).prototype.trailingZeroBits=function(){return this.$get().trailingZeroBits();};BC=function(b,c){var b,c;return(b.$length===c.$length)&&b.$length>0&&$indexPtr(b.$array,b.$offset+0,EC)===$indexPtr(c.$array,c.$offset+0,EC);};AH.prototype.shl=function(b,c){var b,c,d,e,f,g,h;d=this;if(c===0){if(BC(d,b)){return d;}if(!AR(d,b)){return d.set(b);}}e=b.$length;if(e===0){return $subslice(d,0,0);}g=e+(((f=c/32,(f===f&&f!==1/0&&f!==-1/0)?f>>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;d=d.make(g+1>>0);((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]=CU($convertSliceType($subslice(d,(g-e>>0),g),DY),$convertSliceType(b,DY),(h=c%32,h===h?h:$throwRuntimeError("integer divide by zero"))));$subslice(d,0,(g-e>>0)).clear();return d.norm();};$ptrType(AH).prototype.shl=function(b,c){return this.$get().shl(b,c);};AH.prototype.shr=function(b,c){var b,c,d,e,f,g,h;d=this;if(c===0){if(BC(d,b)){return d;}if(!AR(d,b)){return d.set(b);}}e=b.$length;g=e-(((f=c/32,(f===f&&f!==1/0&&f!==-1/0)?f>>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;if(g<=0){return $subslice(d,0,0);}d=d.make(g);CV($convertSliceType(d,DY),$convertSliceType($subslice(b,(e-g>>0)),DY),(h=c%32,h===h?h:$throwRuntimeError("integer divide by zero")));return d.norm();};$ptrType(AH).prototype.shr=function(b,c){return this.$get().shr(b,c);};AH.prototype.setBit=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l;e=this;g=(((f=c/32,(f===f&&f!==1/0&&f!==-1/0)?f>>>0:$throwRuntimeError("integer divide by zero"))>>0));j=(h=((i=c%32,i===i?i:$throwRuntimeError("integer divide by zero"))),h<32?(1<<h):0)>>>0;k=b.$length;l=d;if(l===(0)){e=e.make(k);$copySlice(e,b);if(g>=k){return e;}((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g]=((((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g])&~(j))>>>0));return e.norm();}else if(l===(1)){if(g>=k){e=e.make(g+1>>0);$subslice(e,k).clear();}else{e=e.make(k);}$copySlice(e,b);((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g]=((((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g])|(j))>>>0));return e;}$panic(new $String("set bit is not 0 or 1"));};$ptrType(AH).prototype.setBit=function(b,c,d){return this.$get().setBit(b,c,d);};AH.prototype.bit=function(b){var b,c,d,e,f,g;c=this;e=(d=b/32,(d===d&&d!==1/0&&d!==-1/0)?d>>>0:$throwRuntimeError("integer divide by zero"));if(e>=((c.$length>>>0))){return 0;}return((((((f=((g=b%32,g===g?g:$throwRuntimeError("integer divide by zero"))),f<32?(((e<0||e>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+e])>>>f):0)>>>0)&1)>>>0)>>>0));};$ptrType(AH).prototype.bit=function(b){return this.$get().bit(b);};AH.prototype.sticky=function(b){var b,c,d,e,f,g,h,i,j;c=this;e=(d=b/32,(d===d&&d!==1/0&&d!==-1/0)?d>>>0:$throwRuntimeError("integer divide by zero"));if(e>=((c.$length>>>0))){if(c.$length===0){return 0;}return 1;}f=$subslice(c,0,e);g=0;while(true){if(!(g<f.$length)){break;}h=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(!((h===0))){return 1;}g++;}if(!((((i=((32-(j=b%32,j===j?j:$throwRuntimeError("integer divide by zero"))>>>0)),i<32?(((e<0||e>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+e])<<i):0)>>>0)===0))){return 1;}return 0;};$ptrType(AH).prototype.sticky=function(b){return this.$get().sticky(b);};AH.prototype.and=function(b,c){var b,c,d,e,f,g;d=this;e=b.$length;f=c.$length;if(e>f){e=f;}d=d.make(e);g=0;while(true){if(!(g<e)){break;}((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]=((((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])&((g<0||g>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+g]))>>>0));g=g+(1)>>0;}return d.norm();};$ptrType(AH).prototype.and=function(b,c){return this.$get().and(b,c);};AH.prototype.andNot=function(b,c){var b,c,d,e,f,g;d=this;e=b.$length;f=c.$length;if(f>e){f=e;}d=d.make(e);g=0;while(true){if(!(g<f)){break;}((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]=((((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g])&~((g<0||g>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+g]))>>>0));g=g+(1)>>0;}$copySlice($subslice(d,f,e),$subslice(b,f,e));return d.norm();};$ptrType(AH).prototype.andNot=function(b,c){return this.$get().andNot(b,c);};AH.prototype.or=function(b,c){var b,c,d,e,f,g,h,i,j;d=this;e=b.$length;f=c.$length;g=b;if(e<f){h=e;i=f;f=h;e=i;g=c;}d=d.make(e);j=0;while(true){if(!(j<f)){break;}((j<0||j>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+j]=((((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j])|((j<0||j>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+j]))>>>0));j=j+(1)>>0;}$copySlice($subslice(d,f,e),$subslice(g,f,e));return d.norm();};$ptrType(AH).prototype.or=function(b,c){return this.$get().or(b,c);};AH.prototype.xor=function(b,c){var b,c,d,e,f,g,h,i,j;d=this;e=b.$length;f=c.$length;g=b;if(e<f){h=e;i=f;f=h;e=i;g=c;}d=d.make(e);j=0;while(true){if(!(j<f)){break;}((j<0||j>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+j]=((((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j])^((j<0||j>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+j]))>>>0));j=j+(1)>>0;}$copySlice($subslice(d,f,e),$subslice(g,f,e));return d.norm();};$ptrType(AH).prototype.xor=function(b,c){return this.$get().xor(b,c);};AH.prototype.random=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;if(AR(e,c)){e=AH.nil;}e=e.make(c.$length);g=(((f=d%32,f===f?f:$throwRuntimeError("integer divide by zero"))>>>0));if(g===0){g=32;}i=(((((h=g,h<32?(1<<h):0)>>>0))-1>>>0));case 1:j=32;if(j===(32)){$s=4;continue;}if(j===(64)){$s=5;continue;}$s=6;continue;case 4:k=e;l=0;case 8:if(!(l<k.$length)){$s=9;continue;}m=l;n=b.Uint32();$s=10;case 10:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}((m<0||m>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+m]=((n>>>0)));l++;$s=8;continue;case 9:$s=7;continue;case 5:o=e;p=0;case 11:if(!(p<o.$length)){$s=12;continue;}q=p;r=b.Uint32();$s=13;case 13:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}((q<0||q>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+q]=((((r>>>0))|0)>>>0));p++;$s=11;continue;case 12:$s=7;continue;case 6:$panic(new $String("unknown word size"));case 7:case 3:s=c.$length-1>>0;((s<0||s>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+s]=((((s<0||s>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+s])&(i))>>>0));if(e.cmp(c)<0){$s=2;continue;}$s=1;continue;case 2:$s=-1;return e.norm();}return;}if($f===undefined){$f={$blk:AH.prototype.random};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.random=function(b,c,d){return this.$get().random(b,c,d);};AH.prototype.expNN=function(b,c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;if(AR(e,b)||AR(e,c)){e=AH.nil;}if((d.$length===1)&&((0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])===1)){$s=-1;return e.setWord(0);}if(c.$length===0){$s=-1;return e.setWord(1);}if((c.$length===1)&&((0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])===1)&&!((d.$length===0))){$s=1;continue;}$s=2;continue;case 1:g=(AH.nil).div(e,b,d);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;e=f[1];$s=-1;return e;case 2:if(!((d.$length===0))){e=e.make(d.$length);}e=e.set(b);if(b.cmp(AI)>0&&c.$length>1&&d.$length>0){$s=4;continue;}$s=5;continue;case 4:if((((0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])&1)>>>0)===1){$s=6;continue;}$s=7;continue;case 6:h=e.expNNMontgomery(b,c,d);$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=9;case 9:return i;case 7:j=e.expNNWindowed(b,c,d);$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=11;case 11:return k;case 5:m=(l=c.$length-1>>0,((l<0||l>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+l]));n=DA(m)+1>>>0;m=(o=(n),o<32?(m<<o):0)>>>0;p=AH.nil;q=32-((n>>0))>>0;r=AH.nil;s=AH.nil;t=r;u=s;v=0;case 12:if(!(v<q)){$s=13;continue;}w=t.sqr(e);$s=14;case 14:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}t=w;x=e;y=t;t=x;e=y;if(!((((m&2147483648)>>>0)===0))){$s=15;continue;}$s=16;continue;case 15:z=t.mul(e,b);$s=17;case 17:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}t=z;aa=e;ab=t;t=aa;e=ab;case 16:if(!((d.$length===0))){$s=18;continue;}$s=19;continue;case 18:ad=t.div(u,e,d);$s=20;case 20:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;t=ac[0];u=ac[1];ae=p;af=e;ag=t;ah=u;t=ae;u=af;p=ag;e=ah;case 19:m=(ai=(1),ai<32?(m<<ai):0)>>>0;v=v+(1)>>0;$s=12;continue;case 13:aj=c.$length-2>>0;case 21:if(!(aj>=0)){$s=22;continue;}m=((aj<0||aj>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+aj]);ak=0;case 23:if(!(ak<32)){$s=24;continue;}al=t.sqr(e);$s=25;case 25:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}t=al;am=e;an=t;t=am;e=an;if(!((((m&2147483648)>>>0)===0))){$s=26;continue;}$s=27;continue;case 26:ao=t.mul(e,b);$s=28;case 28:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}t=ao;ap=e;aq=t;t=ap;e=aq;case 27:if(!((d.$length===0))){$s=29;continue;}$s=30;continue;case 29:as=t.div(u,e,d);$s=31;case 31:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as;t=ar[0];u=ar[1];at=p;au=e;av=t;aw=u;t=at;u=au;p=av;e=aw;case 30:m=(ax=(1),ax<32?(m<<ax):0)>>>0;ak=ak+(1)>>0;$s=23;continue;case 24:aj=aj-(1)>>0;$s=21;continue;case 22:$s=-1;return e.norm();}return;}if($f===undefined){$f={$blk:AH.prototype.expNN};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.expNN=function(b,c,d){return this.$get().expNN(b,c,d);};AH.prototype.expNNWindowed=function(b,c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=AH.nil;g=AH.nil;h=f;i=g;j=ED.zero();j[0]=AI;j[1]=b;k=2;case 1:if(!(k<16)){$s=2;continue;}l=$indexPtr(j,(m=k/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero")),DZ);n=$indexPtr(j,k,DZ);o=$indexPtr(j,(k+1>>0),DZ);p=l;q=n;r=o;s=q.sqr(p.$get());$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}q.$set(s);u=h.div(i,q.$get(),d);$s=4;case 4:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;h=t[0];i=t[1];v=i;w=q.$get();q.$set(v);i=w;x=r.mul(q.$get(),b);$s=5;case 5:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}r.$set(x);z=h.div(i,r.$get(),d);$s=6;case 6:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;h=y[0];i=y[1];aa=i;ab=r.$get();r.$set(aa);i=ab;k=k+(2)>>0;$s=1;continue;case 2:e=e.setWord(1);ac=c.$length-1>>0;case 7:if(!(ac>=0)){$s=8;continue;}ad=((ac<0||ac>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+ac]);ae=0;case 9:if(!(ae<32)){$s=10;continue;}if(!((ac===(c.$length-1>>0)))||!((ae===0))){$s=11;continue;}$s=12;continue;case 11:af=h.sqr(e);$s=13;case 13:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}h=af;ag=e;ah=h;h=ag;e=ah;aj=h.div(i,e,d);$s=14;case 14:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;h=ai[0];i=ai[1];ak=i;al=e;e=ak;i=al;am=h.sqr(e);$s=15;case 15:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}h=am;an=e;ao=h;h=an;e=ao;aq=h.div(i,e,d);$s=16;case 16:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;h=ap[0];i=ap[1];ar=i;as=e;e=ar;i=as;at=h.sqr(e);$s=17;case 17:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}h=at;au=e;av=h;h=au;e=av;ax=h.div(i,e,d);$s=18;case 18:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}aw=ax;h=aw[0];i=aw[1];ay=i;az=e;e=ay;i=az;ba=h.sqr(e);$s=19;case 19:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}h=ba;bb=e;bc=h;h=bb;e=bc;be=h.div(i,e,d);$s=20;case 20:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}bd=be;h=bd[0];i=bd[1];bf=i;bg=e;e=bf;i=bg;case 12:bi=h.mul(e,(bh=ad>>>28>>>0,((bh<0||bh>=j.length)?($throwRuntimeError("index out of range"),undefined):j[bh])));$s=21;case 21:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}h=bi;bj=e;bk=h;h=bj;e=bk;bm=h.div(i,e,d);$s=22;case 22:if($c){$c=false;bm=bm.$blk();}if(bm&&bm.$blk!==undefined){break s;}bl=bm;h=bl[0];i=bl[1];bn=i;bo=e;e=bn;i=bo;ad=(bp=(4),bp<32?(ad<<bp):0)>>>0;ae=ae+(4)>>0;$s=9;continue;case 10:ac=ac-(1)>>0;$s=7;continue;case 8:$s=-1;return e.norm();}return;}if($f===undefined){$f={$blk:AH.prototype.expNNWindowed};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.expNNWindowed=function(b,c,d){return this.$get().expNNWindowed(b,c,d);};AH.prototype.expNNMontgomery=function(b,c,d){var aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=d.$length;if(b.$length>f){$s=1;continue;}$s=2;continue;case 1:h=(AH.nil).div(AH.nil,b,d);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;b=g[1];case 2:if(b.$length<f){i=$makeSlice(AH,f);$copySlice(i,b);b=i;}j=2-(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])>>>0;k=(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])-1>>>0;l=1;while(true){if(!(l<32)){break;}k=$imul(k,(k))>>>0;j=$imul(j,(((k+1>>>0))))>>>0;l=(m=(1),m<32?(l<<m):0)>>0;}j=-j>>>0;n=(AH.nil).setWord(1);o=(AH.nil).shl(n,((($imul(($imul(2,f)),32))>>>0)));q=(AH.nil).div(n,o,d);$s=4;case 4:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;n=p[1];if(n.$length<f){o=o.make(f);$copySlice(o,n);n=o;}r=$makeSlice(AH,f);(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0]=1);s=ED.zero();s[0]=s[0].montgomery(r,n,d,j,f);s[1]=s[1].montgomery(b,n,d,j,f);t=2;while(true){if(!(t<16)){break;}((t<0||t>=s.length)?($throwRuntimeError("index out of range"),undefined):s[t]=((t<0||t>=s.length)?($throwRuntimeError("index out of range"),undefined):s[t]).montgomery((u=t-1>>0,((u<0||u>=s.length)?($throwRuntimeError("index out of range"),undefined):s[u])),s[1],d,j,f));t=t+(1)>>0;}e=e.make(f);$copySlice(e,s[0]);o=o.make(f);v=c.$length-1>>0;while(true){if(!(v>=0)){break;}w=((v<0||v>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+v]);x=0;while(true){if(!(x<32)){break;}if(!((v===(c.$length-1>>0)))||!((x===0))){o=o.montgomery(e,e,d,j,f);e=e.montgomery(o,o,d,j,f);o=o.montgomery(e,e,d,j,f);e=e.montgomery(o,o,d,j,f);}o=o.montgomery(e,(y=w>>>28>>>0,((y<0||y>=s.length)?($throwRuntimeError("index out of range"),undefined):s[y])),d,j,f);z=o;aa=e;e=z;o=aa;w=(ab=(4),ab<32?(w<<ab):0)>>>0;x=x+(4)>>0;}v=v-(1)>>0;}o=o.montgomery(e,r,d,j,f);if(o.cmp(d)>=0){$s=5;continue;}$s=6;continue;case 5:ac=o.sub(o,d);$s=7;case 7:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}o=ac;if(o.cmp(d)>=0){$s=8;continue;}$s=9;continue;case 8:ae=(AH.nil).div(AH.nil,o,d);$s=10;case 10:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=ae;o=ad[1];case 9:case 6:$s=-1;return o.norm();}return;}if($f===undefined){$f={$blk:AH.prototype.expNNMontgomery};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.expNNMontgomery=function(b,c,d){return this.$get().expNNMontgomery(b,c,d);};AH.prototype.bytes=function(b){var b,c,d,e,f,g,h,i;c=0;d=this;c=b.$length;e=d;f=0;while(true){if(!(f<e.$length)){break;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);h=0;while(true){if(!(h<4)){break;}c=c-(1)>>0;if(c>=0){((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]=((g<<24>>>24)));}else if(!((((g<<24>>>24))===0))){$panic(new $String("math/big: buffer too small to fit value"));}g=(i=(8),i<32?(g>>>i):0)>>>0;h=h+(1)>>0;}f++;}if(c<0){c=0;}while(true){if(!(c<b.$length&&(((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])===0))){break;}c=c+(1)>>0;}return c;};$ptrType(AH).prototype.bytes=function(b){return this.$get().bytes(b);};BD=function(b){var b;if(false){}return(($clone(D.BigEndian,D.bigEndian).Uint32(b)>>>0));};AH.prototype.setBytes=function(b){var b,c,d,e,f,g,h,i,j,k;c=this;c=c.make((d=(((b.$length+4>>0)-1>>0))/4,(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero")));e=b.$length;f=0;while(true){if(!(e>=4)){break;}((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=BD($subslice(b,(e-4>>0),e)));e=e-(4)>>0;f=f+(1)>>0;}if(e>0){g=0;h=0;while(true){if(!(e>0)){break;}g=(g|(((i=h,i<32?((((j=e-1>>0,((j<0||j>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+j]))>>>0))<<i):0)>>>0)))>>>0;e=e-(1)>>0;h=h+(8)>>>0;}(k=c.$length-1>>0,((k<0||k>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+k]=g));}return c.norm();};$ptrType(AH).prototype.setBytes=function(b){return this.$get().setBytes(b);};AH.prototype.sqrt=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b.cmp(AI)<=0){$s=-1;return c.set(b);}if(AR(c,b)){c=AH.nil;}d=AH.nil;e=AH.nil;f=d;g=e;f=c;f=f.setUint64(new $Uint64(0,1));f=f.shl(f,(h=(((b.bitLen()+1>>0)>>>0))/2,(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero")));i=0;case 1:k=g.div(AH.nil,b,f);$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;g=j[0];l=g.add(g,f);$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}g=l;g=g.shr(g,1);if(g.cmp(f)>=0){if((i&1)===0){$s=-1;return f;}$s=-1;return c.set(f);}m=g;n=f;f=m;g=n;i=i+(1)>>0;$s=1;continue;case 2:$s=-1;return AH.nil;}return;}if($f===undefined){$f={$blk:AH.prototype.sqrt};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.sqrt=function(b){return this.$get().sqrt(b);};BH.ptr.prototype.GobEncode=function(){var b,c,d,e;b=this;if(b===DX.nil){return[DW.nil,$ifaceNil];}c=$makeSlice(DW,(1+($imul(b.abs.$length,4))>>0));d=b.abs.bytes(c)-1>>0;e=2;if(b.neg){e=(e|(1))>>>0;}((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=e);return[$subslice(c,d),$ifaceNil];};BH.prototype.GobEncode=function(){return this.$val.GobEncode();};BH.ptr.prototype.GobDecode=function(b){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b.$length===0){BH.copy(c,new BH.ptr(false,AH.nil));$s=-1;return $ifaceNil;}d=(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]);if(!(((d>>>1<<24>>>24)===1))){$s=1;continue;}$s=2;continue;case 1:e=F.Errorf("Int.GobDecode: encoding version %d not supported",new DT([new $Uint8((d>>>1<<24>>>24))]));$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=4;case 4:return f;case 2:c.neg=!((((d&1)>>>0)===0));c.abs=c.abs.setBytes($subslice(b,1));$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.GobDecode};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.GobDecode=function(b){return this.$val.GobDecode(b);};BH.ptr.prototype.MarshalText=function(){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=DW.nil;c=$ifaceNil;d=this;if(d===DX.nil){e=(new DW($stringToBytes("<nil>")));f=$ifaceNil;b=e;c=f;$s=-1;return[b,c];}h=d.abs.itoa(d.neg,10);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=$ifaceNil;b=g;c=i;j=[b,c];$s=2;case 2:return j;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.MarshalText};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.MarshalText=function(){return this.$val.MarshalText();};BH.ptr.prototype.UnmarshalText=function(b){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=c.setFromScanner(K.NewReader(b),0);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[1];if(!f){$s=2;continue;}$s=3;continue;case 2:g=F.Errorf("math/big: cannot unmarshal %q into a *big.Int",new DT([b]));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=5;case 5:return h;case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.UnmarshalText};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.UnmarshalText=function(b){return this.$val.UnmarshalText(b);};BH.ptr.prototype.MarshalJSON=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.MarshalText();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.MarshalJSON};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BH.ptr.prototype.UnmarshalJSON=function(b){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(($bytesToString(b))==="null"){$s=-1;return $ifaceNil;}d=c.UnmarshalText(b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.UnmarshalJSON};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.UnmarshalJSON=function(b){return this.$val.UnmarshalJSON(b);};BH.ptr.prototype.Text=function(b){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(c===DX.nil){$s=-1;return"<nil>";}d=c.abs.itoa(c.neg,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=($bytesToString(d));$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Text};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Text=function(b){return this.$val.Text(b);};BH.ptr.prototype.Append=function(b,c){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(d===DX.nil){$s=-1;return $appendSlice(b,"<nil>");}e=b;f=d.abs.itoa(d.neg,c);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;h=$appendSlice(e,g);$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Append};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Append=function(b,c){return this.$val.Append(b,c);};BH.ptr.prototype.String=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Text(10);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.String};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.String=function(){return this.$val.String();};BE=function(b,c,d){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(c.length>0){$s=1;continue;}$s=2;continue;case 1:e=(new DW($stringToBytes(c)));case 3:if(!(d>0)){$s=4;continue;}f=b.Write(e);$s=5;case 5:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;d=d-(1)>>0;$s=3;continue;case 4:case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:BE};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BH.ptr.prototype.Format=function(b,c){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=0;f=c;if(f===(98)){$s=2;continue;}if((f===(111))||(f===(79))){$s=3;continue;}if((f===(100))||(f===(115))||(f===(118))){$s=4;continue;}if((f===(120))||(f===(88))){$s=5;continue;}$s=6;continue;case 2:e=2;$s=7;continue;case 3:e=8;$s=7;continue;case 4:e=10;$s=7;continue;case 5:e=16;$s=7;continue;case 6:g=b;h=new $Int32(c);i=d.String();$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=new $String(i);k=F.Fprintf(g,"%%!%c(big.Int=%s)",new DT([h,j]));$s=9;case 9:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;$s=-1;return;case 7:case 1:if(d===DX.nil){$s=10;continue;}$s=11;continue;case 10:l=F.Fprint(b,new DT([new $String("<nil>")]));$s=12;case 12:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;$s=-1;return;case 11:m="";if(d.neg){$s=14;continue;}n=b.Flag(43);$s=18;case 18:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(n){$s=15;continue;}o=b.Flag(32);$s=19;case 19:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}if(o){$s=16;continue;}$s=17;continue;case 14:m="-";$s=17;continue;case 15:m="+";$s=17;continue;case 16:m=" ";case 17:case 13:p="";q=b.Flag(35);$s=22;case 22:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}if(q){$s=20;continue;}$s=21;continue;case 20:r=c;if(r===(98)){p="0b";}else if(r===(111)){p="0";}else if(r===(120)){p="0x";}else if(r===(88)){p="0X";}case 21:if(c===79){p="0o";}s=d.abs.utoa(e);$s=23;case 23:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;if(c===88){u=t;v=0;while(true){if(!(v<u.$length)){break;}w=v;x=((v<0||v>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+v]);if(97<=x&&x<=122){((w<0||w>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+w]=(65+((x-97<<24>>>24))<<24>>>24));}v++;}}y=0;z=0;aa=0;ac=b.Precision();$s=24;case 24:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=ab[0];ae=ab[1];if(ae){if(t.$length<ad){z=ad-t.$length>>0;}else if((t.$length===1)&&((0>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+0])===48)&&(ad===0)){$s=-1;return;}}af=((m.length+p.length>>0)+z>>0)+t.$length>>0;ah=b.Width();$s=25;case 25:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;ai=ag[0];aj=ag[1];if(aj&&af<ai){$s=26;continue;}$s=27;continue;case 26:ak=ai-af>>0;al=b.Flag(45);$s=33;case 33:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}if(al){$s=29;continue;}am=b.Flag(48);$s=34;case 34:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}if(am&&!ae){$s=30;continue;}$s=31;continue;case 29:aa=ak;$s=32;continue;case 30:z=ak;$s=32;continue;case 31:y=ak;case 32:case 28:case 27:$r=BE(b," ",y);$s=35;case 35:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=BE(b,m,1);$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=BE(b,p,1);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=BE(b,"0",z);$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}an=b.Write(t);$s=39;case 39:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}an;$r=BE(b," ",aa);$s=40;case 40:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Format};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Format=function(b,c){return this.$val.Format(b,c);};BH.ptr.prototype.scan=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=BF(b);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[DX.nil,0,h];}j=d.abs.scan(b,c,false);$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;d.abs=i[0];c=i[1];h=i[3];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[DX.nil,c,h];}d.neg=d.abs.$length>0&&g;$s=-1;return[d,c,$ifaceNil];}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.scan};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.scan=function(b,c){return this.$val.scan(b,c);};BF=function(b){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=false;d=$ifaceNil;e=0;g=b.ReadByte();$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;e=f[0];d=f[1];if(!($interfaceIsEqual(d,$ifaceNil))){h=false;i=d;c=h;d=i;$s=-1;return[c,d];}j=e;if(j===(45)){$s=3;continue;}if(j===(43)){$s=4;continue;}$s=5;continue;case 3:c=true;$s=6;continue;case 4:$s=6;continue;case 5:k=b.UnreadByte();$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;case 6:case 2:$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:BF};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BG.ptr.prototype.ReadByte=function(){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=b.ScanState.ReadRune();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];g=c[2];if(!((f===1))&&$interfaceIsEqual(g,$ifaceNil)){$s=2;continue;}$s=3;continue;case 2:h=F.Errorf("invalid rune %#U",new DT([new $Int32(e)]));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;case 3:$s=-1;return[((e<<24>>>24)),g];}return;}if($f===undefined){$f={$blk:BG.ptr.prototype.ReadByte};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BG.prototype.ReadByte=function(){return this.$val.ReadByte();};BG.ptr.prototype.UnreadByte=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.ScanState.UnreadRune();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:BG.ptr.prototype.UnreadByte};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BG.prototype.UnreadByte=function(){return this.$val.UnreadByte();};BH.ptr.prototype.Scan=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;$r=b.SkipSpace();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=0;f=c;if(f===(98)){e=2;}else if(f===(111)){e=8;}else if(f===(100)){e=10;}else if((f===(120))||(f===(88))){e=16;}else if((f===(115))||(f===(118))){}else{$s=-1;return E.New("Int.Scan: invalid verb");}i=d.scan((h=new BG.ptr(b),new h.constructor.elem(h)),e);$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}g=i;j=g[2];$s=-1;return j;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Scan};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Scan=function(b,c){return this.$val.Scan(b,c);};BH.ptr.prototype.Sign=function(){var b;b=this;if(b.abs.$length===0){return 0;}if(b.neg){return-1;}return 1;};BH.prototype.Sign=function(){return this.$val.Sign();};BH.ptr.prototype.SetInt64=function(b){var b,c,d;c=this;d=false;if((b.$high<0||(b.$high===0&&b.$low<0))){d=true;b=new $Int64(-b.$high,-b.$low);}c.abs=c.abs.setUint64((new $Uint64(b.$high,b.$low)));c.neg=d;return c;};BH.prototype.SetInt64=function(b){return this.$val.SetInt64(b);};BH.ptr.prototype.SetUint64=function(b){var b,c;c=this;c.abs=c.abs.setUint64(b);c.neg=false;return c;};BH.prototype.SetUint64=function(b){return this.$val.SetUint64(b);};BJ=function(b){var b;return new BH.ptr(false,AH.nil).SetInt64(b);};$pkg.NewInt=BJ;BH.ptr.prototype.Set=function(b){var b,c;c=this;if(!(c===b)){c.abs=c.abs.set(b.abs);c.neg=b.neg;}return c;};BH.prototype.Set=function(b){return this.$val.Set(b);};BH.ptr.prototype.Bits=function(){var b;b=this;return $convertSliceType(b.abs,DY);};BH.prototype.Bits=function(){return this.$val.Bits();};BH.ptr.prototype.SetBits=function(b){var b,c;c=this;c.abs=($convertSliceType(b,AH)).norm();c.neg=false;return c;};BH.prototype.SetBits=function(b){return this.$val.SetBits(b);};BH.ptr.prototype.Abs=function(b){var b,c;c=this;c.Set(b);c.neg=false;return c;};BH.prototype.Abs=function(b){return this.$val.Abs(b);};BH.ptr.prototype.Neg=function(b){var b,c;c=this;c.Set(b);c.neg=c.abs.$length>0&&!c.neg;return c;};BH.prototype.Neg=function(b){return this.$val.Neg(b);};BH.ptr.prototype.Add=function(b,c){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=b.neg;if(b.neg===c.neg){$s=1;continue;}$s=2;continue;case 1:f=d.abs.add(b.abs,c.abs);$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}d.abs=f;$s=3;continue;case 2:if(b.abs.cmp(c.abs)>=0){$s=5;continue;}$s=6;continue;case 5:g=d.abs.sub(b.abs,c.abs);$s=8;case 8:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}d.abs=g;$s=7;continue;case 6:e=!e;h=d.abs.sub(c.abs,b.abs);$s=9;case 9:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}d.abs=h;case 7:case 3:d.neg=d.abs.$length>0&&e;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Add};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Add=function(b,c){return this.$val.Add(b,c);};BH.ptr.prototype.Sub=function(b,c){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=b.neg;if(!(b.neg===c.neg)){$s=1;continue;}$s=2;continue;case 1:f=d.abs.add(b.abs,c.abs);$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}d.abs=f;$s=3;continue;case 2:if(b.abs.cmp(c.abs)>=0){$s=5;continue;}$s=6;continue;case 5:g=d.abs.sub(b.abs,c.abs);$s=8;case 8:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}d.abs=g;$s=7;continue;case 6:e=!e;h=d.abs.sub(c.abs,b.abs);$s=9;case 9:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}d.abs=h;case 7:case 3:d.neg=d.abs.$length>0&&e;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Sub};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Sub=function(b,c){return this.$val.Sub(b,c);};BH.ptr.prototype.Mul=function(b,c){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(b===c){$s=1;continue;}$s=2;continue;case 1:e=d.abs.sqr(b.abs);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d.abs=e;d.neg=false;$s=-1;return d;case 2:f=d.abs.mul(b.abs,c.abs);$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}d.abs=f;d.neg=d.abs.$length>0&&!(b.neg===c.neg);$s=-1;return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Mul};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Mul=function(b,c){return this.$val.Mul(b,c);};BH.ptr.prototype.MulRange=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if((b.$high>c.$high||(b.$high===c.$high&&b.$low>c.$low))){$s=-1;return d.SetInt64(new $Int64(0,1));}else if((b.$high<0||(b.$high===0&&b.$low<=0))&&(c.$high>0||(c.$high===0&&c.$low>=0))){$s=-1;return d.SetInt64(new $Int64(0,0));}e=false;if((b.$high<0||(b.$high===0&&b.$low<0))){e=(f=(g=new $Int64(c.$high-b.$high,c.$low-b.$low),new $Int64(g.$high&0,(g.$low&1)>>>0)),(f.$high===0&&f.$low===0));h=new $Int64(-c.$high,-c.$low);i=new $Int64(-b.$high,-b.$low);b=h;c=i;}j=d.abs.mulRange((new $Uint64(b.$high,b.$low)),(new $Uint64(c.$high,c.$low)));$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}d.abs=j;d.neg=e;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.MulRange};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.MulRange=function(b,c){return this.$val.MulRange(b,c);};BH.ptr.prototype.Binomial=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=this;if((g=$div64(b,new $Int64(0,2),false),(g.$high<c.$high||(g.$high===c.$high&&g.$low<c.$low)))&&(c.$high<b.$high||(c.$high===b.$high&&c.$low<=b.$low))){c=new $Int64(b.$high-c.$high,b.$low-c.$low);}h=new BH.ptr(false,AH.nil);i=new BH.ptr(false,AH.nil);d[0]=$clone(h,BH);e[0]=$clone(i,BH);k=d[0].MulRange((j=new $Int64(b.$high-c.$high,b.$low-c.$low),new $Int64(j.$high+0,j.$low+1)),b);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;l=e[0].MulRange(new $Int64(0,1),c);$s=2;case 2:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;m=f.Quo(d[0],e[0]);$s=3;case 3:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=4;case 4:return n;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Binomial};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Binomial=function(b,c){return this.$val.Binomial(b,c);};BH.ptr.prototype.Quo=function(b,c){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=d.abs.div(AH.nil,b.abs,c.abs);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;d.abs=e[0];d.neg=d.abs.$length>0&&!(b.neg===c.neg);$s=-1;return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Quo};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Quo=function(b,c){return this.$val.Quo(b,c);};BH.ptr.prototype.Rem=function(b,c){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=(AH.nil).div(d.abs,b.abs,c.abs);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;d.abs=e[1];d.neg=d.abs.$length>0&&b.neg;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Rem};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Rem=function(b,c){return this.$val.Rem(b,c);};BH.ptr.prototype.QuoRem=function(b,c,d){var b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;g=e.abs.div(d.abs,b.abs,c.abs);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;e.abs=f[0];d.abs=f[1];h=e.abs.$length>0&&!(b.neg===c.neg);i=d.abs.$length>0&&b.neg;e.neg=h;d.neg=i;$s=-1;return[e,d];}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.QuoRem};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.QuoRem=function(b,c,d){return this.$val.QuoRem(b,c,d);};BH.ptr.prototype.Div=function(b,c){var b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=this;f=c.neg;d[0]=new BH.ptr(false,AH.nil);g=e.QuoRem(b,c,d[0]);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;if(d[0].neg){$s=2;continue;}$s=3;continue;case 2:if(f){$s=4;continue;}$s=5;continue;case 4:h=e.Add(e,BI);$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;$s=6;continue;case 5:i=e.Sub(e,BI);$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;case 6:case 3:$s=-1;return e;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Div};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Div=function(b,c){return this.$val.Div(b,c);};BH.ptr.prototype.Mod=function(b,c){var b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=c;if(d===c||AR(d.abs,c.abs)){e=new BH.ptr(false,AH.nil).Set(c);}f=new BH.ptr(false,AH.nil);g=f.QuoRem(b,c,d);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;if(d.neg){$s=2;continue;}$s=3;continue;case 2:if(e.neg){$s=4;continue;}$s=5;continue;case 4:h=d.Sub(d,e);$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;$s=6;continue;case 5:i=d.Add(d,e);$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;case 6:case 3:$s=-1;return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Mod};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Mod=function(b,c){return this.$val.Mod(b,c);};BH.ptr.prototype.DivMod=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=c;if(e===c||AR(e.abs,c.abs)){f=new BH.ptr(false,AH.nil).Set(c);}g=e.QuoRem(b,c,d);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;if(d.neg){$s=2;continue;}$s=3;continue;case 2:if(f.neg){$s=4;continue;}$s=5;continue;case 4:h=e.Add(e,BI);$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;i=d.Sub(d,f);$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;$s=6;continue;case 5:j=e.Sub(e,BI);$s=9;case 9:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;k=d.Add(d,f);$s=10;case 10:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;case 6:case 3:$s=-1;return[e,d];}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.DivMod};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.DivMod=function(b,c,d){return this.$val.DivMod(b,c,d);};BH.ptr.prototype.Cmp=function(b){var b,c,d;c=0;d=this;if(d===b){}else if(d.neg===b.neg){c=d.abs.cmp(b.abs);if(d.neg){c=-c;}}else if(d.neg){c=-1;}else{c=1;}return c;};BH.prototype.Cmp=function(b){return this.$val.Cmp(b);};BH.ptr.prototype.CmpAbs=function(b){var b,c;c=this;return c.abs.cmp(b.abs);};BH.prototype.CmpAbs=function(b){return this.$val.CmpAbs(b);};BK=function(b){var b;if(b.$length===0){return 0;}return(((0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])>>>0));};BL=function(b){var b,c,d,e,f;if(b.$length===0){return new $Uint64(0,0);}d=((c=(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]),new $Uint64(0,c.constructor===Number?c:1)));if( true&&b.$length>1){return(e=$shiftLeft64(((f=(1>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+1]),new $Uint64(0,f.constructor===Number?f:1))),32),new $Uint64(e.$high|d.$high,(e.$low|d.$low)>>>0));}return d;};BH.ptr.prototype.Int64=function(){var b,c,d;b=this;d=((c=BL(b.abs),new $Int64(c.$high,c.$low)));if(b.neg){d=new $Int64(-d.$high,-d.$low);}return d;};BH.prototype.Int64=function(){return this.$val.Int64();};BH.ptr.prototype.Uint64=function(){var b;b=this;return BL(b.abs);};BH.prototype.Uint64=function(){return this.$val.Uint64();};BH.ptr.prototype.IsInt64=function(){var b,c,d,e;b=this;if(b.abs.$length<=2){d=((c=BL(b.abs),new $Int64(c.$high,c.$low)));return(d.$high>0||(d.$high===0&&d.$low>=0))||b.neg&&(e=new $Int64(-d.$high,-d.$low),(d.$high===e.$high&&d.$low===e.$low));}return false;};BH.prototype.IsInt64=function(){return this.$val.IsInt64();};BH.ptr.prototype.IsUint64=function(){var b;b=this;return!b.neg&&b.abs.$length<=2;};BH.prototype.IsUint64=function(){return this.$val.IsUint64();};BH.ptr.prototype.SetString=function(b,c){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.setFromScanner(H.NewReader(b),c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.SetString};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.SetString=function(b,c){return this.$val.SetString(b,c);};BH.ptr.prototype.setFromScanner=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=d.scan(b,c);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[2];if(!($interfaceIsEqual(g,$ifaceNil))){$s=-1;return[DX.nil,false];}i=b.ReadByte();$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=h[1];if(!($interfaceIsEqual(j,G.EOF))){$s=-1;return[DX.nil,false];}$s=-1;return[d,true];}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.setFromScanner};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.setFromScanner=function(b,c){return this.$val.setFromScanner(b,c);};BH.ptr.prototype.SetBytes=function(b){var b,c;c=this;c.abs=c.abs.setBytes(b);c.neg=false;return c;};BH.prototype.SetBytes=function(b){return this.$val.SetBytes(b);};BH.ptr.prototype.Bytes=function(){var b,c;b=this;c=$makeSlice(DW,($imul(b.abs.$length,4)));return $subslice(c,b.abs.bytes(c));};BH.prototype.Bytes=function(){return this.$val.Bytes();};BH.ptr.prototype.FillBytes=function(b){var b,c,d,e,f;c=this;d=b;e=0;while(true){if(!(e<d.$length)){break;}f=e;((f<0||f>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+f]=0);e++;}c.abs.bytes(b);return b;};BH.prototype.FillBytes=function(b){return this.$val.FillBytes(b);};BH.ptr.prototype.BitLen=function(){var b;b=this;return b.abs.bitLen();};BH.prototype.BitLen=function(){return this.$val.BitLen();};BH.ptr.prototype.TrailingZeroBits=function(){var b;b=this;return b.abs.trailingZeroBits();};BH.prototype.TrailingZeroBits=function(){return this.$val.TrailingZeroBits();};BH.ptr.prototype.Exp=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=b.abs;if(c.neg){$s=1;continue;}$s=2;continue;case 1:if(d===DX.nil||(d.abs.$length===0)){$s=-1;return e.SetInt64(new $Int64(0,1));}g=new BH.ptr(false,AH.nil).ModInverse(b,d);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(h===DX.nil){$s=-1;return DX.nil;}f=h.abs;case 2:i=c.abs;j=AH.nil;if(!(d===DX.nil)){j=d.abs;}k=e.abs.expNN(f,i,j);$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}e.abs=k;e.neg=e.abs.$length>0&&b.neg&&i.$length>0&&((((0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0])&1)>>>0)===1);if(e.neg&&j.$length>0){$s=5;continue;}$s=6;continue;case 5:l=e.abs.sub(j,e.abs);$s=7;case 7:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}e.abs=l;e.neg=false;case 6:$s=-1;return e;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Exp};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Exp=function(b,c,d){return this.$val.Exp(b,c,d);};BH.ptr.prototype.GCD=function(b,c,d,e){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;if((d.abs.$length===0)||(e.abs.$length===0)){g=d.abs.$length;h=e.abs.$length;i=d.neg;j=e.neg;k=g;l=h;m=i;n=j;if(k===0){f.Set(e);}else{f.Set(d);}f.neg=false;if(!(b===DX.nil)){if(k===0){b.SetUint64(new $Uint64(0,0));}else{b.SetUint64(new $Uint64(0,1));b.neg=m;}}if(!(c===DX.nil)){if(l===0){c.SetUint64(new $Uint64(0,0));}else{c.SetUint64(new $Uint64(0,1));c.neg=n;}}$s=-1;return f;}o=f.lehmerGCD(b,c,d,e);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;$s=2;case 2:return p;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.GCD};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.GCD=function(b,c,d,e){return this.$val.GCD(b,c,d,e);};BM=function(b,c){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;d=0;e=0;f=0;g=0;h=false;i=0;j=0;k=0;l=0;m=i;n=j;o=k;p=l;q=c.abs.$length;r=b.abs.$length;u=DA((s=b.abs,t=r-1>>0,((t<0||t>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+t])));m=(((v=u,v<32?((w=b.abs,x=r-1>>0,((x<0||x>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+x]))<<v):0)>>>0)|((y=((32-u>>>0)),y<32?((z=b.abs,aa=r-2>>0,((aa<0||aa>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+aa]))>>>y):0)>>>0))>>>0;if((r===q)){n=(((ab=u,ab<32?((ac=c.abs,ad=r-1>>0,((ad<0||ad>=ac.$length)?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+ad]))<<ab):0)>>>0)|((ae=((32-u>>>0)),ae<32?((af=c.abs,ag=r-2>>0,((ag<0||ag>=af.$length)?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+ag]))>>>ae):0)>>>0))>>>0;}else if((r===(q+1>>0))){n=(ah=((32-u>>>0)),ah<32?((ai=c.abs,aj=r-2>>0,((aj<0||aj>=ai.$length)?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+aj]))>>>ah):0)>>>0;}else{n=0;}h=false;ak=0;al=1;am=0;d=ak;e=al;o=am;an=0;ao=0;ap=1;f=an;g=ao;p=ap;while(true){if(!(n>=p&&(m-n>>>0)>=(g+p>>>0))){break;}aq=(ar=m/n,(ar===ar&&ar!==1/0&&ar!==-1/0)?ar>>>0:$throwRuntimeError("integer divide by zero"));as=(at=m%n,at===at?at:$throwRuntimeError("integer divide by zero"));au=aq;av=as;aw=n;ax=av;m=aw;n=ax;ay=e;az=o;ba=e+($imul(au,o)>>>0)>>>0;d=ay;e=az;o=ba;bb=g;bc=p;bd=g+($imul(au,p)>>>0)>>>0;f=bb;g=bc;p=bd;h=!h;}return[d,e,f,g,h];};BN=function(b,c,d,e,f,g,h,i,j,k,l){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g.abs=g.abs.setWord(h);f.abs=f.abs.setWord(j);g.neg=!l;f.neg=l;m=g.Mul(b,g);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;n=f.Mul(c,f);$s=2;case 2:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n;e.abs=e.abs.setWord(i);d.abs=d.abs.setWord(k);e.neg=l;d.neg=!l;o=e.Mul(b,e);$s=3;case 3:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;p=d.Mul(c,d);$s=4;case 4:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;q=b.Add(g,f);$s=5;case 5:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;r=c.Add(e,d);$s=6;case 6:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;$s=-1;return;}return;}if($f===undefined){$f={$blk:BN};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};BO=function(b,c,d,e,f,g,h,i,j){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=f.QuoRem(b,c,g);$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;f=k[0];g=k[1];m=$clone(c,BH);n=$clone(g,BH);o=$clone(b,BH);BH.copy(b,m);BH.copy(c,n);BH.copy(g,o);if(j){$s=2;continue;}$s=3;continue;case 2:i.Set(e);p=h.Mul(e,f);$s=4;case 4:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;q=e.Sub(d,h);$s=5;case 5:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;d.Set(i);case 3:$s=-1;return;}return;}if($f===undefined){$f={$blk:BO};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};BH.ptr.prototype.lehmerGCD=function(b,c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;g=DX.nil;h=DX.nil;i=DX.nil;j=DX.nil;k=g;l=h;m=i;n=j;k=new BH.ptr(false,AH.nil).Abs(d);l=new BH.ptr(false,AH.nil).Abs(e);o=!(b===DX.nil)||!(c===DX.nil);if(o){m=new BH.ptr(false,AH.nil).SetInt64(new $Int64(0,1));n=new BH.ptr(false,AH.nil);}p=new BH.ptr(false,AH.nil);q=new BH.ptr(false,AH.nil);r=new BH.ptr(false,AH.nil);s=new BH.ptr(false,AH.nil);if(k.abs.cmp(l.abs)<0){t=l;u=k;k=t;l=u;v=m;w=n;n=v;m=w;}case 1:if(!(l.abs.$length>1)){$s=2;continue;}x=BM(k,l);y=x[0];z=x[1];aa=x[2];ab=x[3];ac=x[4];if(!((aa===0))){$s=3;continue;}$s=4;continue;case 3:$r=BN(k,l,p,q,r,s,y,z,aa,ab,ac);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(o){$s=7;continue;}$s=8;continue;case 7:$r=BN(m,n,p,q,r,s,y,z,aa,ab,ac);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:$s=5;continue;case 4:$r=BO(k,l,m,n,p,q,r,s,o);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:$s=1;continue;case 2:if(l.abs.$length>0){$s=11;continue;}$s=12;continue;case 11:if(k.abs.$length>1){$s=13;continue;}$s=14;continue;case 13:$r=BO(k,l,m,n,p,q,r,s,o);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 14:if(l.abs.$length>0){$s=16;continue;}$s=17;continue;case 16:ad=(ae=k.abs,(0>=ae.$length?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+0]));af=(ag=l.abs,(0>=ag.$length?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+0]));ah=ad;ai=af;if(o){$s=18;continue;}$s=19;continue;case 18:aj=0;ak=0;al=0;am=0;an=aj;ao=ak;ap=al;aq=am;ar=1;as=0;an=ar;ao=as;at=0;au=1;ap=at;aq=au;av=true;while(true){if(!(!((ai===0)))){break;}aw=(ax=ah/ai,(ax===ax&&ax!==1/0&&ax!==-1/0)?ax>>>0:$throwRuntimeError("integer divide by zero"));ay=(az=ah%ai,az===az?az:$throwRuntimeError("integer divide by zero"));ba=aw;bb=ay;bc=ai;bd=bb;ah=bc;ai=bd;be=ao;bf=an+($imul(ba,ao)>>>0)>>>0;an=be;ao=bf;bg=aq;bh=ap+($imul(ba,aq)>>>0)>>>0;ap=bg;aq=bh;av=!av;}s.abs=s.abs.setWord(an);r.abs=r.abs.setWord(ap);s.neg=!av;r.neg=av;bi=s.Mul(m,s);$s=21;case 21:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}bi;bj=r.Mul(n,r);$s=22;case 22:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}bj;bk=m.Add(s,r);$s=23;case 23:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}bk;$s=20;continue;case 19:while(true){if(!(!((ai===0)))){break;}bl=ai;bm=(bn=ah%ai,bn===bn?bn:$throwRuntimeError("integer divide by zero"));ah=bl;ai=bm;}case 20:(bo=k.abs,(0>=bo.$length?($throwRuntimeError("index out of range"),undefined):bo.$array[bo.$offset+0]=ah));case 17:case 12:bp=d.neg;if(!(c===DX.nil)){$s=24;continue;}$s=25;continue;case 24:if(c===e){l.Set(e);}else{l=e;}bq=c.Mul(d,m);$s=26;case 26:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}bq;if(bp){c.neg=!c.neg;}br=c.Sub(k,c);$s=27;case 27:if($c){$c=false;br=br.$blk();}if(br&&br.$blk!==undefined){break s;}br;bs=c.Div(c,l);$s=28;case 28:if($c){$c=false;bs=bs.$blk();}if(bs&&bs.$blk!==undefined){break s;}bs;case 25:if(!(b===DX.nil)){BH.copy(b,m);if(bp){b.neg=!b.neg;}}BH.copy(f,k);$s=-1;return f;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.lehmerGCD};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.lehmerGCD=function(b,c,d,e){return this.$val.lehmerGCD(b,c,d,e);};BH.ptr.prototype.Rand=function(b,c){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;d.neg=false;if(c.neg||(c.abs.$length===0)){d.abs=AH.nil;$s=-1;return d;}e=d.abs.random(b,c.abs,c.abs.bitLen());$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d.abs=e;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Rand};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Rand=function(b,c){return this.$val.Rand(b,c);};BH.ptr.prototype.ModInverse=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=this;if(c.neg){f=new BH.ptr(false,AH.nil);c=f.Neg(c);}if(b.neg){$s=1;continue;}$s=2;continue;case 1:g=new BH.ptr(false,AH.nil);h=g.Mod(b,c);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}b=h;case 2:i=new BH.ptr(false,AH.nil);j=new BH.ptr(false,AH.nil);k=$clone(i,BH);d[0]=$clone(j,BH);l=k.GCD(d[0],DX.nil,b,c);$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;if(!((k.Cmp(BI)===0))){$s=-1;return DX.nil;}if(d[0].neg){$s=5;continue;}$s=6;continue;case 5:m=e.Add(d[0],c);$s=8;case 8:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;$s=7;continue;case 6:e.Set(d[0]);case 7:$s=-1;return e;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.ModInverse};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.ModInverse=function(b,c){return this.$val.ModInverse(b,c);};BP=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=[f];if((c.abs.$length===0)||((((g=c.abs,(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]))&1)>>>0)===0)){$s=1;continue;}$s=2;continue;case 1:h=F.Sprintf("big: invalid 2nd argument to Int.Jacobi: need odd integer but got %s",new DT([c]));$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$panic(new $String(h));case 2:i=new BH.ptr(false,AH.nil);j=new BH.ptr(false,AH.nil);k=new BH.ptr(false,AH.nil);d[0]=$clone(i,BH);e[0]=$clone(j,BH);f[0]=$clone(k,BH);d[0].Set(b);e[0].Set(c);l=1;if(e[0].neg){if(d[0].neg){l=-1;}e[0].neg=false;}case 4:if(e[0].Cmp(BI)===0){$s=-1;return l;}if(d[0].abs.$length===0){$s=-1;return 0;}m=d[0].Mod(d[0],e[0]);$s=6;case 6:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;if(d[0].abs.$length===0){$s=-1;return 0;}n=d[0].abs.trailingZeroBits();if(!((((n&1)>>>0)===0))){p=((o=e[0].abs,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0]))&7)>>>0;if((p===3)||(p===5)){l=-l;}}q=f[0].Rsh(d[0],n);$s=7;case 7:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;if(((((r=e[0].abs,(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0]))&3)>>>0)===3)&&((((s=f[0].abs,(0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0]))&3)>>>0)===3)){l=-l;}d[0].Set(e[0]);e[0].Set(f[0]);$s=4;continue;case 5:$s=-1;return 0;}return;}if($f===undefined){$f={$blk:BP};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Jacobi=BP;BH.ptr.prototype.modSqrt3Mod4Prime=function(b,c){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=new BH.ptr(false,AH.nil).Add(c,BI);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=f.Rsh(f,2);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;h=d.Exp(b,f,c);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.modSqrt3Mod4Prime};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.modSqrt3Mod4Prime=function(b,c){return this.$val.modSqrt3Mod4Prime(b,c);};BH.ptr.prototype.modSqrt5Mod8Prime=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=new BH.ptr(false,AH.nil).Rsh(c,3);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=new BH.ptr(false,AH.nil).Lsh(b,1);h=new BH.ptr(false,AH.nil).Exp(g,f,c);$s=2;case 2:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;j=new BH.ptr(false,AH.nil).Mul(i,i);$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;l=k.Mod(k,c);$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;m=k.Mul(k,g);$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;n=k.Mod(k,c);$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n;o=k.Sub(k,BI);$s=7;case 7:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;p=k.Mul(k,b);$s=8;case 8:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;q=k.Mod(k,c);$s=9;case 9:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;r=k.Mul(k,i);$s=10;case 10:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;s=d.Mod(k,c);$s=11;case 11:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}s;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.modSqrt5Mod8Prime};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.modSqrt5Mod8Prime=function(b,c){return this.$val.modSqrt5Mod8Prime(b,c);};BH.ptr.prototype.modSqrtTonelliShanks=function(b,c){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=[f];g=[g];h=[h];i=[i];j=this;g[0]=new BH.ptr(false,AH.nil);k=g[0].Sub(c,BI);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;l=g[0].abs.trailingZeroBits();m=g[0].Rsh(g[0],l);$s=2;case 2:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;f[0]=new BH.ptr(false,AH.nil);f[0].SetInt64(new $Int64(0,2));case 3:n=BP(f[0],c);$s=5;case 5:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(!(!((n===-1)))){$s=4;continue;}o=f[0].Add(f[0],BI);$s=6;case 6:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;$s=3;continue;case 4:p=new BH.ptr(false,AH.nil);q=new BH.ptr(false,AH.nil);r=new BH.ptr(false,AH.nil);s=new BH.ptr(false,AH.nil);i[0]=$clone(p,BH);d[0]=$clone(q,BH);e[0]=$clone(r,BH);h[0]=$clone(s,BH);t=i[0].Add(g[0],BI);$s=7;case 7:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}t;u=i[0].Rsh(i[0],1);$s=8;case 8:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}u;v=i[0].Exp(b,i[0],c);$s=9;case 9:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}v;w=d[0].Exp(b,g[0],c);$s=10;case 10:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}w;x=e[0].Exp(f[0],g[0],c);$s=11;case 11:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;y=l;case 12:z=0;h[0].Set(d[0]);case 14:if(!(!((h[0].Cmp(BI)===0)))){$s=15;continue;}aa=h[0].Mul(h[0],h[0]);$s=16;case 16:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa.Mod(h[0],c);$s=17;case 17:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ab;z=z+(1)>>>0;$s=14;continue;case 15:if(z===0){$s=-1;return j.Set(i[0]);}ac=h[0].SetInt64(new $Int64(0,0)).SetBit(h[0],((((y-z>>>0)-1>>>0)>>0)),1);$s=18;case 18:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac.Exp(e[0],h[0],c);$s=19;case 19:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ad;ae=e[0].Mul(h[0],h[0]);$s=20;case 20:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=ae.Mod(e[0],c);$s=21;case 21:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}af;ag=i[0].Mul(i[0],h[0]);$s=22;case 22:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=ag.Mod(i[0],c);$s=23;case 23:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ah;ai=d[0].Mul(d[0],e[0]);$s=24;case 24:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=ai.Mod(d[0],c);$s=25;case 25:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}aj;y=z;$s=12;continue;case 13:$s=-1;return DX.nil;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.modSqrtTonelliShanks};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.modSqrtTonelliShanks=function(b,c){return this.$val.modSqrtTonelliShanks(b,c);};BH.ptr.prototype.ModSqrt=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=BP(b,c);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(f===(-1)){$s=-1;return DX.nil;}else if(f===(0)){$s=-1;return d.SetInt64(new $Int64(0,0));}else if(f===(1)){$s=1;continue;}case 1:if(b.neg||b.Cmp(c)>=0){$s=3;continue;}$s=4;continue;case 3:g=new BH.ptr(false,AH.nil).Mod(b,c);$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}b=g;case 4:if(((h=(i=c.abs,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]))%4,h===h?h:$throwRuntimeError("integer divide by zero"))===3)){$s=7;continue;}if(((j=(k=c.abs,(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0]))%8,j===j?j:$throwRuntimeError("integer divide by zero"))===5)){$s=8;continue;}$s=9;continue;case 7:l=d.modSqrt3Mod4Prime(b,c);$s=11;case 11:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=12;case 12:return m;case 8:n=d.modSqrt5Mod8Prime(b,c);$s=13;case 13:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;$s=14;case 14:return o;case 9:p=d.modSqrtTonelliShanks(b,c);$s=15;case 15:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;$s=16;case 16:return q;case 10:case 6:$s=-1;return DX.nil;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.ModSqrt};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.ModSqrt=function(b,c){return this.$val.ModSqrt(b,c);};BH.ptr.prototype.Lsh=function(b,c){var b,c,d;d=this;d.abs=d.abs.shl(b.abs,c);d.neg=b.neg;return d;};BH.prototype.Lsh=function(b,c){return this.$val.Lsh(b,c);};BH.ptr.prototype.Rsh=function(b,c){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(b.neg){$s=1;continue;}$s=2;continue;case 1:e=d.abs.sub(b.abs,AI);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;f=f.shr(f,c);g=f.add(f,AI);$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}d.abs=g;d.neg=true;$s=-1;return d;case 2:d.abs=d.abs.shr(b.abs,c);d.neg=false;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Rsh};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Rsh=function(b,c){return this.$val.Rsh(b,c);};BH.ptr.prototype.Bit=function(b){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b===0){if(c.abs.$length>0){$s=-1;return(((((d=c.abs,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]))&1)>>>0)>>>0));}$s=-1;return 0;}if(b<0){$panic(new $String("negative bit index"));}if(c.neg){$s=1;continue;}$s=2;continue;case 1:e=(AH.nil).sub(c.abs,AI);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=-1;return(f.bit(((b>>>0)))^1)>>>0;case 2:$s=-1;return c.abs.bit(((b>>>0)));}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Bit};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Bit=function(b){return this.$val.Bit(b);};BH.ptr.prototype.SetBit=function(b,c,d){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;if(c<0){$panic(new $String("negative bit index"));}if(b.neg){$s=1;continue;}$s=2;continue;case 1:f=e.abs.sub(b.abs,AI);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;g=g.setBit(g,((c>>>0)),(d^1)>>>0);h=g.add(g,AI);$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}e.abs=h;e.neg=e.abs.$length>0;$s=-1;return e;case 2:e.abs=e.abs.setBit(b.abs,((c>>>0)),d);e.neg=false;$s=-1;return e;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.SetBit};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.SetBit=function(b,c,d){return this.$val.SetBit(b,c,d);};BH.ptr.prototype.And=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(b.neg===c.neg){$s=1;continue;}$s=2;continue;case 1:if(b.neg){$s=3;continue;}$s=4;continue;case 3:e=(AH.nil).sub(b.abs,AI);$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=(AH.nil).sub(c.abs,AI);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=d.abs.add(d.abs.or(f,h),AI);$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}d.abs=i;d.neg=true;$s=-1;return d;case 4:d.abs=d.abs.and(b.abs,c.abs);d.neg=false;$s=-1;return d;case 2:if(b.neg){j=c;k=b;b=j;c=k;}l=(AH.nil).sub(c.abs,AI);$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;d.abs=d.abs.andNot(b.abs,m);d.neg=false;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.And};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.And=function(b,c){return this.$val.And(b,c);};BH.ptr.prototype.AndNot=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(b.neg===c.neg){$s=1;continue;}$s=2;continue;case 1:if(b.neg){$s=3;continue;}$s=4;continue;case 3:e=(AH.nil).sub(b.abs,AI);$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=(AH.nil).sub(c.abs,AI);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;d.abs=d.abs.andNot(h,f);d.neg=false;$s=-1;return d;case 4:d.abs=d.abs.andNot(b.abs,c.abs);d.neg=false;$s=-1;return d;case 2:if(b.neg){$s=7;continue;}$s=8;continue;case 7:i=(AH.nil).sub(b.abs,AI);$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;k=d.abs.add(d.abs.or(j,c.abs),AI);$s=10;case 10:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}d.abs=k;d.neg=true;$s=-1;return d;case 8:l=(AH.nil).sub(c.abs,AI);$s=11;case 11:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;d.abs=d.abs.and(b.abs,m);d.neg=false;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.AndNot};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.AndNot=function(b,c){return this.$val.AndNot(b,c);};BH.ptr.prototype.Or=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(b.neg===c.neg){$s=1;continue;}$s=2;continue;case 1:if(b.neg){$s=3;continue;}$s=4;continue;case 3:e=(AH.nil).sub(b.abs,AI);$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=(AH.nil).sub(c.abs,AI);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=d.abs.add(d.abs.and(f,h),AI);$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}d.abs=i;d.neg=true;$s=-1;return d;case 4:d.abs=d.abs.or(b.abs,c.abs);d.neg=false;$s=-1;return d;case 2:if(b.neg){j=c;k=b;b=j;c=k;}l=(AH.nil).sub(c.abs,AI);$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;n=d.abs.add(d.abs.andNot(m,b.abs),AI);$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}d.abs=n;d.neg=true;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Or};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Or=function(b,c){return this.$val.Or(b,c);};BH.ptr.prototype.Xor=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(b.neg===c.neg){$s=1;continue;}$s=2;continue;case 1:if(b.neg){$s=3;continue;}$s=4;continue;case 3:e=(AH.nil).sub(b.abs,AI);$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=(AH.nil).sub(c.abs,AI);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;d.abs=d.abs.xor(f,h);d.neg=false;$s=-1;return d;case 4:d.abs=d.abs.xor(b.abs,c.abs);d.neg=false;$s=-1;return d;case 2:if(b.neg){i=c;j=b;b=i;c=j;}k=(AH.nil).sub(c.abs,AI);$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;m=d.abs.add(d.abs.xor(b.abs,l),AI);$s=8;case 8:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}d.abs=m;d.neg=true;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Xor};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Xor=function(b,c){return this.$val.Xor(b,c);};BH.ptr.prototype.Not=function(b){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b.neg){$s=1;continue;}$s=2;continue;case 1:d=c.abs.sub(b.abs,AI);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c.abs=d;c.neg=false;$s=-1;return c;case 2:e=c.abs.add(b.abs,AI);$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}c.abs=e;c.neg=true;$s=-1;return c;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Not};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Not=function(b){return this.$val.Not(b);};BH.ptr.prototype.Sqrt=function(b){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b.neg){$panic(new $String("square root of negative number"));}c.neg=false;d=c.abs.sqrt(b.abs);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c.abs=d;$s=-1;return c;}return;}if($f===undefined){$f={$blk:BH.ptr.prototype.Sqrt};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BH.prototype.Sqrt=function(b){return this.$val.Sqrt(b);};BY.ptr.prototype.Text=function(b,c){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=10;if(c>0){e=e+(c)>>0;}f=d.Append($makeSlice(DW,0,e),b,c);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=($bytesToString(f));$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Text};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Text=function(b,c){return this.$val.Text(b,c);};BY.ptr.prototype.String=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Text(103,10);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.String};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.String=function(){return this.$val.String();};BY.ptr.prototype.Append=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=[e];f=this;if(f.neg){b=$append(b,45);}if(f.form===2){if(!f.neg){b=$append(b,43);}$s=-1;return $appendSlice(b,"Inf");}g=c;if(g===(98)){$s=2;continue;}if(g===(112)){$s=3;continue;}if(g===(120)){$s=4;continue;}$s=5;continue;case 2:h=f.fmtB(b);$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=7;case 7:return i;case 3:j=f.fmtP(b);$s=8;case 8:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=9;case 9:return k;case 4:l=f.fmtX(b,d);$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=11;case 11:return m;case 5:case 1:e[0]=new CK.ptr(DW.nil,0);if(f.form===1){$s=12;continue;}$s=13;continue;case 12:$r=e[0].init(f.mant,((f.exp>>0))-f.mant.bitLen()>>0);$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 13:n=false;if(d<0){$s=15;continue;}$s=16;continue;case 15:n=true;$r=BR(e[0],f);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}o=c;if((o===(101))||(o===(69))){d=e[0].mant.$length-1>>0;}else if(o===(102)){d=AT(e[0].mant.$length-e[0].exp>>0,0);}else if((o===(103))||(o===(71))){d=e[0].mant.$length;}$s=17;continue;case 16:p=c;if((p===(101))||(p===(69))){e[0].round(1+d>>0);}else if(p===(102)){e[0].round(e[0].exp+d>>0);}else if((p===(103))||(p===(71))){if(d===0){d=1;}e[0].round(d);}case 17:q=c;if((q===(101))||(q===(69))){$s=-1;return BS(b,c,d,$clone(e[0],CK));}else if(q===(102)){$s=-1;return BT(b,d,$clone(e[0],CK));}else if((q===(103))||(q===(71))){r=d;if(r>e[0].mant.$length&&e[0].mant.$length>=e[0].exp){r=e[0].mant.$length;}if(n){r=6;}s=e[0].exp-1>>0;if(s<-4||s>=r){if(d>e[0].mant.$length){d=e[0].mant.$length;}$s=-1;return BS(b,(c+101<<24>>>24)-103<<24>>>24,d-1>>0,$clone(e[0],CK));}if(d>e[0].exp){d=e[0].mant.$length;}$s=-1;return BT(b,AT(d-e[0].exp>>0,0),$clone(e[0],CK));}if(f.neg){b=$subslice(b,0,(b.$length-1>>0));}$s=-1;return $append(b,37,c);}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Append};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Append=function(b,c,d){return this.$val.Append(b,c,d);};BR=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(b.mant.$length===0){$s=-1;return;}d=(AH.nil).set(c.mant);e=((c.exp>>0))-d.bitLen()>>0;f=d.bitLen()-(((c.prec+1>>>0)>>0))>>0;if(f<0){d=d.shl(d,((-f>>>0)));}else if(f>0){d=d.shr(d,((f>>>0)));}e=e+(f)>>0;g=new CK.ptr(DW.nil,0);h=AH.nil;i=h.sub(d,AI);$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$r=g.init(i,e);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}j=new CK.ptr(DW.nil,0);k=h.add(d,AI);$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$r=j.init(k,e);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=(((0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])&2)>>>0)===0;m=b.mant;n=0;while(true){if(!(n<m.$length)){break;}o=n;p=((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);q=g.at(o);r=j.at(o);s=!((q===p))||l&&((o+1>>0)===g.mant.$length);t=!((p===r))&&(l||(p+1<<24>>>24)<r||(o+1>>0)<j.mant.$length);if(s&&t){b.round(o+1>>0);$s=-1;return;}else if(s){b.roundDown(o+1>>0);$s=-1;return;}else if(t){b.roundUp(o+1>>0);$s=-1;return;}n++;}$s=-1;return;}return;}if($f===undefined){$f={$blk:BR};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};BS=function(b,c,d,e){var b,c,d,e,f,g,h,i,j,k;f=48;if(e.mant.$length>0){f=(g=e.mant,(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]));}b=$append(b,f);if(d>0){b=$append(b,46);h=1;i=BU(e.mant.$length,d+1>>0);if(h<i){b=$appendSlice(b,$subslice(e.mant,h,i));h=i;}while(true){if(!(h<=d)){break;}b=$append(b,48);h=h+(1)>>0;}}b=$append(b,c);j=new $Int64(0,0);if(e.mant.$length>0){j=(k=(new $Int64(0,e.exp)),new $Int64(k.$high-0,k.$low-1));}if((j.$high<0||(j.$high===0&&j.$low<0))){f=45;j=new $Int64(-j.$high,-j.$low);}else{f=43;}b=$append(b,f);if((j.$high<0||(j.$high===0&&j.$low<10))){b=$append(b,48);}return C.AppendInt(b,j,10);};BT=function(b,c,d){var b,c,d,e,f;if(d.exp>0){e=BU(d.mant.$length,d.exp);b=$appendSlice(b,$subslice(d.mant,0,e));while(true){if(!(e<d.exp)){break;}b=$append(b,48);e=e+(1)>>0;}}else{b=$append(b,48);}if(c>0){b=$append(b,46);f=0;while(true){if(!(f<c)){break;}b=$append(b,d.at(d.exp+f>>0));f=f+(1)>>0;}}return b;};BY.ptr.prototype.fmtB=function(b){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(c.form===0){$s=-1;return $append(b,48);}if(false){}d=c.mant;e=$imul(((c.mant.$length>>>0)),32)>>>0;if(e<c.prec){d=(AH.nil).shl(d,(((c.prec-e>>>0)>>>0)));}else if(e>c.prec){d=(AH.nil).shr(d,(((e-c.prec>>>0)>>>0)));}f=b;g=d.utoa(10);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;b=$appendSlice(f,h);b=$append(b,112);k=(i=(new $Int64(0,c.exp)),j=(new $Int64(0,c.prec)),new $Int64(i.$high-j.$high,i.$low-j.$low));if((k.$high>0||(k.$high===0&&k.$low>=0))){b=$append(b,43);}$s=-1;return C.AppendInt(b,k,10);}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.fmtB};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.fmtB=function(b){return this.$val.fmtB(b);};BY.ptr.prototype.fmtX=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(d.form===0){b=$appendSlice(b,"0x0");if(c>0){b=$append(b,46);e=0;while(true){if(!(e<c)){break;}b=$append(b,48);e=e+(1)>>0;}}b=$appendSlice(b,"p+00");$s=-1;return b;}if(false){}f=0;if(c<0){f=1+((g=(((d.MinPrec()-1>>>0)+3>>>0))/4,(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"))*4>>>0)>>>0;}else{f=1+(4*((c>>>0))>>>0)>>>0;}h=new BY.ptr(0,0,0,0,false,AH.nil,0).SetPrec(f);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h.SetMode(d.mode);$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i.Set(d);$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}d=j;k=d.mant;l=((d.mant.$length>>>0))*32>>>0;if(l<f){k=(AH.nil).shl(k,f-l>>>0);}else if(l>f){k=(AH.nil).shr(k,l-f>>>0);}n=(m=(new $Int64(0,d.exp)),new $Int64(m.$high-0,m.$low-1));o=k.utoa(16);$s=4;case 4:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;if(false){}b=$appendSlice(b,"0x1");if(p.$length>1){b=$append(b,46);b=$appendSlice(b,$subslice(p,1));}b=$append(b,112);if((n.$high>0||(n.$high===0&&n.$low>=0))){b=$append(b,43);}else{n=new $Int64(-n.$high,-n.$low);b=$append(b,45);}if((n.$high<0||(n.$high===0&&n.$low<10))){b=$append(b,48);}$s=-1;return C.AppendInt(b,n,10);}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.fmtX};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.fmtX=function(b,c){return this.$val.fmtX(b,c);};BY.ptr.prototype.fmtP=function(b){var b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(c.form===0){$s=-1;return $append(b,48);}if(false){}d=c.mant;e=0;while(true){if(!(e<d.$length&&(((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e])===0))){break;}e=e+(1)>>0;}d=$subslice(d,e);b=$appendSlice(b,"0x.");f=b;g=d.utoa(16);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=K.TrimRight(g,"0");$s=2;case 2:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;b=$appendSlice(f,i);b=$append(b,112);if(c.exp>=0){b=$append(b,43);}$s=-1;return C.AppendInt(b,(new $Int64(0,c.exp)),10);}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.fmtP};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.fmtP=function(b){return this.$val.fmtP(b);};BU=function(b,c){var b,c;if(b<c){return b;}return c;};BY.ptr.prototype.Format=function(b,c){var aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=b.Precision();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];if(!h){g=6;}i=c;if((i===(101))||(i===(69))||(i===(102))||(i===(98))||(i===(112))||(i===(120))){$s=3;continue;}if(i===(70)){$s=4;continue;}if(i===(118)){$s=5;continue;}if((i===(103))||(i===(71))){$s=6;continue;}$s=7;continue;case 3:$s=8;continue;case 4:c=102;$s=8;continue;case 5:c=103;if(!h){g=-1;}$s=8;continue;case 6:if(!h){g=-1;}$s=8;continue;case 7:j=b;k=new $Int32(c);l=d.String();$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=new $String(l);n=F.Fprintf(j,"%%!%c(*big.Float=%s)",new DT([k,m]));$s=10;case 10:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n;$s=-1;return;case 8:case 2:o=DW.nil;p=d.Append(o,((c<<24>>>24)),g);$s=11;case 11:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;if(o.$length===0){o=(new DW($stringToBytes("?")));}q="";if(((0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])===45)){$s=13;continue;}if(((0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])===43)){$s=14;continue;}r=b.Flag(43);$s=18;case 18:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(r){$s=15;continue;}s=b.Flag(32);$s=19;case 19:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}if(s){$s=16;continue;}$s=17;continue;case 13:q="-";o=$subslice(o,1);$s=17;continue;case 14:q="+";t=b.Flag(32);$s=22;case 22:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}if(t){$s=20;continue;}$s=21;continue;case 20:q=" ";case 21:o=$subslice(o,1);$s=17;continue;case 15:q="+";$s=17;continue;case 16:q=" ";case 17:case 12:u=0;w=b.Width();$s=23;case 23:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;x=v[0];y=v[1];if(y&&x>(q.length+o.$length>>0)){u=(x-q.length>>0)-o.$length>>0;}z=b.Flag(48);$s=29;case 29:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}if(z&&!d.IsInf()){$s=25;continue;}aa=b.Flag(45);$s=30;case 30:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}if(aa){$s=26;continue;}$s=27;continue;case 25:$r=BE(b,q,1);$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=BE(b,"0",u);$s=32;case 32:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ab=b.Write(o);$s=33;case 33:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ab;$s=28;continue;case 26:$r=BE(b,q,1);$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ac=b.Write(o);$s=35;case 35:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ac;$r=BE(b," ",u);$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=28;continue;case 27:$r=BE(b," ",u);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=BE(b,q,1);$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ad=b.Write(o);$s=39;case 39:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ad;case 28:case 24:$s=-1;return;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Format};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Format=function(b,c){return this.$val.Format(b,c);};BY.ptr.prototype.GobEncode=function(){var b,c,d,e,f,g;b=this;if(b===DO.nil){return[DW.nil,$ifaceNil];}c=6;d=0;if(b.form===1){d=(((e=((b.prec+31>>>0))/32,(e===e&&e!==1/0&&e!==-1/0)?e>>>0:$throwRuntimeError("integer divide by zero"))>>0));if(b.mant.$length<d){d=b.mant.$length;}c=c+((4+($imul(d,4))>>0))>>0;}f=$makeSlice(DW,c);(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]=1);g=((((((((b.mode&7)>>>0)<<24>>>24))<<5<<24>>>24)|((((((b.acc+1<<24>>24))&3)<<24>>>24))<<3<<24>>>24))>>>0)|(((((b.form&3)>>>0)<<24>>>24))<<1<<24>>>24))>>>0;if(b.neg){g=(g|(1))>>>0;}(1>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+1]=g);$clone(D.BigEndian,D.bigEndian).PutUint32($subslice(f,2),b.prec);if(b.form===1){$clone(D.BigEndian,D.bigEndian).PutUint32($subslice(f,6),((b.exp>>>0)));$subslice(b.mant,(b.mant.$length-d>>0)).bytes($subslice(f,10));}return[f,$ifaceNil];};BY.prototype.GobEncode=function(){return this.$val.GobEncode();};BY.ptr.prototype.GobDecode=function(b){var b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b.$length===0){BY.copy(c,new BY.ptr(0,0,0,0,false,AH.nil,0));$s=-1;return $ifaceNil;}if(!(((0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])===1))){$s=1;continue;}$s=2;continue;case 1:d=F.Errorf("Float.GobDecode: encoding version %d not supported",new DT([new $Uint8((0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]))]));$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=4;case 4:return e;case 2:f=c.prec;g=c.mode;h=(1>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+1]);c.mode=((((((h>>>5<<24>>>24))&7)>>>0)<<24>>>24));c.acc=((((((h>>>3<<24>>>24))&3)>>>0)<<24>>24))-1<<24>>24;c.form=((((((h>>>1<<24>>>24))&3)>>>0)<<24>>>24));c.neg=!((((h&1)>>>0)===0));c.prec=$clone(D.BigEndian,D.bigEndian).Uint32($subslice(b,2));if(c.form===1){c.exp=(($clone(D.BigEndian,D.bigEndian).Uint32($subslice(b,6))>>0));c.mant=c.mant.setBytes($subslice(b,10));}if(!((f===0))){$s=5;continue;}$s=6;continue;case 5:c.mode=g;i=c.SetPrec(((f>>>0)));$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;case 6:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.GobDecode};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.GobDecode=function(b){return this.$val.GobDecode(b);};BY.ptr.prototype.MarshalText=function(){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=DW.nil;c=$ifaceNil;d=this;if(d===DO.nil){e=(new DW($stringToBytes("<nil>")));f=$ifaceNil;b=e;c=f;$s=-1;return[b,c];}g=DW.nil;i=d.Append(g,103,-1);$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=$ifaceNil;b=h;c=j;k=[b,c];$s=2;case 2:return k;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.MarshalText};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.MarshalText=function(){return this.$val.MarshalText();};BY.ptr.prototype.UnmarshalText=function(b){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=c.Parse(($bytesToString(b)),0);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[2];if(!($interfaceIsEqual(f,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:g=F.Errorf("math/big: cannot unmarshal %q into a *big.Float (%v)",new DT([b,f]));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;case 3:$s=-1;return f;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.UnmarshalText};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.UnmarshalText=function(b){return this.$val.UnmarshalText(b);};BY.ptr.prototype.SetString=function(b){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=c.Parse(b,0);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[2];if($interfaceIsEqual(g,$ifaceNil)){$s=-1;return[f,true];}$s=-1;return[DO.nil,false];}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.SetString};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.SetString=function(b){return this.$val.SetString(b);};BY.ptr.prototype.scan=function(b,c){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=DO.nil;e=0;f=$ifaceNil;g=this;h=g.prec;if(h===0){h=64;}g.form=0;j=BF(b);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;g.neg=i[0];f=i[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[d,e,f];}k=0;m=g.mant.scan(b,c,true);$s=2;case 2:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;g.mant=l[0];e=l[1];k=l[2];f=l[3];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[d,e,f];}n=new $Int64(0,0);o=0;q=R(b,true,c===0);$s=3;case 3:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;n=p[0];o=p[1];f=p[2];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[d,e,f];}if(g.mant.$length===0){g.prec=h;g.acc=0;g.form=0;d=g;$s=-1;return[d,e,f];}t=(r=$mul64((new $Int64(0,g.mant.$length)),new $Int64(0,32)),s=CF(g.mant),new $Int64(r.$high-s.$high,r.$low-s.$low));u=new $Int64(0,0);if(k<0){v=(new $Int64(0,k));w=e;if(w===(10)){u=v;t=(x=v,new $Int64(t.$high+x.$high,t.$low+x.$low));}else if(w===(2)){t=(y=v,new $Int64(t.$high+y.$high,t.$low+y.$low));}else if(w===(8)){t=(z=$mul64(v,new $Int64(0,3)),new $Int64(t.$high+z.$high,t.$low+z.$low));}else if(w===(16)){t=(aa=$mul64(v,new $Int64(0,4)),new $Int64(t.$high+aa.$high,t.$low+aa.$low));}else{$panic(new $String("unexpected mantissa base"));}}ab=o;if(ab===(10)){u=(ac=n,new $Int64(u.$high+ac.$high,u.$low+ac.$low));t=(ad=n,new $Int64(t.$high+ad.$high,t.$low+ad.$low));}else if(ab===(2)){t=(ae=n,new $Int64(t.$high+ae.$high,t.$low+ae.$low));}else{$panic(new $String("unexpected exponent base"));}if((-1<t.$high||(-1===t.$high&&2147483648<=t.$low))&&(t.$high<0||(t.$high===0&&t.$low<=2147483647))){$s=4;continue;}$s=5;continue;case 4:g.prec=h;g.form=1;g.exp=(((t.$low+((t.$high>>31)*4294967296))>>0));d=g;$s=6;continue;case 5:af=F.Errorf("exponent overflow",new DT([]));$s=7;case 7:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}f=af;$s=-1;return[d,e,f];case 6:if((u.$high===0&&u.$low===0)){$s=8;continue;}$s=9;continue;case 8:$r=g.round(0);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[d,e,f];case 9:ag=new BY.ptr(0,0,0,0,false,AH.nil,0).SetPrec(g.Prec()+64>>>0);$s=11;case 11:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=ag;if((u.$high<0||(u.$high===0&&u.$low<0))){$s=12;continue;}$s=13;continue;case 12:ai=g;ak=ah.pow5(((aj=new $Int64(-u.$high,-u.$low),new $Uint64(aj.$high,aj.$low))));$s=15;case 15:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=ak;am=g.Quo(ai,al);$s=16;case 16:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}am;$s=14;continue;case 13:an=g;ao=ah.pow5((new $Uint64(u.$high,u.$low)));$s=17;case 17:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=ao;aq=g.Mul(an,ap);$s=18;case 18:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}aq;case 14:$s=-1;return[d,e,f];}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.scan};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.scan=function(b,c){return this.$val.scan(b,c);};BY.ptr.prototype.pow5=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if((b.$high<0||(b.$high===0&&b.$low<=27))){$s=1;continue;}$s=2;continue;case 1:d=c.SetUint64((($flatten64(b)<0||$flatten64(b)>=BW.length)?($throwRuntimeError("index out of range"),undefined):BW[$flatten64(b)]));$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=4;case 4:return e;case 2:f=c.SetUint64(BW[27]);$s=5;case 5:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;b=(g=new $Uint64(0,27),new $Uint64(b.$high-g.$high,b.$low-g.$low));h=new BY.ptr(0,0,0,0,false,AH.nil,0).SetPrec(c.Prec()+64>>>0);$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h.SetUint64(new $Uint64(0,5));$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;case 8:if(!((b.$high>0||(b.$high===0&&b.$low>0)))){$s=9;continue;}if(!((k=new $Uint64(b.$high&0,(b.$low&1)>>>0),(k.$high===0&&k.$low===0)))){$s=10;continue;}$s=11;continue;case 10:l=c.Mul(c,j);$s=12;case 12:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;case 11:m=j.Mul(j,j);$s=13;case 13:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;b=$shiftRightUint64(b,(1));$s=8;continue;case 9:$s=-1;return c;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.pow5};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.pow5=function(b){return this.$val.pow5(b);};BY.ptr.prototype.Parse=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=DO.nil;e=0;f=$ifaceNil;g=this;if((b.length===3)&&(b==="Inf"||b==="inf")){d=g.SetInf(false);$s=-1;return[d,e,f];}if((b.length===4)&&((b.charCodeAt(0)===43)||(b.charCodeAt(0)===45))&&($substring(b,1)==="Inf"||$substring(b,1)==="inf")){d=g.SetInf(b.charCodeAt(0)===45);$s=-1;return[d,e,f];}h=H.NewReader(b);j=g.scan(h,c);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;d=i[0];e=i[1];f=i[2];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[d,e,f];}k=h.ReadByte();l=k[0];m=k[1];if($interfaceIsEqual(m,$ifaceNil)){$s=2;continue;}if(!($interfaceIsEqual(m,G.EOF))){$s=3;continue;}$s=4;continue;case 2:n=F.Errorf("expected end of string, found %q",new DT([new $Uint8(l)]));$s=5;case 5:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}f=n;$s=4;continue;case 3:f=m;case 4:$s=-1;return[d,e,f];}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Parse};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Parse=function(b,c){return this.$val.Parse(b,c);};BX=function(b,c,d,e){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=DO.nil;g=0;h=$ifaceNil;j=new BY.ptr(0,0,0,0,false,AH.nil,0).SetPrec(d);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j.SetMode(e);$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k.Parse(b,c);$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}i=l;f=i[0];g=i[1];h=i[2];m=[f,g,h];$s=4;case 4:return m;}return;}if($f===undefined){$f={$blk:BX};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ParseFloat=BX;BY.ptr.prototype.Scan=function(b,c){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;$r=b.SkipSpace();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g=d.scan((f=new BG.ptr(b),new f.constructor.elem(f)),0);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}e=g;h=e[2];$s=-1;return h;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Scan};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Scan=function(b,c){return this.$val.Scan(b,c);};BZ.ptr.prototype.Error=function(){var b;b=this;return b.msg;};BZ.prototype.Error=function(){return this.$val.Error();};CA=function(b){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(A.IsNaN(b)){$panic((c=new BZ.ptr("NewFloat(NaN)"),new c.constructor.elem(c)));}d=new BY.ptr(0,0,0,0,false,AH.nil,0).SetFloat64(b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:CA};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NewFloat=CA;BY.ptr.prototype.SetPrec=function(b){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;c.acc=0;if(b===0){c.prec=0;if(c.form===1){c.acc=CE(c.neg);c.form=0;}$s=-1;return c;}if(b>4294967295){b=4294967295;}d=c.prec;c.prec=((b>>>0));if(c.prec<d){$s=1;continue;}$s=2;continue;case 1:$r=c.round(0);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return c;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.SetPrec};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.SetPrec=function(b){return this.$val.SetPrec(b);};CE=function(b){var b;if(b){return 1;}return-1;};BY.ptr.prototype.SetMode=function(b){var b,c;c=this;c.mode=b;c.acc=0;return c;};BY.prototype.SetMode=function(b){return this.$val.SetMode(b);};BY.ptr.prototype.Prec=function(){var b;b=this;return((b.prec>>>0));};BY.prototype.Prec=function(){return this.$val.Prec();};BY.ptr.prototype.MinPrec=function(){var b;b=this;if(!((b.form===1))){return 0;}return(((b.mant.$length>>>0))*32>>>0)-b.mant.trailingZeroBits()>>>0;};BY.prototype.MinPrec=function(){return this.$val.MinPrec();};BY.ptr.prototype.Mode=function(){var b;b=this;return b.mode;};BY.prototype.Mode=function(){return this.$val.Mode();};BY.ptr.prototype.Acc=function(){var b;b=this;return b.acc;};BY.prototype.Acc=function(){return this.$val.Acc();};BY.ptr.prototype.Sign=function(){var b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(false){}$s=2;continue;case 1:$r=b.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(b.form===0){$s=-1;return 0;}if(b.neg){$s=-1;return-1;}$s=-1;return 1;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Sign};}$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Sign=function(){return this.$val.Sign();};BY.ptr.prototype.MantExp=function(b){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=0;d=this;if(false){}$s=2;continue;case 1:$r=d.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(d.form===1){c=((d.exp>>0));}if(!(b===DO.nil)){$s=4;continue;}$s=5;continue;case 4:e=b.Copy(d);$s=6;case 6:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;if(b.form===1){b.exp=0;}case 5:$s=-1;return c;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.MantExp};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.MantExp=function(b){return this.$val.MantExp(b);};BY.ptr.prototype.setExpAndRound=function(b,c){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if((b.$high<-1||(b.$high===-1&&b.$low<2147483648))){d.acc=CE(d.neg);d.form=0;$s=-1;return;}if((b.$high>0||(b.$high===0&&b.$low>2147483647))){d.acc=CE(!d.neg);d.form=2;$s=-1;return;}d.form=1;d.exp=(((b.$low+((b.$high>>31)*4294967296))>>0));$r=d.round(c);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.setExpAndRound};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.setExpAndRound=function(b,c){return this.$val.setExpAndRound(b,c);};BY.ptr.prototype.SetMantExp=function(b,c){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(false){}$s=2;continue;case 1:$r=d.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.validate();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:e=d.Copy(b);$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;if(d.form===1){$s=6;continue;}$s=7;continue;case 6:$r=d.setExpAndRound((f=(new $Int64(0,d.exp)),g=(new $Int64(0,c)),new $Int64(f.$high+g.$high,f.$low+g.$low)),0);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:$s=-1;return d;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.SetMantExp};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.SetMantExp=function(b,c){return this.$val.SetMantExp(b,c);};BY.ptr.prototype.Signbit=function(){var b;b=this;return b.neg;};BY.prototype.Signbit=function(){return this.$val.Signbit();};BY.ptr.prototype.IsInf=function(){var b;b=this;return b.form===2;};BY.prototype.IsInf=function(){return this.$val.IsInf();};BY.ptr.prototype.IsInt=function(){var b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(false){}$s=2;continue;case 1:$r=b.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(!((b.form===1))){$s=-1;return b.form===0;}if(b.exp<=0){$s=-1;return false;}$s=-1;return b.prec<=((b.exp>>>0))||b.MinPrec()<=((b.exp>>>0));}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.IsInt};}$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.IsInt=function(){return this.$val.IsInt();};BY.ptr.prototype.validate=function(){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(true){$panic(new $String("validate called but debugFloat is not set"));}if(!((b.form===1))){$s=-1;return;}c=b.mant.$length;if(c===0){$panic(new $String("nonzero finite number with empty mantissa"));}if((((d=b.mant,e=c-1>>0,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]))&2147483648)>>>0)===0){$s=1;continue;}$s=2;continue;case 1:h=new BQ((f=b.mant,g=c-1>>0,((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g])));i=b.Text(112,0);$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=new $String(i);k=F.Sprintf("msb not set in last word %#x of %s",new DT([h,j]));$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$panic(new $String(k));case 2:if(b.prec===0){$panic(new $String("zero precision finite number"));}$s=-1;return;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.validate};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.validate=function(){return this.$val.validate();};BY.ptr.prototype.round=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(false){}$s=2;continue;case 1:$r=c.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:c.acc=0;if(!((c.form===1))){$s=-1;return;}d=((c.mant.$length>>>0));e=$imul(d,32)>>>0;if(e<=c.prec){$s=-1;return;}f=((((e-c.prec>>>0)-1>>>0)>>>0));g=(c.mant.bit(f)&1)>>>0;if((b===0)&&((g===0)||(c.mode===0))){b=c.mant.sticky(f);}b=(b&(1))>>>0;i=(h=((c.prec+31>>>0))/32,(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));if(d>i){$copySlice(c.mant,$subslice(c.mant,(d-i>>>0)));c.mant=$subslice(c.mant,0,i);}j=($imul(i,32)>>>0)-c.prec>>>0;l=(k=j,k<32?(1<<k):0)>>>0;if(!((((g|b)>>>0)===0))){$s=4;continue;}$s=5;continue;case 4:m=false;n=c.mode;if(n===(4)){m=c.neg;}else if(n===(2)){}else if(n===(0)){m=!((g===0))&&(!((b===0))||!(((((o=c.mant,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0]))&l)>>>0)===0)));}else if(n===(1)){m=!((g===0));}else if(n===(3)){m=true;}else if(n===(5)){m=!c.neg;}else{$panic(new $String("unreachable"));}c.acc=CE(!(m===c.neg));if(m){$s=6;continue;}$s=7;continue;case 6:p=CS($convertSliceType(c.mant,DY),$convertSliceType(c.mant,DY),l);$s=10;case 10:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}if(!((p===0))){$s=8;continue;}$s=9;continue;case 8:if(c.exp>=2147483647){c.form=2;$s=-1;return;}c.exp=c.exp+(1)>>0;CV($convertSliceType(c.mant,DY),$convertSliceType(c.mant,DY),1);q=i-1>>>0;(s=c.mant,((q<0||q>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+q]=(((r=c.mant,((q<0||q>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+q]))|(2147483648))>>>0)));case 9:case 7:case 5:(u=c.mant,(0>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+0]=(((t=c.mant,(0>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+0]))&~((l-1>>>0)))>>>0)));if(false){}$s=12;continue;case 11:$r=c.validate();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 12:$s=-1;return;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.round};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.round=function(b){return this.$val.round(b);};BY.ptr.prototype.setBits64=function(b,c){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(d.prec===0){d.prec=64;}d.acc=0;d.neg=b;if((c.$high===0&&c.$low===0)){d.form=0;$s=-1;return d;}d.form=1;e=J.LeadingZeros64(c);d.mant=d.mant.setUint64($shiftLeft64(c,((e>>>0))));d.exp=(((64-e>>0)>>0));if(d.prec<64){$s=1;continue;}$s=2;continue;case 1:$r=d.round(0);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return d;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.setBits64};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.setBits64=function(b,c){return this.$val.setBits64(b,c);};BY.ptr.prototype.SetUint64=function(b){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.setBits64(false,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.SetUint64};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.SetUint64=function(b){return this.$val.SetUint64(b);};BY.ptr.prototype.SetInt64=function(b){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=b;if((d.$high<0||(d.$high===0&&d.$low<0))){d=new $Int64(-d.$high,-d.$low);}e=c.setBits64((b.$high<0||(b.$high===0&&b.$low<0)),(new $Uint64(d.$high,d.$low)));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.SetInt64};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.SetInt64=function(b){return this.$val.SetInt64(b);};BY.ptr.prototype.SetFloat64=function(b){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(c.prec===0){c.prec=53;}if(A.IsNaN(b)){$panic((d=new BZ.ptr("Float.SetFloat64(NaN)"),new d.constructor.elem(d)));}c.acc=0;c.neg=A.Signbit(b);if(b===0){c.form=0;$s=-1;return c;}if(A.IsInf(b,0)){c.form=2;$s=-1;return c;}c.form=1;e=A.Frexp(b);f=e[0];g=e[1];c.mant=c.mant.setUint64((h=$shiftLeft64(A.Float64bits(f),11),new $Uint64(2147483648|h.$high,(0|h.$low)>>>0)));c.exp=((g>>0));if(c.prec<53){$s=1;continue;}$s=2;continue;case 1:$r=c.round(0);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return c;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.SetFloat64};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.SetFloat64=function(b){return this.$val.SetFloat64(b);};CF=function(b){var b,c,d,e,f;if(false){}e=DA((d=b.$length-1>>0,((d<0||d>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d])));if(e>0){f=CU($convertSliceType(b,DY),$convertSliceType(b,DY),e);if(false){}}return(new $Int64(0,e));};BY.ptr.prototype.SetInt=function(b){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=((b.BitLen()>>>0));if(c.prec===0){c.prec=CJ(d,64);}c.acc=0;c.neg=b.neg;if(b.abs.$length===0){c.form=0;$s=-1;return c;}c.mant=c.mant.set(b.abs);CF(c.mant);$r=c.setExpAndRound((new $Int64(0,d)),0);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.SetInt};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.SetInt=function(b){return this.$val.SetInt(b);};BY.ptr.prototype.SetRat=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=[d];e=this;if(b.IsInt()){$s=1;continue;}$s=2;continue;case 1:f=e.SetInt(b.Num());$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=4;case 4:return g;case 2:h=new BY.ptr(0,0,0,0,false,AH.nil,0);i=new BY.ptr(0,0,0,0,false,AH.nil,0);c[0]=$clone(h,BY);d[0]=$clone(i,BY);j=c[0].SetInt(b.Num());$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;k=d[0].SetInt(b.Denom());$s=6;case 6:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;if(e.prec===0){e.prec=CJ(c[0].prec,d[0].prec);}l=e.Quo(c[0],d[0]);$s=7;case 7:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=8;case 8:return m;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.SetRat};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.SetRat=function(b){return this.$val.SetRat(b);};BY.ptr.prototype.SetInf=function(b){var b,c;c=this;c.acc=0;c.form=2;c.neg=b;return c;};BY.prototype.SetInf=function(b){return this.$val.SetInf(b);};BY.ptr.prototype.Set=function(b){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(false){}$s=2;continue;case 1:$r=b.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:c.acc=0;if(!(c===b)){$s=4;continue;}$s=5;continue;case 4:c.form=b.form;c.neg=b.neg;if(b.form===1){c.exp=b.exp;c.mant=c.mant.set(b.mant);}if(c.prec===0){$s=6;continue;}if(c.prec<b.prec){$s=7;continue;}$s=8;continue;case 6:c.prec=b.prec;$s=8;continue;case 7:$r=c.round(0);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:case 5:$s=-1;return c;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Set};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Set=function(b){return this.$val.Set(b);};BY.ptr.prototype.Copy=function(b){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(false){}$s=2;continue;case 1:$r=b.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(!(c===b)){c.prec=b.prec;c.mode=b.mode;c.acc=b.acc;c.form=b.form;c.neg=b.neg;if(c.form===1){c.mant=c.mant.set(b.mant);c.exp=b.exp;}}$s=-1;return c;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Copy};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Copy=function(b){return this.$val.Copy(b);};CG=function(b){var b,c,d;c=b.$length-1>>0;if(c<0){return 0;}if(false){}d=32;if(d===(32)){return((((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])>>>0));}else if(d===(64)){return((0>>>0));}$panic(new $String("unreachable"));};CH=function(b){var b,c,d,e,f,g,h,i,j;c=b.$length-1>>0;if(c<0){return new $Uint64(0,0);}if(false){}d=32;if(d===(32)){f=$shiftLeft64(((e=((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]),new $Uint64(0,e.constructor===Number?e:1))),32);if(c>0){f=(g=((h=(i=c-1>>0,((i<0||i>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+i])),new $Uint64(0,h.constructor===Number?h:1))),new $Uint64(f.$high|g.$high,(f.$low|g.$low)>>>0));}return f;}else if(d===(64)){return((j=((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]),new $Uint64(0,j.constructor===Number?j:1)));}$panic(new $String("unreachable"));};BY.ptr.prototype.Uint64=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(false){}$s=2;continue;case 1:$r=b.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:c=b.form;if(c===(1)){if(b.neg){$s=-1;return[new $Uint64(0,0),1];}if(b.exp<=0){$s=-1;return[new $Uint64(0,0),-1];}if(b.exp<=64){d=$shiftRightUint64(CH(b.mant),((64-((b.exp>>>0))>>>0)));if(b.MinPrec()<=64){$s=-1;return[d,0];}$s=-1;return[d,-1];}$s=-1;return[new $Uint64(4294967295,4294967295),-1];}else if(c===(0)){$s=-1;return[new $Uint64(0,0),0];}else if(c===(2)){if(b.neg){$s=-1;return[new $Uint64(0,0),1];}$s=-1;return[new $Uint64(4294967295,4294967295),-1];}$panic(new $String("unreachable"));$s=-1;return[new $Uint64(0,0),0];}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Uint64};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Uint64=function(){return this.$val.Uint64();};BY.ptr.prototype.Int64=function(){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(false){}$s=2;continue;case 1:$r=b.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:c=b.form;if(c===(1)){d=CE(b.neg);if(b.exp<=0){$s=-1;return[new $Int64(0,0),d];}if(b.exp<=63){f=((e=$shiftRightUint64(CH(b.mant),((64-((b.exp>>>0))>>>0))),new $Int64(e.$high,e.$low)));if(b.neg){f=new $Int64(-f.$high,-f.$low);}if(b.MinPrec()<=((b.exp>>>0))){$s=-1;return[f,0];}$s=-1;return[f,d];}if(b.neg){if((b.exp===64)&&(b.MinPrec()===1)){d=0;}$s=-1;return[new $Int64(-2147483648,0),d];}$s=-1;return[new $Int64(2147483647,4294967295),-1];}else if(c===(0)){$s=-1;return[new $Int64(0,0),0];}else if(c===(2)){if(b.neg){$s=-1;return[new $Int64(-2147483648,0),1];}$s=-1;return[new $Int64(2147483647,4294967295),-1];}$panic(new $String("unreachable"));$s=-1;return[new $Int64(0,0),0];}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Int64};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Int64=function(){return this.$val.Int64();};BY.ptr.prototype.Float32=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(false){}$s=2;continue;case 1:$r=b.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:c=b.form;if(c===(1)){$s=5;continue;}if(c===(0)){$s=6;continue;}if(c===(2)){$s=7;continue;}$s=8;continue;case 5:d=b.exp-1>>0;e=24;if(d<-126){e=150+((d>>0))>>0;if(e<0||(e===0)&&(b.mant.sticky((((b.mant.$length>>>0))*32>>>0)-1>>>0)===0)){if(b.neg){f=0;$s=-1;return[-f,1];}$s=-1;return[0,-1];}if(e===0){if(b.neg){$s=-1;return[-1.401298464324817e-45,-1];}$s=-1;return[1.401298464324817e-45,1];}}g=new BY.ptr(0,0,0,0,false,AH.nil,0);g.prec=((e>>>0));h=g.Set(b);$s=9;case 9:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;d=g.exp-1>>0;if((g.form===2)||d>127){if(b.neg){$s=-1;return[($fround(A.Inf(-1))),-1];}$s=-1;return[($fround(A.Inf(1))),1];}i=0;j=0;k=0;l=i;m=j;n=k;if(b.neg){l=2147483648;}if(d<-126){e=150+((d>>0))>>0;n=(o=(((32-e>>0)>>>0)),o<32?(CG(g.mant)>>>o):0)>>>0;}else{m=(((d+127>>0)>>>0))<<23>>>0;n=((CG(g.mant)>>>8>>>0)&8388607)>>>0;}$s=-1;return[A.Float32frombits((((l|m)>>>0)|n)>>>0),g.acc];case 6:if(b.neg){p=0;$s=-1;return[-p,0];}$s=-1;return[0,0];case 7:if(b.neg){$s=-1;return[($fround(A.Inf(-1))),0];}$s=-1;return[($fround(A.Inf(1))),0];case 8:case 4:$panic(new $String("unreachable"));$s=-1;return[0,0];}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Float32};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Float32=function(){return this.$val.Float32();};BY.ptr.prototype.Float64=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(false){}$s=2;continue;case 1:$r=b.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:c=b.form;if(c===(1)){$s=5;continue;}if(c===(0)){$s=6;continue;}if(c===(2)){$s=7;continue;}$s=8;continue;case 5:d=b.exp-1>>0;e=53;if(d<-1022){e=1075+((d>>0))>>0;if(e<0||(e===0)&&(b.mant.sticky((((b.mant.$length>>>0))*32>>>0)-1>>>0)===0)){if(b.neg){f=0;$s=-1;return[-f,1];}$s=-1;return[0,-1];}if(e===0){if(b.neg){$s=-1;return[-5e-324,-1];}$s=-1;return[5e-324,1];}}g=new BY.ptr(0,0,0,0,false,AH.nil,0);g.prec=((e>>>0));h=g.Set(b);$s=9;case 9:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;d=g.exp-1>>0;if((g.form===2)||d>1023){if(b.neg){$s=-1;return[A.Inf(-1),-1];}$s=-1;return[A.Inf(1),1];}i=new $Uint64(0,0);j=new $Uint64(0,0);k=new $Uint64(0,0);l=i;m=j;n=k;if(b.neg){l=new $Uint64(2147483648,0);}if(d<-1022){e=1075+((d>>0))>>0;n=$shiftRightUint64(CH(g.mant),(((64-e>>0)>>>0)));}else{m=$shiftLeft64((new $Uint64(0,(d+1023>>0))),52);n=(o=$shiftRightUint64(CH(g.mant),11),new $Uint64(o.$high&1048575,(o.$low&4294967295)>>>0));}$s=-1;return[A.Float64frombits((p=new $Uint64(l.$high|m.$high,(l.$low|m.$low)>>>0),new $Uint64(p.$high|n.$high,(p.$low|n.$low)>>>0))),g.acc];case 6:if(b.neg){q=0;$s=-1;return[-q,0];}$s=-1;return[0,0];case 7:if(b.neg){$s=-1;return[A.Inf(-1),0];}$s=-1;return[A.Inf(1),0];case 8:case 4:$panic(new $String("unreachable"));$s=-1;return[0,0];}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Float64};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Float64=function(){return this.$val.Float64();};BY.ptr.prototype.Int=function(b){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(false){}$s=2;continue;case 1:$r=c.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(b===DX.nil&&c.form<=1){b=new BH.ptr(false,AH.nil);}d=c.form;if(d===(1)){e=CE(c.neg);if(c.exp<=0){$s=-1;return[b.SetInt64(new $Int64(0,0)),e];}f=((c.mant.$length>>>0))*32>>>0;g=((c.exp>>>0));if(c.MinPrec()<=g){e=0;}if(b===DX.nil){b=new BH.ptr(false,AH.nil);}b.neg=c.neg;if(g>f){b.abs=b.abs.shl(c.mant,g-f>>>0);}else if(g<f){b.abs=b.abs.shr(c.mant,f-g>>>0);}else{b.abs=b.abs.set(c.mant);}$s=-1;return[b,e];}else if(d===(0)){$s=-1;return[b.SetInt64(new $Int64(0,0)),0];}else if(d===(2)){$s=-1;return[DX.nil,CE(c.neg)];}$panic(new $String("unreachable"));$s=-1;return[DX.nil,0];}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Int};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Int=function(b){return this.$val.Int(b);};BY.ptr.prototype.Rat=function(b){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(false){}$s=2;continue;case 1:$r=c.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(b===DV.nil&&c.form<=1){b=new S.ptr(new BH.ptr(false,AH.nil),new BH.ptr(false,AH.nil));}d=c.form;if(d===(1)){$s=5;continue;}if(d===(0)){$s=6;continue;}if(d===(2)){$s=7;continue;}$s=8;continue;case 5:e=$imul(((c.mant.$length>>0)),32);b.a.neg=c.neg;if(c.exp>e){$s=10;continue;}if(c.exp<e){$s=11;continue;}$s=12;continue;case 10:b.a.abs=b.a.abs.shl(c.mant,(((c.exp-e>>0)>>>0)));b.b.abs=$subslice(b.b.abs,0,0);$s=13;continue;case 11:b.a.abs=b.a.abs.set(c.mant);f=b.b.abs.setUint64(new $Uint64(0,1));b.b.abs=f.shl(f,(((e-c.exp>>0)>>>0)));g=b.norm();$s=14;case 14:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;$s=13;continue;case 12:b.a.abs=b.a.abs.set(c.mant);b.b.abs=$subslice(b.b.abs,0,0);case 13:case 9:$s=-1;return[b,0];case 6:$s=-1;return[b.SetInt64(new $Int64(0,0)),0];case 7:$s=-1;return[DV.nil,CE(c.neg)];case 8:case 4:$panic(new $String("unreachable"));$s=-1;return[DV.nil,0];}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Rat};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Rat=function(b){return this.$val.Rat(b);};BY.ptr.prototype.Abs=function(b){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.Set(b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d;c.neg=false;$s=-1;return c;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Abs};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Abs=function(b){return this.$val.Abs(b);};BY.ptr.prototype.Neg=function(b){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.Set(b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d;c.neg=!c.neg;$s=-1;return c;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Neg};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Neg=function(b){return this.$val.Neg(b);};CI=function(b,c){var b,c;if(true){$panic(new $String("validateBinaryOperands called but debugFloat is not set"));}if(b.mant.$length===0){$panic(new $String("empty mantissa for x"));}if(c.mant.$length===0){$panic(new $String("empty mantissa for y"));}};BY.ptr.prototype.uadd=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(false){}g=(e=(new $Int64(0,b.exp)),f=$mul64((new $Int64(0,b.mant.$length)),new $Int64(0,32)),new $Int64(e.$high-f.$high,e.$low-f.$low));j=(h=(new $Int64(0,c.exp)),i=$mul64((new $Int64(0,c.mant.$length)),new $Int64(0,32)),new $Int64(h.$high-i.$high,h.$low-i.$low));k=AR(d.mant,b.mant)||AR(d.mant,c.mant);if((g.$high<j.$high||(g.$high===j.$high&&g.$low<j.$low))){$s=2;continue;}if((g.$high>j.$high||(g.$high===j.$high&&g.$low>j.$low))){$s=3;continue;}$s=4;continue;case 2:if(k){$s=6;continue;}$s=7;continue;case 6:l=(AH.nil).shl(c.mant,((new $Int64(j.$high-g.$high,j.$low-g.$low).$low>>>0)));m=d.mant.add(b.mant,l);$s=9;case 9:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}d.mant=m;$s=8;continue;case 7:d.mant=d.mant.shl(c.mant,((new $Int64(j.$high-g.$high,j.$low-g.$low).$low>>>0)));n=d.mant.add(b.mant,d.mant);$s=10;case 10:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}d.mant=n;case 8:$s=5;continue;case 3:if(k){$s=11;continue;}$s=12;continue;case 11:o=(AH.nil).shl(b.mant,((new $Int64(g.$high-j.$high,g.$low-j.$low).$low>>>0)));p=d.mant.add(o,c.mant);$s=14;case 14:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}d.mant=p;$s=13;continue;case 12:d.mant=d.mant.shl(b.mant,((new $Int64(g.$high-j.$high,g.$low-j.$low).$low>>>0)));q=d.mant.add(d.mant,c.mant);$s=15;case 15:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}d.mant=q;case 13:g=j;$s=5;continue;case 4:r=d.mant.add(b.mant,c.mant);$s=16;case 16:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}d.mant=r;case 5:case 1:$r=d.setExpAndRound((s=(t=$mul64((new $Int64(0,d.mant.$length)),new $Int64(0,32)),new $Int64(g.$high+t.$high,g.$low+t.$low)),u=CF(d.mant),new $Int64(s.$high-u.$high,s.$low-u.$low)),0);$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.uadd};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.uadd=function(b,c){return this.$val.uadd(b,c);};BY.ptr.prototype.usub=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(false){}g=(e=(new $Int64(0,b.exp)),f=$mul64((new $Int64(0,b.mant.$length)),new $Int64(0,32)),new $Int64(e.$high-f.$high,e.$low-f.$low));j=(h=(new $Int64(0,c.exp)),i=$mul64((new $Int64(0,c.mant.$length)),new $Int64(0,32)),new $Int64(h.$high-i.$high,h.$low-i.$low));k=AR(d.mant,b.mant)||AR(d.mant,c.mant);if((g.$high<j.$high||(g.$high===j.$high&&g.$low<j.$low))){$s=2;continue;}if((g.$high>j.$high||(g.$high===j.$high&&g.$low>j.$low))){$s=3;continue;}$s=4;continue;case 2:if(k){$s=6;continue;}$s=7;continue;case 6:l=(AH.nil).shl(c.mant,((new $Int64(j.$high-g.$high,j.$low-g.$low).$low>>>0)));m=l.sub(b.mant,l);$s=9;case 9:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}d.mant=m;$s=8;continue;case 7:d.mant=d.mant.shl(c.mant,((new $Int64(j.$high-g.$high,j.$low-g.$low).$low>>>0)));n=d.mant.sub(b.mant,d.mant);$s=10;case 10:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}d.mant=n;case 8:$s=5;continue;case 3:if(k){$s=11;continue;}$s=12;continue;case 11:o=(AH.nil).shl(b.mant,((new $Int64(g.$high-j.$high,g.$low-j.$low).$low>>>0)));p=o.sub(o,c.mant);$s=14;case 14:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}d.mant=p;$s=13;continue;case 12:d.mant=d.mant.shl(b.mant,((new $Int64(g.$high-j.$high,g.$low-j.$low).$low>>>0)));q=d.mant.sub(d.mant,c.mant);$s=15;case 15:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}d.mant=q;case 13:g=j;$s=5;continue;case 4:r=d.mant.sub(b.mant,c.mant);$s=16;case 16:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}d.mant=r;case 5:case 1:if(d.mant.$length===0){d.acc=0;d.form=0;d.neg=false;$s=-1;return;}$r=d.setExpAndRound((s=(t=$mul64((new $Int64(0,d.mant.$length)),new $Int64(0,32)),new $Int64(g.$high+t.$high,g.$low+t.$low)),u=CF(d.mant),new $Int64(s.$high-u.$high,s.$low-u.$low)),0);$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.usub};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.usub=function(b,c){return this.$val.usub(b,c);};BY.ptr.prototype.umul=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(false){}g=(e=(new $Int64(0,b.exp)),f=(new $Int64(0,c.exp)),new $Int64(e.$high+f.$high,e.$low+f.$low));if(b===c){$s=1;continue;}$s=2;continue;case 1:h=d.mant.sqr(b.mant);$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}d.mant=h;$s=3;continue;case 2:i=d.mant.mul(b.mant,c.mant);$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}d.mant=i;case 3:$r=d.setExpAndRound((j=CF(d.mant),new $Int64(g.$high-j.$high,g.$low-j.$low)),0);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.umul};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.umul=function(b,c){return this.$val.umul(b,c);};BY.ptr.prototype.uquo=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(false){}f=(((e=d.prec/32,(e===e&&e!==1/0&&e!==-1/0)?e>>>0:$throwRuntimeError("integer divide by zero"))>>0))+1>>0;g=b.mant;h=(f-b.mant.$length>>0)+c.mant.$length>>0;if(h>0){g=$makeSlice(AH,(b.mant.$length+h>>0));$copySlice($subslice(g,h),b.mant);}i=g.$length-c.mant.$length>>0;j=AH.nil;l=d.mant.div(AH.nil,g,c.mant);$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;d.mant=k[0];j=k[1];q=(m=(n=(new $Int64(0,b.exp)),o=(new $Int64(0,c.exp)),new $Int64(n.$high-o.$high,n.$low-o.$low)),p=$mul64((new $Int64(0,(i-d.mant.$length>>0))),new $Int64(0,32)),new $Int64(m.$high-p.$high,m.$low-p.$low));r=0;if(j.$length>0){r=1;}$r=d.setExpAndRound((s=CF(d.mant),new $Int64(q.$high-s.$high,q.$low-s.$low)),r);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.uquo};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.uquo=function(b,c){return this.$val.uquo(b,c);};BY.ptr.prototype.ucmp=function(b){var b,c,d,e,f,g,h,i,j,k;c=this;if(false){}if(c.exp<b.exp){return-1;}else if(c.exp>b.exp){return 1;}d=c.mant.$length;e=b.mant.$length;while(true){if(!(d>0||e>0)){break;}f=0;g=0;h=f;i=g;if(d>0){d=d-(1)>>0;h=(j=c.mant,((d<0||d>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+d]));}if(e>0){e=e-(1)>>0;i=(k=b.mant,((e<0||e>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+e]));}if(h<i){return-1;}else if(h>i){return 1;}}return 0;};BY.prototype.ucmp=function(b){return this.$val.ucmp(b);};BY.ptr.prototype.Add=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(false){}$s=2;continue;case 1:$r=b.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.validate();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(d.prec===0){d.prec=CJ(b.prec,c.prec);}if((b.form===1)&&(c.form===1)){$s=5;continue;}$s=6;continue;case 5:e=c.neg;d.neg=b.neg;if(b.neg===e){$s=7;continue;}$s=8;continue;case 7:$r=d.uadd(b,c);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=9;continue;case 8:if(b.ucmp(c)>0){$s=11;continue;}$s=12;continue;case 11:$r=d.usub(b,c);$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=13;continue;case 12:d.neg=!d.neg;$r=d.usub(c,b);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 13:case 9:if((d.form===0)&&(d.mode===4)&&(d.acc===0)){d.neg=true;}$s=-1;return d;case 6:if((b.form===2)&&(c.form===2)&&!(b.neg===c.neg)){d.acc=0;d.form=0;d.neg=false;$panic((f=new BZ.ptr("addition of infinities with opposite signs"),new f.constructor.elem(f)));}if((b.form===0)&&(c.form===0)){d.acc=0;d.form=0;d.neg=b.neg&&c.neg;$s=-1;return d;}if((b.form===2)||(c.form===0)){$s=16;continue;}$s=17;continue;case 16:g=d.Set(b);$s=18;case 18:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=19;case 19:return h;case 17:i=d.Set(c);$s=20;case 20:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=21;case 21:return j;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Add};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Add=function(b,c){return this.$val.Add(b,c);};BY.ptr.prototype.Sub=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(false){}$s=2;continue;case 1:$r=b.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.validate();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(d.prec===0){d.prec=CJ(b.prec,c.prec);}if((b.form===1)&&(c.form===1)){$s=5;continue;}$s=6;continue;case 5:e=c.neg;d.neg=b.neg;if(!(b.neg===e)){$s=7;continue;}$s=8;continue;case 7:$r=d.uadd(b,c);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=9;continue;case 8:if(b.ucmp(c)>0){$s=11;continue;}$s=12;continue;case 11:$r=d.usub(b,c);$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=13;continue;case 12:d.neg=!d.neg;$r=d.usub(c,b);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 13:case 9:if((d.form===0)&&(d.mode===4)&&(d.acc===0)){d.neg=true;}$s=-1;return d;case 6:if((b.form===2)&&(c.form===2)&&b.neg===c.neg){d.acc=0;d.form=0;d.neg=false;$panic((f=new BZ.ptr("subtraction of infinities with equal signs"),new f.constructor.elem(f)));}if((b.form===0)&&(c.form===0)){d.acc=0;d.form=0;d.neg=b.neg&&!c.neg;$s=-1;return d;}if((b.form===2)||(c.form===0)){$s=16;continue;}$s=17;continue;case 16:g=d.Set(b);$s=18;case 18:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=19;case 19:return h;case 17:i=d.Neg(c);$s=20;case 20:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=21;case 21:return j;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Sub};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Sub=function(b,c){return this.$val.Sub(b,c);};BY.ptr.prototype.Mul=function(b,c){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(false){}$s=2;continue;case 1:$r=b.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.validate();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(d.prec===0){d.prec=CJ(b.prec,c.prec);}d.neg=!(b.neg===c.neg);if((b.form===1)&&(c.form===1)){$s=5;continue;}$s=6;continue;case 5:$r=d.umul(b,c);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return d;case 6:d.acc=0;if((b.form===0)&&(c.form===2)||(b.form===2)&&(c.form===0)){d.form=0;d.neg=false;$panic((e=new BZ.ptr("multiplication of zero with infinity"),new e.constructor.elem(e)));}if((b.form===2)||(c.form===2)){d.form=2;$s=-1;return d;}d.form=0;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Mul};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Mul=function(b,c){return this.$val.Mul(b,c);};BY.ptr.prototype.Quo=function(b,c){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(false){}$s=2;continue;case 1:$r=b.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.validate();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(d.prec===0){d.prec=CJ(b.prec,c.prec);}d.neg=!(b.neg===c.neg);if((b.form===1)&&(c.form===1)){$s=5;continue;}$s=6;continue;case 5:$r=d.uquo(b,c);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return d;case 6:d.acc=0;if((b.form===0)&&(c.form===0)||(b.form===2)&&(c.form===2)){d.form=0;d.neg=false;$panic((e=new BZ.ptr("division of zero by zero or infinity by infinity"),new e.constructor.elem(e)));}if((b.form===0)||(c.form===2)){d.form=0;$s=-1;return d;}d.form=2;$s=-1;return d;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Quo};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Quo=function(b,c){return this.$val.Quo(b,c);};BY.ptr.prototype.Cmp=function(b){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(false){}$s=2;continue;case 1:$r=c.validate();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.validate();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:d=c.ord();e=b.ord();if(d<e){$s=-1;return-1;}else if(d>e){$s=-1;return 1;}f=d;if(f===(-1)){$s=-1;return b.ucmp(c);}else if(f===(1)){$s=-1;return c.ucmp(b);}$s=-1;return 0;}return;}if($f===undefined){$f={$blk:BY.ptr.prototype.Cmp};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BY.prototype.Cmp=function(b){return this.$val.Cmp(b);};BY.ptr.prototype.ord=function(){var b,c,d;b=this;c=0;d=b.form;if(d===(1)){c=1;}else if(d===(0)){return 0;}else if(d===(2)){c=2;}if(b.neg){c=-c;}return c;};BY.prototype.ord=function(){return this.$val.ord();};CJ=function(b,c){var b,c;if(b>c){return b;}return c;};CK.ptr.prototype.at=function(b){var b,c,d;c=this;if(0<=b&&b<c.mant.$length){return(d=c.mant,((b<0||b>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+b]));}return 48;};CK.prototype.at=function(b){return this.$val.at(b);};CK.ptr.prototype.init=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(b.$length===0){d.mant=$subslice(d.mant,0,0);d.exp=0;$s=-1;return;}if(c<0){e=b.trailingZeroBits();f=((-c>>>0));if(f>=e){f=e;}b=(AH.nil).shr(b,f);c=c+(((f>>0)))>>0;}if(c>0){b=(AH.nil).shl(b,((c>>>0)));c=0;}g=b.utoa(10);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=h.$length;d.exp=i;while(true){if(!(i>0&&((j=i-1>>0,((j<0||j>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+j]))===48))){break;}i=i-(1)>>0;}d.mant=$appendSlice($subslice(d.mant,0,0),$subslice(h,0,i));if(c<0){while(true){if(!(c<-28)){break;}CL(d,28);c=c+(28)>>0;}CL(d,((-c>>>0)));}$s=-1;return;}return;}if($f===undefined){$f={$blk:CK.ptr.prototype.init};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};CK.prototype.init=function(b,c){return this.$val.init(b,c);};CL=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;d=0;e=0;while(true){if(!((((f=c,f<32?(e>>>f):0)>>>0)===0)&&d<b.mant.$length)){break;}h=(((g=b.mant,((d<0||d>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+d]))>>>0));d=d+(1)>>0;e=(($imul(e,10)>>>0)+h>>>0)-48>>>0;}if(e===0){b.mant=$subslice(b.mant,0,0);return;}while(true){if(!(((i=c,i<32?(e>>>i):0)>>>0)===0)){break;}d=d+(1)>>0;e=$imul(e,(10))>>>0;}b.exp=b.exp+((1-d>>0))>>0;j=0;l=((k=c,k<32?(1<<k):0)>>>0)-1>>>0;while(true){if(!(d<b.mant.$length)){break;}n=(((m=b.mant,((d<0||d>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+d]))>>>0));d=d+(1)>>0;p=(o=c,o<32?(e>>>o):0)>>>0;e=(e&(l))>>>0;(q=b.mant,((j<0||j>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+j]=(((p+48>>>0)<<24>>>24))));j=j+(1)>>0;e=(($imul(e,10)>>>0)+n>>>0)-48>>>0;}while(true){if(!(e>0&&j<b.mant.$length)){break;}s=(r=c,r<32?(e>>>r):0)>>>0;e=(e&(l))>>>0;(t=b.mant,((j<0||j>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+j]=(((s+48>>>0)<<24>>>24))));j=j+(1)>>0;e=$imul(e,10)>>>0;}b.mant=$subslice(b.mant,0,j);while(true){if(!(e>0)){break;}v=(u=c,u<32?(e>>>u):0)>>>0;e=(e&(l))>>>0;b.mant=$append(b.mant,(((v+48>>>0)<<24>>>24)));e=$imul(e,10)>>>0;}CO(b);};CK.ptr.prototype.String=function(){var b,c;b=this;if(b.mant.$length===0){return"0";}c=DW.nil;if(b.exp<=0){c=$makeSlice(DW,0,((2+(-b.exp)>>0)+b.mant.$length>>0));c=$appendSlice(c,"0.");c=CM(c,-b.exp);c=$appendSlice(c,b.mant);}else if(b.exp<b.mant.$length){c=$makeSlice(DW,0,(1+b.mant.$length>>0));c=$appendSlice(c,$subslice(b.mant,0,b.exp));c=$append(c,46);c=$appendSlice(c,$subslice(b.mant,b.exp));}else{c=$makeSlice(DW,0,b.exp);c=$appendSlice(c,b.mant);c=CM(c,b.exp-b.mant.$length>>0);}return($bytesToString(c));};CK.prototype.String=function(){return this.$val.String();};CM=function(b,c){var b,c;while(true){if(!(c>0)){break;}b=$append(b,48);c=c-(1)>>0;}return b;};CN=function(b,c){var b,c,d,e,f,g;if(((d=b.mant,((c<0||c>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+c]))===53)&&((c+1>>0)===b.mant.$length)){return c>0&&!(((((((e=b.mant,f=c-1>>0,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]))-48<<24>>>24))&1)>>>0)===0));}return(g=b.mant,((c<0||c>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+c]))>=53;};CK.ptr.prototype.round=function(b){var b,c;c=this;if(b<0||b>=c.mant.$length){return;}if(CN(c,b)){c.roundUp(b);}else{c.roundDown(b);}};CK.prototype.round=function(b){return this.$val.round(b);};CK.ptr.prototype.roundUp=function(b){var b,c,d,e,f,g,h,i;c=this;if(b<0||b>=c.mant.$length){return;}while(true){if(!(b>0&&(d=c.mant,e=b-1>>0,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]))>=57)){break;}b=b-(1)>>0;}if(b===0){(f=c.mant,(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]=49));c.mant=$subslice(c.mant,0,1);c.exp=c.exp+(1)>>0;return;}g=b-1>>0;(i=c.mant,((g<0||g>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+g]=((h=c.mant,((g<0||g>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+g]))+(1)<<24>>>24)));c.mant=$subslice(c.mant,0,b);};CK.prototype.roundUp=function(b){return this.$val.roundUp(b);};CK.ptr.prototype.roundDown=function(b){var b,c;c=this;if(b<0||b>=c.mant.$length){return;}c.mant=$subslice(c.mant,0,b);CO(c);};CK.prototype.roundDown=function(b){return this.$val.roundDown(b);};CO=function(b){var b,c,d,e;c=b.mant.$length;while(true){if(!(c>0&&((d=b.mant,e=c-1>>0,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]))===48))){break;}c=c-(1)>>0;}b.mant=$subslice(b.mant,0,c);if(c===0){b.exp=0;}};CP=function(b,c){var b,c,d,e,f;d=0;e=0;f=CY(b,c);d=f[0];e=f[1];return[d,e];};CQ=function(b,c,d){var b,c,d,e;e=0;e=DB(b,c,d);return e;};CR=function(b,c,d){var b,c,d,e;e=0;e=DC(b,c,d);return e;};CS=function(b,c,d){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=0;f=DD;if(b.$length>32){f=DE;}g=f(b,c,d);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}e=g;h=e;$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:CS};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};CT=function(b,c,d){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=0;f=DF;if(b.$length>32){f=DG;}g=f(b,c,d);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}e=g;h=e;$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:CT};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};CU=function(b,c,d){var b,c,d,e;e=0;e=DH(b,c,d);return e;};CV=function(b,c,d){var b,c,d,e;e=0;e=DI(b,c,d);return e;};CW=function(b,c,d,e){var b,c,d,e,f;f=0;f=DJ(b,c,d,e);return f;};CX=function(b,c,d){var b,c,d,e;e=0;e=DK(b,c,d);return e;};CY=function(b,c){var b,c,d,e,f,g,h,i,j;d=0;e=0;f=J.Mul(((b>>>0)),((c>>>0)));g=f[0];h=f[1];i=((g>>>0));j=((h>>>0));d=i;e=j;return[d,e];};CZ=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m;e=0;f=0;g=J.Mul(((b>>>0)),((c>>>0)));h=g[0];i=g[1];j=0;k=J.Add(i,((d>>>0)),0);i=k[0];j=k[1];l=(((h+j>>>0)>>>0));m=((i>>>0));e=l;f=m;return[e,f];};DA=function(b){var b;return((J.LeadingZeros(((b>>>0)))>>>0));};DB=function(b,c,d){var b,c,d,e,f,g,h,i;e=0;f=0;while(true){if(!(f<b.$length&&f<c.$length&&f<d.$length)){break;}g=J.Add(((((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f])>>>0)),((((f<0||f>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+f])>>>0)),((e>>>0)));h=g[0];i=g[1];((f<0||f>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+f]=((h>>>0)));e=((i>>>0));f=f+(1)>>0;}return e;};DC=function(b,c,d){var b,c,d,e,f,g,h,i;e=0;f=0;while(true){if(!(f<b.$length&&f<c.$length&&f<d.$length)){break;}g=J.Sub(((((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f])>>>0)),((((f<0||f>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+f])>>>0)),((e>>>0)));h=g[0];i=g[1];((f<0||f>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+f]=((h>>>0)));e=((i>>>0));f=f+(1)>>0;}return e;};DD=function(b,c,d){var b,c,d,e,f,g,h,i;e=0;e=d;f=0;while(true){if(!(f<b.$length&&f<c.$length)){break;}g=J.Add(((((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f])>>>0)),((e>>>0)),0);h=g[0];i=g[1];((f<0||f>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+f]=((h>>>0)));e=((i>>>0));f=f+(1)>>0;}return e;};DE=function(b,c,d){var b,c,d,e,f,g,h,i;e=0;e=d;f=0;while(true){if(!(f<b.$length&&f<c.$length)){break;}if(e===0){$copySlice($subslice(b,f),$subslice(c,f));return e;}g=J.Add(((((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f])>>>0)),((e>>>0)),0);h=g[0];i=g[1];((f<0||f>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+f]=((h>>>0)));e=((i>>>0));f=f+(1)>>0;}return e;};DF=function(b,c,d){var b,c,d,e,f,g,h,i;e=0;e=d;f=0;while(true){if(!(f<b.$length&&f<c.$length)){break;}g=J.Sub(((((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f])>>>0)),((e>>>0)),0);h=g[0];i=g[1];((f<0||f>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+f]=((h>>>0)));e=((i>>>0));f=f+(1)>>0;}return e;};DG=function(b,c,d){var b,c,d,e,f,g,h,i;e=0;e=d;f=0;while(true){if(!(f<b.$length&&f<c.$length)){break;}if(e===0){$copySlice($subslice(b,f),$subslice(c,f));return e;}g=J.Sub(((((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f])>>>0)),((e>>>0)),0);h=g[0];i=g[1];((f<0||f>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+f]=((h>>>0)));e=((i>>>0));f=f+(1)>>0;}return e;};DH=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m;e=0;if(d===0){$copySlice(b,c);return e;}if(b.$length===0){return e;}d=(d&(31))>>>0;f=32-d>>>0;f=(f&(31))>>>0;e=(g=f,g<32?((h=b.$length-1>>0,((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]))>>>g):0)>>>0;i=b.$length-1>>0;while(true){if(!(i>0)){break;}((i<0||i>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+i]=((((j=d,j<32?(((i<0||i>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+i])<<j):0)>>>0)|((k=f,k<32?((l=i-1>>0,((l<0||l>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+l]))>>>k):0)>>>0))>>>0));i=i-(1)>>0;}(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]=((m=d,m<32?((0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])<<m):0)>>>0));return e;};DI=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;e=0;if(d===0){$copySlice(b,c);return e;}if(b.$length===0){return e;}if(!((c.$length===b.$length))){$panic(new $String("len(x) != len(z)"));}d=(d&(31))>>>0;f=32-d>>>0;f=(f&(31))>>>0;e=(g=f,g<32?((0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])<<g):0)>>>0;h=1;while(true){if(!(h<b.$length)){break;}(l=h-1>>0,((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]=((((i=d,i<32?((j=h-1>>0,((j<0||j>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+j]))>>>i):0)>>>0)|((k=f,k<32?(((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h])<<k):0)>>>0))>>>0)));h=h+(1)>>0;}(o=b.$length-1>>0,((o<0||o>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+o]=((m=d,m<32?((n=b.$length-1>>0,((n<0||n>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+n]))>>>m):0)>>>0)));return e;};DJ=function(b,c,d,e){var b,c,d,e,f,g,h;f=0;f=e;g=0;while(true){if(!(g<b.$length&&g<c.$length)){break;}h=CZ(((g<0||g>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+g]),d,f);f=h[0];((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g]=h[1]);g=g+(1)>>0;}return f;};DK=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n;e=0;f=0;while(true){if(!(f<b.$length&&f<c.$length)){break;}g=CZ(((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]),d,((f<0||f>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+f]));h=g[0];i=g[1];j=J.Add(((i>>>0)),((e>>>0)),0);k=j[0];l=j[1];m=((l>>>0));n=((k>>>0));e=m;((f<0||f>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+f]=n);e=e+(h)>>>0;f=f+(1)>>0;}return e;};DL=function(b,c,d,e){var aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=0;g=0;h=DA(d);if(!((h===0))){b=(((i=h,i<32?(b<<i):0)>>>0)|((j=((32-h>>>0)),j<32?(c>>>j):0)>>>0))>>>0;c=(k=(h),k<32?(c<<k):0)>>>0;d=(l=(h),l<32?(d<<l):0)>>>0;}m=((d>>>0));n=J.Mul(((e>>>0)),((b>>>0)));o=n[0];p=n[1];q=J.Add(p,((c>>>0)),0);r=q[1];s=J.Add(o,((b>>>0)),r);o=s[0];t=o;u=J.Mul(m,t);v=u[0];w=u[1];x=J.Sub(((c>>>0)),w,0);y=x[0];z=x[1];aa=J.Sub(((b>>>0)),v,z);ab=aa[0];if(!((ab===0))){t=t+(1)>>>0;y=y-(m)>>>0;}if(y>=m){t=t+(1)>>>0;y=y-(m)>>>0;}ac=((t>>>0));ad=((((ae=h,ae<32?(y>>>ae):0)>>>0)>>>0));f=ac;g=ad;return[f,g];};DM=function(b){var b,c,d,e,f,g,h;d=((((c=DA(b),c<32?(b<<c):0)>>>0)>>>0));e=~d>>>0;f=4294967295;g=J.Div(e,f,d);h=g[0];return((h>>>0));};CD.prototype.String=function(){var b,c;b=this.$val;b=b-(-1)<<24>>24;if(b<0||b>=3){return"Accuracy("+C.FormatInt((new $Int64(0,(b+-1<<24>>24))),10)+")";}return $substring("BelowExactAbove",((b<0||b>=DN.length)?($throwRuntimeError("index out of range"),undefined):DN[b]),(c=b+1<<24>>24,((c<0||c>=DN.length)?($throwRuntimeError("index out of range"),undefined):DN[c])));};$ptrType(CD).prototype.String=function(){return new CD(this.$get()).String();};DV.methods=[{prop:"GobEncode",name:"GobEncode",pkg:"",typ:$funcType([],[DW,$error],false)},{prop:"GobDecode",name:"GobDecode",pkg:"",typ:$funcType([DW],[$error],false)},{prop:"MarshalText",name:"MarshalText",pkg:"",typ:$funcType([],[DW,$error],false)},{prop:"UnmarshalText",name:"UnmarshalText",pkg:"",typ:$funcType([DW],[$error],false)},{prop:"Scan",name:"Scan",pkg:"",typ:$funcType([F.ScanState,$Int32],[$error],false)},{prop:"SetString",name:"SetString",pkg:"",typ:$funcType([$String],[DV,$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"marshal",name:"marshal",pkg:"math/big",typ:$funcType([],[DW],false)},{prop:"RatString",name:"RatString",pkg:"",typ:$funcType([],[$String],false)},{prop:"FloatString",name:"FloatString",pkg:"",typ:$funcType([$Int],[$String],false)},{prop:"SetFloat64",name:"SetFloat64",pkg:"",typ:$funcType([$Float64],[DV],false)},{prop:"Float32",name:"Float32",pkg:"",typ:$funcType([],[$Float32,$Bool],false)},{prop:"Float64",name:"Float64",pkg:"",typ:$funcType([],[$Float64,$Bool],false)},{prop:"SetFrac",name:"SetFrac",pkg:"",typ:$funcType([DX,DX],[DV],false)},{prop:"SetFrac64",name:"SetFrac64",pkg:"",typ:$funcType([$Int64,$Int64],[DV],false)},{prop:"SetInt",name:"SetInt",pkg:"",typ:$funcType([DX],[DV],false)},{prop:"SetInt64",name:"SetInt64",pkg:"",typ:$funcType([$Int64],[DV],false)},{prop:"SetUint64",name:"SetUint64",pkg:"",typ:$funcType([$Uint64],[DV],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([DV],[DV],false)},{prop:"Abs",name:"Abs",pkg:"",typ:$funcType([DV],[DV],false)},{prop:"Neg",name:"Neg",pkg:"",typ:$funcType([DV],[DV],false)},{prop:"Inv",name:"Inv",pkg:"",typ:$funcType([DV],[DV],false)},{prop:"Sign",name:"Sign",pkg:"",typ:$funcType([],[$Int],false)},{prop:"IsInt",name:"IsInt",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Num",name:"Num",pkg:"",typ:$funcType([],[DX],false)},{prop:"Denom",name:"Denom",pkg:"",typ:$funcType([],[DX],false)},{prop:"norm",name:"norm",pkg:"math/big",typ:$funcType([],[DV],false)},{prop:"Cmp",name:"Cmp",pkg:"",typ:$funcType([DV],[$Int],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([DV,DV],[DV],false)},{prop:"Sub",name:"Sub",pkg:"",typ:$funcType([DV,DV],[DV],false)},{prop:"Mul",name:"Mul",pkg:"",typ:$funcType([DV,DV],[DV],false)},{prop:"Quo",name:"Quo",pkg:"",typ:$funcType([DV,DV],[DV],false)}];AH.methods=[{prop:"probablyPrimeMillerRabin",name:"probablyPrimeMillerRabin",pkg:"math/big",typ:$funcType([$Int,$Bool],[$Bool],false)},{prop:"probablyPrimeLucas",name:"probablyPrimeLucas",pkg:"math/big",typ:$funcType([],[$Bool],false)},{prop:"div",name:"div",pkg:"math/big",typ:$funcType([AH,AH,AH],[AH,AH],false)},{prop:"divW",name:"divW",pkg:"math/big",typ:$funcType([AH,BQ],[AH,BQ],false)},{prop:"modW",name:"modW",pkg:"math/big",typ:$funcType([BQ],[BQ],false)},{prop:"divLarge",name:"divLarge",pkg:"math/big",typ:$funcType([AH,AH,AH],[AH,AH],false)},{prop:"divBasic",name:"divBasic",pkg:"math/big",typ:$funcType([AH,AH],[],false)},{prop:"divRecursive",name:"divRecursive",pkg:"math/big",typ:$funcType([AH,AH],[],false)},{prop:"divRecursiveStep",name:"divRecursiveStep",pkg:"math/big",typ:$funcType([AH,AH,$Int,DZ,EA],[],false)},{prop:"scan",name:"scan",pkg:"math/big",typ:$funcType([G.ByteScanner,$Int,$Bool],[AH,$Int,$Int,$error],false)},{prop:"utoa",name:"utoa",pkg:"math/big",typ:$funcType([$Int],[DW],false)},{prop:"itoa",name:"itoa",pkg:"math/big",typ:$funcType([$Bool,$Int],[DW],false)},{prop:"convertWords",name:"convertWords",pkg:"math/big",typ:$funcType([DW,BQ,$Int,BQ,EB],[],false)},{prop:"expWW",name:"expWW",pkg:"math/big",typ:$funcType([BQ,BQ],[AH],false)},{prop:"clear",name:"clear",pkg:"math/big",typ:$funcType([],[],false)},{prop:"norm",name:"norm",pkg:"math/big",typ:$funcType([],[AH],false)},{prop:"make",name:"make",pkg:"math/big",typ:$funcType([$Int],[AH],false)},{prop:"setWord",name:"setWord",pkg:"math/big",typ:$funcType([BQ],[AH],false)},{prop:"setUint64",name:"setUint64",pkg:"math/big",typ:$funcType([$Uint64],[AH],false)},{prop:"set",name:"set",pkg:"math/big",typ:$funcType([AH],[AH],false)},{prop:"add",name:"add",pkg:"math/big",typ:$funcType([AH,AH],[AH],false)},{prop:"sub",name:"sub",pkg:"math/big",typ:$funcType([AH,AH],[AH],false)},{prop:"cmp",name:"cmp",pkg:"math/big",typ:$funcType([AH],[$Int],false)},{prop:"mulAddWW",name:"mulAddWW",pkg:"math/big",typ:$funcType([AH,BQ,BQ],[AH],false)},{prop:"montgomery",name:"montgomery",pkg:"math/big",typ:$funcType([AH,AH,AH,BQ,$Int],[AH],false)},{prop:"mul",name:"mul",pkg:"math/big",typ:$funcType([AH,AH],[AH],false)},{prop:"sqr",name:"sqr",pkg:"math/big",typ:$funcType([AH],[AH],false)},{prop:"mulRange",name:"mulRange",pkg:"math/big",typ:$funcType([$Uint64,$Uint64],[AH],false)},{prop:"bitLen",name:"bitLen",pkg:"math/big",typ:$funcType([],[$Int],false)},{prop:"trailingZeroBits",name:"trailingZeroBits",pkg:"math/big",typ:$funcType([],[$Uint],false)},{prop:"shl",name:"shl",pkg:"math/big",typ:$funcType([AH,$Uint],[AH],false)},{prop:"shr",name:"shr",pkg:"math/big",typ:$funcType([AH,$Uint],[AH],false)},{prop:"setBit",name:"setBit",pkg:"math/big",typ:$funcType([AH,$Uint,$Uint],[AH],false)},{prop:"bit",name:"bit",pkg:"math/big",typ:$funcType([$Uint],[$Uint],false)},{prop:"sticky",name:"sticky",pkg:"math/big",typ:$funcType([$Uint],[$Uint],false)},{prop:"and",name:"and",pkg:"math/big",typ:$funcType([AH,AH],[AH],false)},{prop:"andNot",name:"andNot",pkg:"math/big",typ:$funcType([AH,AH],[AH],false)},{prop:"or",name:"or",pkg:"math/big",typ:$funcType([AH,AH],[AH],false)},{prop:"xor",name:"xor",pkg:"math/big",typ:$funcType([AH,AH],[AH],false)},{prop:"random",name:"random",pkg:"math/big",typ:$funcType([EE,AH,$Int],[AH],false)},{prop:"expNN",name:"expNN",pkg:"math/big",typ:$funcType([AH,AH,AH],[AH],false)},{prop:"expNNWindowed",name:"expNNWindowed",pkg:"math/big",typ:$funcType([AH,AH,AH],[AH],false)},{prop:"expNNMontgomery",name:"expNNMontgomery",pkg:"math/big",typ:$funcType([AH,AH,AH],[AH],false)},{prop:"bytes",name:"bytes",pkg:"math/big",typ:$funcType([DW],[$Int],false)},{prop:"setBytes",name:"setBytes",pkg:"math/big",typ:$funcType([DW],[AH],false)},{prop:"sqrt",name:"sqrt",pkg:"math/big",typ:$funcType([AH],[AH],false)}];BG.methods=[{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"UnreadByte",name:"UnreadByte",pkg:"",typ:$funcType([],[$error],false)}];DX.methods=[{prop:"scaleDenom",name:"scaleDenom",pkg:"math/big",typ:$funcType([DX,AH],[],false)},{prop:"ProbablyPrime",name:"ProbablyPrime",pkg:"",typ:$funcType([$Int],[$Bool],false)},{prop:"GobEncode",name:"GobEncode",pkg:"",typ:$funcType([],[DW,$error],false)},{prop:"GobDecode",name:"GobDecode",pkg:"",typ:$funcType([DW],[$error],false)},{prop:"MarshalText",name:"MarshalText",pkg:"",typ:$funcType([],[DW,$error],false)},{prop:"UnmarshalText",name:"UnmarshalText",pkg:"",typ:$funcType([DW],[$error],false)},{prop:"MarshalJSON",name:"MarshalJSON",pkg:"",typ:$funcType([],[DW,$error],false)},{prop:"UnmarshalJSON",name:"UnmarshalJSON",pkg:"",typ:$funcType([DW],[$error],false)},{prop:"Text",name:"Text",pkg:"",typ:$funcType([$Int],[$String],false)},{prop:"Append",name:"Append",pkg:"",typ:$funcType([DW,$Int],[DW],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Format",name:"Format",pkg:"",typ:$funcType([F.State,$Int32],[],false)},{prop:"scan",name:"scan",pkg:"math/big",typ:$funcType([G.ByteScanner,$Int],[DX,$Int,$error],false)},{prop:"Scan",name:"Scan",pkg:"",typ:$funcType([F.ScanState,$Int32],[$error],false)},{prop:"Sign",name:"Sign",pkg:"",typ:$funcType([],[$Int],false)},{prop:"SetInt64",name:"SetInt64",pkg:"",typ:$funcType([$Int64],[DX],false)},{prop:"SetUint64",name:"SetUint64",pkg:"",typ:$funcType([$Uint64],[DX],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([DX],[DX],false)},{prop:"Bits",name:"Bits",pkg:"",typ:$funcType([],[DY],false)},{prop:"SetBits",name:"SetBits",pkg:"",typ:$funcType([DY],[DX],false)},{prop:"Abs",name:"Abs",pkg:"",typ:$funcType([DX],[DX],false)},{prop:"Neg",name:"Neg",pkg:"",typ:$funcType([DX],[DX],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([DX,DX],[DX],false)},{prop:"Sub",name:"Sub",pkg:"",typ:$funcType([DX,DX],[DX],false)},{prop:"Mul",name:"Mul",pkg:"",typ:$funcType([DX,DX],[DX],false)},{prop:"MulRange",name:"MulRange",pkg:"",typ:$funcType([$Int64,$Int64],[DX],false)},{prop:"Binomial",name:"Binomial",pkg:"",typ:$funcType([$Int64,$Int64],[DX],false)},{prop:"Quo",name:"Quo",pkg:"",typ:$funcType([DX,DX],[DX],false)},{prop:"Rem",name:"Rem",pkg:"",typ:$funcType([DX,DX],[DX],false)},{prop:"QuoRem",name:"QuoRem",pkg:"",typ:$funcType([DX,DX,DX],[DX,DX],false)},{prop:"Div",name:"Div",pkg:"",typ:$funcType([DX,DX],[DX],false)},{prop:"Mod",name:"Mod",pkg:"",typ:$funcType([DX,DX],[DX],false)},{prop:"DivMod",name:"DivMod",pkg:"",typ:$funcType([DX,DX,DX],[DX,DX],false)},{prop:"Cmp",name:"Cmp",pkg:"",typ:$funcType([DX],[$Int],false)},{prop:"CmpAbs",name:"CmpAbs",pkg:"",typ:$funcType([DX],[$Int],false)},{prop:"Int64",name:"Int64",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([],[$Uint64],false)},{prop:"IsInt64",name:"IsInt64",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsUint64",name:"IsUint64",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"SetString",name:"SetString",pkg:"",typ:$funcType([$String,$Int],[DX,$Bool],false)},{prop:"setFromScanner",name:"setFromScanner",pkg:"math/big",typ:$funcType([G.ByteScanner,$Int],[DX,$Bool],false)},{prop:"SetBytes",name:"SetBytes",pkg:"",typ:$funcType([DW],[DX],false)},{prop:"Bytes",name:"Bytes",pkg:"",typ:$funcType([],[DW],false)},{prop:"FillBytes",name:"FillBytes",pkg:"",typ:$funcType([DW],[DW],false)},{prop:"BitLen",name:"BitLen",pkg:"",typ:$funcType([],[$Int],false)},{prop:"TrailingZeroBits",name:"TrailingZeroBits",pkg:"",typ:$funcType([],[$Uint],false)},{prop:"Exp",name:"Exp",pkg:"",typ:$funcType([DX,DX,DX],[DX],false)},{prop:"GCD",name:"GCD",pkg:"",typ:$funcType([DX,DX,DX,DX],[DX],false)},{prop:"lehmerGCD",name:"lehmerGCD",pkg:"math/big",typ:$funcType([DX,DX,DX,DX],[DX],false)},{prop:"Rand",name:"Rand",pkg:"",typ:$funcType([EE,DX],[DX],false)},{prop:"ModInverse",name:"ModInverse",pkg:"",typ:$funcType([DX,DX],[DX],false)},{prop:"modSqrt3Mod4Prime",name:"modSqrt3Mod4Prime",pkg:"math/big",typ:$funcType([DX,DX],[DX],false)},{prop:"modSqrt5Mod8Prime",name:"modSqrt5Mod8Prime",pkg:"math/big",typ:$funcType([DX,DX],[DX],false)},{prop:"modSqrtTonelliShanks",name:"modSqrtTonelliShanks",pkg:"math/big",typ:$funcType([DX,DX],[DX],false)},{prop:"ModSqrt",name:"ModSqrt",pkg:"",typ:$funcType([DX,DX],[DX],false)},{prop:"Lsh",name:"Lsh",pkg:"",typ:$funcType([DX,$Uint],[DX],false)},{prop:"Rsh",name:"Rsh",pkg:"",typ:$funcType([DX,$Uint],[DX],false)},{prop:"Bit",name:"Bit",pkg:"",typ:$funcType([$Int],[$Uint],false)},{prop:"SetBit",name:"SetBit",pkg:"",typ:$funcType([DX,$Int,$Uint],[DX],false)},{prop:"And",name:"And",pkg:"",typ:$funcType([DX,DX],[DX],false)},{prop:"AndNot",name:"AndNot",pkg:"",typ:$funcType([DX,DX],[DX],false)},{prop:"Or",name:"Or",pkg:"",typ:$funcType([DX,DX],[DX],false)},{prop:"Xor",name:"Xor",pkg:"",typ:$funcType([DX,DX],[DX],false)},{prop:"Not",name:"Not",pkg:"",typ:$funcType([DX],[DX],false)},{prop:"Sqrt",name:"Sqrt",pkg:"",typ:$funcType([DX],[DX],false)}];DO.methods=[{prop:"Sqrt",name:"Sqrt",pkg:"",typ:$funcType([DO],[DO],false)},{prop:"sqrtInverse",name:"sqrtInverse",pkg:"math/big",typ:$funcType([DO],[],false)},{prop:"Text",name:"Text",pkg:"",typ:$funcType([$Uint8,$Int],[$String],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Append",name:"Append",pkg:"",typ:$funcType([DW,$Uint8,$Int],[DW],false)},{prop:"fmtB",name:"fmtB",pkg:"math/big",typ:$funcType([DW],[DW],false)},{prop:"fmtX",name:"fmtX",pkg:"math/big",typ:$funcType([DW,$Int],[DW],false)},{prop:"fmtP",name:"fmtP",pkg:"math/big",typ:$funcType([DW],[DW],false)},{prop:"Format",name:"Format",pkg:"",typ:$funcType([F.State,$Int32],[],false)},{prop:"GobEncode",name:"GobEncode",pkg:"",typ:$funcType([],[DW,$error],false)},{prop:"GobDecode",name:"GobDecode",pkg:"",typ:$funcType([DW],[$error],false)},{prop:"MarshalText",name:"MarshalText",pkg:"",typ:$funcType([],[DW,$error],false)},{prop:"UnmarshalText",name:"UnmarshalText",pkg:"",typ:$funcType([DW],[$error],false)},{prop:"SetString",name:"SetString",pkg:"",typ:$funcType([$String],[DO,$Bool],false)},{prop:"scan",name:"scan",pkg:"math/big",typ:$funcType([G.ByteScanner,$Int],[DO,$Int,$error],false)},{prop:"pow5",name:"pow5",pkg:"math/big",typ:$funcType([$Uint64],[DO],false)},{prop:"Parse",name:"Parse",pkg:"",typ:$funcType([$String,$Int],[DO,$Int,$error],false)},{prop:"Scan",name:"Scan",pkg:"",typ:$funcType([F.ScanState,$Int32],[$error],false)},{prop:"SetPrec",name:"SetPrec",pkg:"",typ:$funcType([$Uint],[DO],false)},{prop:"SetMode",name:"SetMode",pkg:"",typ:$funcType([CC],[DO],false)},{prop:"Prec",name:"Prec",pkg:"",typ:$funcType([],[$Uint],false)},{prop:"MinPrec",name:"MinPrec",pkg:"",typ:$funcType([],[$Uint],false)},{prop:"Mode",name:"Mode",pkg:"",typ:$funcType([],[CC],false)},{prop:"Acc",name:"Acc",pkg:"",typ:$funcType([],[CD],false)},{prop:"Sign",name:"Sign",pkg:"",typ:$funcType([],[$Int],false)},{prop:"MantExp",name:"MantExp",pkg:"",typ:$funcType([DO],[$Int],false)},{prop:"setExpAndRound",name:"setExpAndRound",pkg:"math/big",typ:$funcType([$Int64,$Uint],[],false)},{prop:"SetMantExp",name:"SetMantExp",pkg:"",typ:$funcType([DO,$Int],[DO],false)},{prop:"Signbit",name:"Signbit",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsInf",name:"IsInf",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsInt",name:"IsInt",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"validate",name:"validate",pkg:"math/big",typ:$funcType([],[],false)},{prop:"round",name:"round",pkg:"math/big",typ:$funcType([$Uint],[],false)},{prop:"setBits64",name:"setBits64",pkg:"math/big",typ:$funcType([$Bool,$Uint64],[DO],false)},{prop:"SetUint64",name:"SetUint64",pkg:"",typ:$funcType([$Uint64],[DO],false)},{prop:"SetInt64",name:"SetInt64",pkg:"",typ:$funcType([$Int64],[DO],false)},{prop:"SetFloat64",name:"SetFloat64",pkg:"",typ:$funcType([$Float64],[DO],false)},{prop:"SetInt",name:"SetInt",pkg:"",typ:$funcType([DX],[DO],false)},{prop:"SetRat",name:"SetRat",pkg:"",typ:$funcType([DV],[DO],false)},{prop:"SetInf",name:"SetInf",pkg:"",typ:$funcType([$Bool],[DO],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([DO],[DO],false)},{prop:"Copy",name:"Copy",pkg:"",typ:$funcType([DO],[DO],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([],[$Uint64,CD],false)},{prop:"Int64",name:"Int64",pkg:"",typ:$funcType([],[$Int64,CD],false)},{prop:"Float32",name:"Float32",pkg:"",typ:$funcType([],[$Float32,CD],false)},{prop:"Float64",name:"Float64",pkg:"",typ:$funcType([],[$Float64,CD],false)},{prop:"Int",name:"Int",pkg:"",typ:$funcType([DX],[DX,CD],false)},{prop:"Rat",name:"Rat",pkg:"",typ:$funcType([DV],[DV,CD],false)},{prop:"Abs",name:"Abs",pkg:"",typ:$funcType([DO],[DO],false)},{prop:"Neg",name:"Neg",pkg:"",typ:$funcType([DO],[DO],false)},{prop:"uadd",name:"uadd",pkg:"math/big",typ:$funcType([DO,DO],[],false)},{prop:"usub",name:"usub",pkg:"math/big",typ:$funcType([DO,DO],[],false)},{prop:"umul",name:"umul",pkg:"math/big",typ:$funcType([DO,DO],[],false)},{prop:"uquo",name:"uquo",pkg:"math/big",typ:$funcType([DO,DO],[],false)},{prop:"ucmp",name:"ucmp",pkg:"math/big",typ:$funcType([DO],[$Int],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([DO,DO],[DO],false)},{prop:"Sub",name:"Sub",pkg:"",typ:$funcType([DO,DO],[DO],false)},{prop:"Mul",name:"Mul",pkg:"",typ:$funcType([DO,DO],[DO],false)},{prop:"Quo",name:"Quo",pkg:"",typ:$funcType([DO,DO],[DO],false)},{prop:"Cmp",name:"Cmp",pkg:"",typ:$funcType([DO],[$Int],false)},{prop:"ord",name:"ord",pkg:"math/big",typ:$funcType([],[$Int],false)}];BZ.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];CC.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];CD.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];EF.methods=[{prop:"at",name:"at",pkg:"math/big",typ:$funcType([$Int],[$Uint8],false)},{prop:"init",name:"init",pkg:"math/big",typ:$funcType([AH,$Int],[],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"round",name:"round",pkg:"math/big",typ:$funcType([$Int],[],false)},{prop:"roundUp",name:"roundUp",pkg:"math/big",typ:$funcType([$Int],[],false)},{prop:"roundDown",name:"roundDown",pkg:"math/big",typ:$funcType([$Int],[],false)}];S.init("math/big",[{prop:"a",name:"a",embedded:false,exported:false,typ:BH,tag:""},{prop:"b",name:"b",embedded:false,exported:false,typ:BH,tag:""}]);AE.init("math/big",[{prop:"bbb",name:"bbb",embedded:false,exported:false,typ:AH,tag:""},{prop:"nbits",name:"nbits",embedded:false,exported:false,typ:$Int,tag:""},{prop:"ndigits",name:"ndigits",embedded:false,exported:false,typ:$Int,tag:""}]);AH.init(BQ);BG.init("",[{prop:"ScanState",name:"ScanState",embedded:true,exported:true,typ:F.ScanState,tag:""}]);BH.init("math/big",[{prop:"neg",name:"neg",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"abs",name:"abs",embedded:false,exported:false,typ:AH,tag:""}]);BY.init("math/big",[{prop:"prec",name:"prec",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"mode",name:"mode",embedded:false,exported:false,typ:CC,tag:""},{prop:"acc",name:"acc",embedded:false,exported:false,typ:CD,tag:""},{prop:"form",name:"form",embedded:false,exported:false,typ:CB,tag:""},{prop:"neg",name:"neg",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"mant",name:"mant",embedded:false,exported:false,typ:AH,tag:""},{prop:"exp",name:"exp",embedded:false,exported:false,typ:$Int32,tag:""}]);BZ.init("math/big",[{prop:"msg",name:"msg",embedded:false,exported:false,typ:$String,tag:""}]);CK.init("math/big",[{prop:"mant",name:"mant",embedded:false,exported:false,typ:DW,tag:""},{prop:"exp",name:"exp",embedded:false,exported:false,typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=K.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}L=new DP.ptr(new B.Once.ptr(false,false),DO.nil);AF=new DS.ptr(new B.Mutex.ptr(false),DR.zero());BB=new B.Pool.ptr(DT.nil,$throwNilPointerError);O=$toNativeArray($kindUint8,[0,13,26,32,44,57,70]);AB=E.New("number has no digits");AC=E.New("'_' must separate successive digits");AD=8;AI=new AH([1]);AJ=new AH([2]);AK=new AH([5]);AL=new AH([10]);AP=40;AX=20;AY=260;BI=new BH.ptr(false,AI);BW=$toNativeArray($kindUint64,[new $Uint64(0,1),new $Uint64(0,5),new $Uint64(0,25),new $Uint64(0,125),new $Uint64(0,625),new $Uint64(0,3125),new $Uint64(0,15625),new $Uint64(0,78125),new $Uint64(0,390625),new $Uint64(0,1953125),new $Uint64(0,9765625),new $Uint64(0,48828125),new $Uint64(0,244140625),new $Uint64(0,1220703125),new $Uint64(1,1808548329),new $Uint64(7,452807053),new $Uint64(35,2264035265),new $Uint64(177,2730241733),new $Uint64(888,766306777),new $Uint64(4440,3831533885),new $Uint64(22204,1977800241),new $Uint64(111022,1299066613),new $Uint64(555111,2200365769),new $Uint64(2775557,2411894253),new $Uint64(13877787,3469536673),new $Uint64(69388939,167814181),new $Uint64(346944695,839070905),new $Uint64(1734723475,4195354525)]);DN=$toNativeArray($kindUint8,[0,5,10,15]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/zclconf/go-cty/cty"]=(function(){var $pkg={},$init,H,F,M,L,A,C,E,I,K,B,D,J,G,AQ,AS,AV,AZ,BA,BB,BC,BD,BG,BI,BL,BO,BP,BX,BY,BZ,CE,CF,CG,CL,CM,CO,CP,CQ,CR,CT,CZ,DA,DE,DG,DJ,DK,DL,DM,DN,DO,DP,DQ,DS,DV,DW,DX,DY,DZ,EA,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EK,EL,EN,EO,EP,EQ,ER,ES,ET,EW,EX,EY,EZ,FA,FB,FC,FD,FE,FF,FG,FH,FI,FJ,FK,FL,FM,AT,BU,DR,b,N,O,S,T,U,V,W,Y,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AU,AW,AX,AY,BE,BF,BH,BJ,BK,BM,BN,BQ,BR,CH,CI,CJ,CK,CN,CS,CU,CW,CX,CY,DC,DF,DH,DI,DT,DU;H=$packages["bytes"];F=$packages["encoding/gob"];M=$packages["encoding/json"];L=$packages["errors"];A=$packages["fmt"];C=$packages["github.com/zclconf/go-cty/cty/set"];E=$packages["golang.org/x/text/unicode/norm"];I=$packages["hash/crc32"];K=$packages["hash/crc64"];B=$packages["math/big"];D=$packages["reflect"];J=$packages["sort"];G=$packages["strings"];AQ=$pkg.Value=$newType(0,$kindStruct,"cty.Value",true,"github.com/zclconf/go-cty/cty",true,function(ty_,v_){this.$val=this;if(arguments.length===0){this.ty=new AZ.ptr($ifaceNil);this.v=$ifaceNil;return;}this.ty=ty_;this.v=v_;});AS=$pkg.unknownType=$newType(0,$kindStruct,"cty.unknownType",true,"github.com/zclconf/go-cty/cty",false,function(){this.$val=this;if(arguments.length===0){return;}});AV=$pkg.pseudoTypeDynamic=$newType(0,$kindStruct,"cty.pseudoTypeDynamic",true,"github.com/zclconf/go-cty/cty",false,function(typeImplSigil_){this.$val=this;if(arguments.length===0){this.typeImplSigil=new BB.ptr();return;}this.typeImplSigil=typeImplSigil_;});AZ=$pkg.Type=$newType(0,$kindStruct,"cty.Type",true,"github.com/zclconf/go-cty/cty",true,function(typeImpl_){this.$val=this;if(arguments.length===0){this.typeImpl=$ifaceNil;return;}this.typeImpl=typeImpl_;});BA=$pkg.typeImpl=$newType(8,$kindInterface,"cty.typeImpl",true,"github.com/zclconf/go-cty/cty",false,null);BB=$pkg.typeImplSigil=$newType(0,$kindStruct,"cty.typeImplSigil",true,"github.com/zclconf/go-cty/cty",false,function(){this.$val=this;if(arguments.length===0){return;}});BC=$pkg.friendlyTypeNameMode=$newType(4,$kindInt32,"cty.friendlyTypeNameMode",true,"github.com/zclconf/go-cty/cty",false,null);BD=$pkg.typeTuple=$newType(0,$kindStruct,"cty.typeTuple",true,"github.com/zclconf/go-cty/cty",false,function(typeImplSigil_,ElemTypes_){this.$val=this;if(arguments.length===0){this.typeImplSigil=new BB.ptr();this.ElemTypes=EF.nil;return;}this.typeImplSigil=typeImplSigil_;this.ElemTypes=ElemTypes_;});BG=$pkg.typeSet=$newType(0,$kindStruct,"cty.typeSet",true,"github.com/zclconf/go-cty/cty",false,function(typeImplSigil_,ElementTypeT_){this.$val=this;if(arguments.length===0){this.typeImplSigil=new BB.ptr();this.ElementTypeT=new AZ.ptr($ifaceNil);return;}this.typeImplSigil=typeImplSigil_;this.ElementTypeT=ElementTypeT_;});BI=$pkg.setRules=$newType(0,$kindStruct,"cty.setRules",true,"github.com/zclconf/go-cty/cty",false,function(Type_){this.$val=this;if(arguments.length===0){this.Type=new AZ.ptr($ifaceNil);return;}this.Type=Type_;});BL=$pkg.ValueSet=$newType(0,$kindStruct,"cty.ValueSet",true,"github.com/zclconf/go-cty/cty",true,function(s_){this.$val=this;if(arguments.length===0){this.s=new C.Set.ptr(false,$ifaceNil);return;}this.s=s_;});BO=$pkg.primitiveType=$newType(0,$kindStruct,"cty.primitiveType",true,"github.com/zclconf/go-cty/cty",false,function(typeImplSigil_,Kind_){this.$val=this;if(arguments.length===0){this.typeImplSigil=new BB.ptr();this.Kind=0;return;}this.typeImplSigil=typeImplSigil_;this.Kind=Kind_;});BP=$pkg.primitiveTypeKind=$newType(1,$kindUint8,"cty.primitiveTypeKind",true,"github.com/zclconf/go-cty/cty",false,null);BX=$pkg.Path=$newType(12,$kindSlice,"cty.Path",true,"github.com/zclconf/go-cty/cty",true,null);BY=$pkg.PathStep=$newType(8,$kindInterface,"cty.PathStep",true,"github.com/zclconf/go-cty/cty",true,null);BZ=$pkg.pathStepImpl=$newType(0,$kindStruct,"cty.pathStepImpl",true,"github.com/zclconf/go-cty/cty",false,function(){this.$val=this;if(arguments.length===0){return;}});CE=$pkg.IndexStep=$newType(0,$kindStruct,"cty.IndexStep",true,"github.com/zclconf/go-cty/cty",true,function(pathStepImpl_,Key_){this.$val=this;if(arguments.length===0){this.pathStepImpl=new BZ.ptr();this.Key=new AQ.ptr(new AZ.ptr($ifaceNil),$ifaceNil);return;}this.pathStepImpl=pathStepImpl_;this.Key=Key_;});CF=$pkg.GetAttrStep=$newType(0,$kindStruct,"cty.GetAttrStep",true,"github.com/zclconf/go-cty/cty",true,function(pathStepImpl_,Name_){this.$val=this;if(arguments.length===0){this.pathStepImpl=new BZ.ptr();this.Name="";return;}this.pathStepImpl=pathStepImpl_;this.Name=Name_;});CG=$pkg.typeObject=$newType(0,$kindStruct,"cty.typeObject",true,"github.com/zclconf/go-cty/cty",false,function(typeImplSigil_,AttrTypes_,AttrOptional_){this.$val=this;if(arguments.length===0){this.typeImplSigil=new BB.ptr();this.AttrTypes=false;this.AttrOptional=false;return;}this.typeImplSigil=typeImplSigil_;this.AttrTypes=AttrTypes_;this.AttrOptional=AttrOptional_;});CL=$pkg.marker=$newType(0,$kindStruct,"cty.marker",true,"github.com/zclconf/go-cty/cty",false,function(realV_,marks_){this.$val=this;if(arguments.length===0){this.realV=$ifaceNil;this.marks=false;return;}this.realV=realV_;this.marks=marks_;});CM=$pkg.ValueMarks=$newType(4,$kindMap,"cty.ValueMarks",true,"github.com/zclconf/go-cty/cty",true,null);CO=$pkg.PathValueMarks=$newType(0,$kindStruct,"cty.PathValueMarks",true,"github.com/zclconf/go-cty/cty",true,function(Path_,Marks_){this.$val=this;if(arguments.length===0){this.Path=BX.nil;this.Marks=false;return;}this.Path=Path_;this.Marks=Marks_;});CP=$pkg.applyPathValueMarksTransformer=$newType(0,$kindStruct,"cty.applyPathValueMarksTransformer",true,"github.com/zclconf/go-cty/cty",false,function(pvm_){this.$val=this;if(arguments.length===0){this.pvm=EP.nil;return;}this.pvm=pvm_;});CQ=$pkg.unmarkTransformer=$newType(0,$kindStruct,"cty.unmarkTransformer",true,"github.com/zclconf/go-cty/cty",false,function(pvm_){this.$val=this;if(arguments.length===0){this.pvm=EP.nil;return;}this.pvm=pvm_;});CR=$pkg.typeMap=$newType(0,$kindStruct,"cty.typeMap",true,"github.com/zclconf/go-cty/cty",false,function(typeImplSigil_,ElementTypeT_){this.$val=this;if(arguments.length===0){this.typeImplSigil=new BB.ptr();this.ElementTypeT=new AZ.ptr($ifaceNil);return;}this.typeImplSigil=typeImplSigil_;this.ElementTypeT=ElementTypeT_;});CT=$pkg.typeList=$newType(0,$kindStruct,"cty.typeList",true,"github.com/zclconf/go-cty/cty",false,function(typeImplSigil_,ElementTypeT_){this.$val=this;if(arguments.length===0){this.typeImplSigil=new BB.ptr();this.ElementTypeT=new AZ.ptr($ifaceNil);return;}this.typeImplSigil=typeImplSigil_;this.ElementTypeT=ElementTypeT_;});CZ=$pkg.gobValue=$newType(0,$kindStruct,"cty.gobValue",true,"github.com/zclconf/go-cty/cty",false,function(Version_,Ty_,V_){this.$val=this;if(arguments.length===0){this.Version=0;this.Ty=new AZ.ptr($ifaceNil);this.V=$ifaceNil;return;}this.Version=Version_;this.Ty=Ty_;this.V=V_;});DA=$pkg.gobType=$newType(0,$kindStruct,"cty.gobType",true,"github.com/zclconf/go-cty/cty",false,function(Version_,Impl_){this.$val=this;if(arguments.length===0){this.Version=0;this.Impl=$ifaceNil;return;}this.Version=Version_;this.Impl=Impl_;});DE=$pkg.PathError=$newType(0,$kindStruct,"cty.PathError",true,"github.com/zclconf/go-cty/cty",true,function(error_,Path_){this.$val=this;if(arguments.length===0){this.error=$ifaceNil;this.Path=BX.nil;return;}this.error=error_;this.Path=Path_;});DG=$pkg.ElementIterator=$newType(8,$kindInterface,"cty.ElementIterator",true,"github.com/zclconf/go-cty/cty",true,null);DJ=$pkg.listElementIterator=$newType(0,$kindStruct,"cty.listElementIterator",true,"github.com/zclconf/go-cty/cty",false,function(ety_,vals_,idx_){this.$val=this;if(arguments.length===0){this.ety=new AZ.ptr($ifaceNil);this.vals=DV.nil;this.idx=0;return;}this.ety=ety_;this.vals=vals_;this.idx=idx_;});DK=$pkg.mapElementIterator=$newType(0,$kindStruct,"cty.mapElementIterator",true,"github.com/zclconf/go-cty/cty",false,function(ety_,vals_,keys_,idx_){this.$val=this;if(arguments.length===0){this.ety=new AZ.ptr($ifaceNil);this.vals=false;this.keys=EL.nil;this.idx=0;return;}this.ety=ety_;this.vals=vals_;this.keys=keys_;this.idx=idx_;});DL=$pkg.setElementIterator=$newType(0,$kindStruct,"cty.setElementIterator",true,"github.com/zclconf/go-cty/cty",false,function(ety_,setIt_){this.$val=this;if(arguments.length===0){this.ety=new AZ.ptr($ifaceNil);this.setIt=ET.nil;return;}this.ety=ety_;this.setIt=setIt_;});DM=$pkg.tupleElementIterator=$newType(0,$kindStruct,"cty.tupleElementIterator",true,"github.com/zclconf/go-cty/cty",false,function(etys_,vals_,idx_){this.$val=this;if(arguments.length===0){this.etys=EF.nil;this.vals=DV.nil;this.idx=0;return;}this.etys=etys_;this.vals=vals_;this.idx=idx_;});DN=$pkg.objectElementIterator=$newType(0,$kindStruct,"cty.objectElementIterator",true,"github.com/zclconf/go-cty/cty",false,function(atys_,vals_,attrNames_,idx_){this.$val=this;if(arguments.length===0){this.atys=false;this.vals=false;this.attrNames=EL.nil;this.idx=0;return;}this.atys=atys_;this.vals=vals_;this.attrNames=attrNames_;this.idx=idx_;});DO=$pkg.collectionTypeImpl=$newType(8,$kindInterface,"cty.collectionTypeImpl",true,"github.com/zclconf/go-cty/cty",false,null);DP=$pkg.ElementCallback=$newType(4,$kindFunc,"cty.ElementCallback",true,"github.com/zclconf/go-cty/cty",true,null);DQ=$pkg.CapsuleOps=$newType(0,$kindStruct,"cty.CapsuleOps",true,"github.com/zclconf/go-cty/cty",true,function(GoString_,TypeGoString_,Equals_,RawEquals_,ConversionFrom_,ConversionTo_,ExtensionData_){this.$val=this;if(arguments.length===0){this.GoString=$throwNilPointerError;this.TypeGoString=$throwNilPointerError;this.Equals=$throwNilPointerError;this.RawEquals=$throwNilPointerError;this.ConversionFrom=$throwNilPointerError;this.ConversionTo=$throwNilPointerError;this.ExtensionData=$throwNilPointerError;return;}this.GoString=GoString_;this.TypeGoString=TypeGoString_;this.Equals=Equals_;this.RawEquals=RawEquals_;this.ConversionFrom=ConversionFrom_;this.ConversionTo=ConversionTo_;this.ExtensionData=ExtensionData_;});DS=$pkg.capsuleType=$newType(0,$kindStruct,"cty.capsuleType",true,"github.com/zclconf/go-cty/cty",false,function(typeImplSigil_,Name_,GoType_,Ops_){this.$val=this;if(arguments.length===0){this.typeImplSigil=new BB.ptr();this.Name="";this.GoType=$ifaceNil;this.Ops=EH.nil;return;}this.typeImplSigil=typeImplSigil_;this.Name=Name_;this.GoType=GoType_;this.Ops=Ops_;});DV=$sliceType($emptyInterface);DW=$sliceType($Uint8);DX=$sliceType(AQ);DY=$sliceType(CM);DZ=$ptrType(B.Float);EA=$mapType($String,AQ);EB=$sliceType($error);EC=$mapType($String,$emptyInterface);ED=$ptrType(AQ);EE=$ptrType(B.Int);EF=$sliceType(AZ);EG=$ptrType(DS);EH=$ptrType(DQ);EI=$ptrType(EB);EJ=$ptrType(AZ);EK=$structType("",[]);EL=$sliceType($String);EN=$mapType($String,AZ);EO=$ptrType(G.Builder);EP=$sliceType(CO);EQ=$ptrType(EN);ER=$ptrType(EL);ES=$ptrType(EF);ET=$ptrType(C.Iterator);EW=$mapType($String,EK);EX=$ptrType(CP);EY=$ptrType(CQ);EZ=$ptrType(DJ);FA=$ptrType(DK);FB=$ptrType(DL);FC=$ptrType(DM);FD=$ptrType(DN);FE=$funcType([$emptyInterface],[$String],false);FF=$funcType([D.Type],[$String],false);FG=$funcType([$emptyInterface,$emptyInterface],[AQ],false);FH=$funcType([$emptyInterface,$emptyInterface],[$Bool],false);FI=$funcType([$emptyInterface,BX],[AQ,$error],false);FJ=$funcType([AZ],[FI],false);FK=$funcType([AQ,BX],[$emptyInterface,$error],false);FL=$funcType([AZ],[FK],false);FM=$funcType([$emptyInterface],[$emptyInterface],false);N=function(c,d){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=BX.nil;f=O(e,$clone(c,AQ),d);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:N};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Walk=N;O=function(c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=e(c,$clone(d,AQ));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];if(!($interfaceIsEqual(i,$ifaceNil))){$s=-1;return i;}if(!h){$s=-1;return $ifaceNil;}if($clone(d,AQ).IsNull()||!$clone(d,AQ).IsKnown()){$s=-1;return $ifaceNil;}j=$clone(d,AQ).Unmark();k=$clone(j[0],AQ);l=$clone($clone(d,AQ).Type(),AZ);if($clone(l,AZ).IsObjectType()){$s=3;continue;}if($clone(k,AQ).CanIterateElements()){$s=4;continue;}$s=5;continue;case 3:m=$clone(k,AQ).ElementIterator();$s=6;case 6:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;case 7:o=n.Next();$s=9;case 9:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}if(!(o)){$s=8;continue;}q=n.Element();$s=10;case 10:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=$clone(p[0],AQ);s=$clone(p[1],AQ);u=$append(c,(t=new CF.ptr(new BZ.ptr(),$clone(r,AQ).AsString()),new t.constructor.elem(t)));v=O(u,$clone(s,AQ),e);$s=11;case 11:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v;if(!($interfaceIsEqual(w,$ifaceNil))){$s=-1;return w;}$s=7;continue;case 8:$s=5;continue;case 4:x=$clone(k,AQ).ElementIterator();$s=12;case 12:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;case 13:z=y.Next();$s=15;case 15:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}if(!(z)){$s=14;continue;}ab=y.Element();$s=16;case 16:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;ac=$clone(aa[0],AQ);ad=$clone(aa[1],AQ);af=$append(c,(ae=new CE.ptr(new BZ.ptr(),$clone(ac,AQ)),new ae.constructor.elem(ae)));ag=O(af,$clone(ad,AQ),e);$s=17;case 17:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=ag;if(!($interfaceIsEqual(ah,$ifaceNil))){$s=-1;return ah;}$s=13;continue;case 14:case 5:case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:O};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};S=function(c,d){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=BX.nil;f=T(e,$clone(c,AQ),d);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:S};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TransformWithTransformer=S;T=function(c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=e.Enter(c,$clone(d,AQ));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;d=$clone(f[0],AQ);h=f[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[$pkg.DynamicVal,h];}i=$clone($clone(d,AQ).Type(),AZ);j=new AQ.ptr(new AZ.ptr($ifaceNil),$ifaceNil);k=$clone(d,AQ).Unmark();l=$clone(k[0],AQ);m=k[1];if($clone(d,AQ).IsNull()||!$clone(d,AQ).IsKnown()){$s=3;continue;}if($clone(i,AZ).IsListType()||$clone(i,AZ).IsSetType()||$clone(i,AZ).IsTupleType()){$s=4;continue;}if($clone(i,AZ).IsMapType()){$s=5;continue;}if($clone(i,AZ).IsObjectType()){$s=6;continue;}$s=7;continue;case 3:AQ.copy(j,d);$s=8;continue;case 4:n=$clone(l,AQ).LengthInt();o=n;if(o===(0)){$s=10;continue;}$s=11;continue;case 10:AQ.copy(j,d);$s=12;continue;case 11:p=$makeSlice(DX,0,n);q=$clone(l,AQ).ElementIterator();$s=13;case 13:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;case 14:s=r.Next();$s=16;case 16:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}if(!(s)){$s=15;continue;}u=r.Element();$s=17;case 17:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=$clone(t[0],AQ);w=$clone(t[1],AQ);y=$append(c,(x=new CE.ptr(new BZ.ptr(),$clone(v,AQ)),new x.constructor.elem(x)));aa=T(y,$clone(w,AQ),e);$s=18;case 18:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;ab=$clone(z[0],AQ);ac=z[1];if(!($interfaceIsEqual(ac,$ifaceNil))){$s=-1;return[$pkg.DynamicVal,ac];}p=$append(p,ab);$s=14;continue;case 15:if($clone(i,AZ).IsListType()){$s=20;continue;}if($clone(i,AZ).IsSetType()){$s=21;continue;}if($clone(i,AZ).IsTupleType()){$s=22;continue;}$s=23;continue;case 20:ad=AF(p);$s=25;case 25:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,AQ).WithMarks(new DY([m]));$s=26;case 26:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}AQ.copy(j,ae);$s=24;continue;case 21:af=AL(p);$s=27;case 27:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=$clone(af,AQ).WithMarks(new DY([m]));$s=28;case 28:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}AQ.copy(j,ag);$s=24;continue;case 22:AQ.copy(j,$clone(AE(p),AQ).WithMarks(new DY([m])));$s=24;continue;case 23:$panic(new $String("unknown sequence type"));case 24:case 19:case 12:case 9:$s=8;continue;case 5:ah=$clone(l,AQ).LengthInt();ai=ah;if(ai===(0)){$s=30;continue;}$s=31;continue;case 30:AQ.copy(j,d);$s=32;continue;case 31:aj={};ak=$clone(l,AQ).ElementIterator();$s=33;case 33:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=ak;case 34:am=al.Next();$s=36;case 36:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}if(!(am)){$s=35;continue;}ao=al.Element();$s=37;case 37:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}an=ao;ap=$clone(an[0],AQ);aq=$clone(an[1],AQ);as=$append(c,(ar=new CE.ptr(new BZ.ptr(),$clone(ap,AQ)),new ar.constructor.elem(ar)));au=T(as,$clone(aq,AQ),e);$s=38;case 38:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}at=au;av=$clone(at[0],AQ);aw=at[1];if(!($interfaceIsEqual(aw,$ifaceNil))){$s=-1;return[$pkg.DynamicVal,aw];}ax=$clone(ap,AQ).AsString();(aj||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(ax)]={k:ax,v:$clone(av,AQ)};$s=34;continue;case 35:ay=AI(aj);$s=39;case 39:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=$clone(ay,AQ).WithMarks(new DY([m]));$s=40;case 40:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}AQ.copy(j,az);case 32:case 29:$s=8;continue;case 6:ba=$clone(i,AZ).Equals($clone($pkg.EmptyObject,AZ));$s=45;case 45:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}if(ba){$s=42;continue;}$s=43;continue;case 42:AQ.copy(j,d);$s=44;continue;case 43:bb=$clone(i,AZ).AttributeTypes();bc={};bd=bb;be=0;bf=$keys(bd);case 46:if(!(be<bf.length)){$s=47;continue;}bg=bd[bf[be]];if(bg===undefined){be++;$s=46;continue;}bh=bg.k;bi=$clone(d,AQ).GetAttr(bh);$s=48;case 48:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}bj=$clone(bi,AQ);bl=$append(c,(bk=new CF.ptr(new BZ.ptr(),bh),new bk.constructor.elem(bk)));bn=T(bl,$clone(bj,AQ),e);$s=49;case 49:if($c){$c=false;bn=bn.$blk();}if(bn&&bn.$blk!==undefined){break s;}bm=bn;bo=$clone(bm[0],AQ);bp=bm[1];if(!($interfaceIsEqual(bp,$ifaceNil))){$s=-1;return[$pkg.DynamicVal,bp];}bq=bh;(bc||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(bq)]={k:bq,v:$clone(bo,AQ)};be++;$s=46;continue;case 47:br=AD(bc);$s=50;case 50:if($c){$c=false;br=br.$blk();}if(br&&br.$blk!==undefined){break s;}bs=$clone(br,AQ).WithMarks(new DY([m]));$s=51;case 51:if($c){$c=false;bs=bs.$blk();}if(bs&&bs.$blk!==undefined){break s;}AQ.copy(j,bs);case 44:case 41:$s=8;continue;case 7:AQ.copy(j,d);case 8:case 2:bu=e.Exit(c,$clone(j,AQ));$s=52;case 52:if($c){$c=false;bu=bu.$blk();}if(bu&&bu.$blk!==undefined){break s;}bt=bu;AQ.copy(j,bt[0]);h=bt[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[$pkg.DynamicVal,h];}$s=-1;return[j,h];}return;}if($f===undefined){$f={$blk:T};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AQ.ptr.prototype.GoString=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;c=$f.c;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if($clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:d=$clone(c,AQ).Unmark();e=$clone(d[0],AQ);f=d[1];if($keys(f).length===1){$s=3;continue;}$s=4;continue;case 3:g=$ifaceNil;h=f;i=0;j=$keys(h);while(true){if(!(i<j.length)){break;}k=h[j[i]];if(k===undefined){i++;continue;}l=k.k;g=l;i++;}m=A.Sprintf("%#v.Mark(%#v)",new DV([new e.constructor.elem(e),g]));$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=6;case 6:return n;case 4:o=A.Sprintf("%#v.WithMarks(%#v)",new DV([new e.constructor.elem(e),new CM(f)]));$s=7;case 7:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;$s=8;case 8:return p;case 2:if($equal(c,$pkg.NilVal,AQ)){$s=-1;return"cty.NilVal";}if($clone(c,AQ).IsNull()){$s=9;continue;}$s=10;continue;case 9:r=A.Sprintf("cty.NullVal(%#v)",new DV([(q=c.ty,new q.constructor.elem(q))]));$s=11;case 11:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;$s=12;case 12:return s;case 10:if($equal(c,$pkg.DynamicVal,AQ)){$s=-1;return"cty.DynamicVal";}if(!$clone(c,AQ).IsKnown()){$s=13;continue;}$s=14;continue;case 13:u=A.Sprintf("cty.UnknownVal(%#v)",new DV([(t=c.ty,new t.constructor.elem(t))]));$s=15;case 15:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;$s=16;case 16:return v;case 14:w=$clone(c.ty,AZ);if($equal(w,($pkg.Bool),AZ)){$s=18;continue;}if($equal(w,($pkg.Number),AZ)){$s=19;continue;}if($equal(w,($pkg.String),AZ)){$s=20;continue;}$s=21;continue;case 18:if($assertType(c.v,$Bool)){$s=-1;return"cty.True";}$s=-1;return"cty.False";case 19:x=$assertType(c.v,DZ);y=x.IsInt();$s=24;case 24:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}if(y){$s=22;continue;}$s=23;continue;case 22:z=A.Sprintf("cty.NumberIntVal(%#v)",new DV([x]));$s=25;case 25:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;$s=26;case 26:return aa;case 23:ac=x.Float64();$s=27;case 27:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=ab[0];ae=ab[1];if(ae===0){$s=28;continue;}$s=29;continue;case 28:af=A.Sprintf("cty.NumberFloatVal(%#v)",new DV([new $Float64(ad)]));$s=30;case 30:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;$s=31;case 31:return ag;case 29:ah=x.Text(102,-1);$s=32;case 32:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=new $String(ah);aj=A.Sprintf("cty.MustParseNumberVal(%q)",new DV([ai]));$s=33;case 33:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj;$s=34;case 34:return ak;case 20:al=A.Sprintf("cty.StringVal(%#v)",new DV([c.v]));$s=35;case 35:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;$s=36;case 36:return am;case 21:case 17:if($clone(c.ty,AZ).IsSetType()){$s=38;continue;}if($clone(c.ty,AZ).IsListType()){$s=39;continue;}if($clone(c.ty,AZ).IsMapType()){$s=40;continue;}if($clone(c.ty,AZ).IsTupleType()){$s=41;continue;}if($clone(c.ty,AZ).IsObjectType()){$s=42;continue;}if($clone(c.ty,AZ).IsCapsuleType()){$s=43;continue;}$s=44;continue;case 38:an=$clone(c,AQ).AsValueSlice();$s=45;case 45:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=an;if(ao.$length===0){$s=46;continue;}$s=47;continue;case 46:aq=$clone(c.ty,AZ).ElementType();$s=48;case 48:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=(ap=aq,new ap.constructor.elem(ap));as=A.Sprintf("cty.SetValEmpty(%#v)",new DV([ar]));$s=49;case 49:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;$s=50;case 50:return at;case 47:au=A.Sprintf("cty.SetVal(%#v)",new DV([ao]));$s=51;case 51:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au;$s=52;case 52:return av;case 39:aw=$clone(c,AQ).AsValueSlice();$s=53;case 53:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;if(ax.$length===0){$s=54;continue;}$s=55;continue;case 54:az=$clone(c.ty,AZ).ElementType();$s=56;case 56:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=(ay=az,new ay.constructor.elem(ay));bb=A.Sprintf("cty.ListValEmpty(%#v)",new DV([ba]));$s=57;case 57:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=bb;$s=58;case 58:return bc;case 55:bd=A.Sprintf("cty.ListVal(%#v)",new DV([ax]));$s=59;case 59:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}be=bd;$s=60;case 60:return be;case 40:bf=$clone(c,AQ).AsValueMap();$s=61;case 61:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}bg=bf;if($keys(bg).length===0){$s=62;continue;}$s=63;continue;case 62:bi=$clone(c.ty,AZ).ElementType();$s=64;case 64:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}bj=(bh=bi,new bh.constructor.elem(bh));bk=A.Sprintf("cty.MapValEmpty(%#v)",new DV([bj]));$s=65;case 65:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}bl=bk;$s=66;case 66:return bl;case 63:bm=A.Sprintf("cty.MapVal(%#v)",new DV([new EA(bg)]));$s=67;case 67:if($c){$c=false;bm=bm.$blk();}if(bm&&bm.$blk!==undefined){break s;}bn=bm;$s=68;case 68:return bn;case 41:bo=$clone(c.ty,AZ).Equals($clone($pkg.EmptyTuple,AZ));$s=71;case 71:if($c){$c=false;bo=bo.$blk();}if(bo&&bo.$blk!==undefined){break s;}if(bo){$s=69;continue;}$s=70;continue;case 69:$s=-1;return"cty.EmptyTupleVal";case 70:bp=$clone(c,AQ).AsValueSlice();$s=72;case 72:if($c){$c=false;bp=bp.$blk();}if(bp&&bp.$blk!==undefined){break s;}bq=bp;br=A.Sprintf("cty.TupleVal(%#v)",new DV([bq]));$s=73;case 73:if($c){$c=false;br=br.$blk();}if(br&&br.$blk!==undefined){break s;}bs=br;$s=74;case 74:return bs;case 42:bt=$clone(c.ty,AZ).Equals($clone($pkg.EmptyObject,AZ));$s=77;case 77:if($c){$c=false;bt=bt.$blk();}if(bt&&bt.$blk!==undefined){break s;}if(bt){$s=75;continue;}$s=76;continue;case 75:$s=-1;return"cty.EmptyObjectVal";case 76:bu=$clone(c,AQ).AsValueMap();$s=78;case 78:if($c){$c=false;bu=bu.$blk();}if(bu&&bu.$blk!==undefined){break s;}bv=bu;bw=A.Sprintf("cty.ObjectVal(%#v)",new DV([new EA(bv)]));$s=79;case 79:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}bx=bw;$s=80;case 80:return bx;case 43:by=$clone(c.ty,AZ).CapsuleOps().GoString;if(by===$throwNilPointerError){$s=81;continue;}$s=82;continue;case 81:ca=A.Sprintf("cty.CapsuleVal(%#v, %#v)",new DV([(bz=c.ty,new bz.constructor.elem(bz)),c.v]));$s=83;case 83:if($c){$c=false;ca=ca.$blk();}if(ca&&ca.$blk!==undefined){break s;}cb=ca;$s=84;case 84:return cb;case 82:cc=by($clone(c,AQ).EncapsulatedValue());$s=85;case 85:if($c){$c=false;cc=cc.$blk();}if(cc&&cc.$blk!==undefined){break s;}cd=cc;$s=86;case 86:return cd;case 44:case 37:cf=A.Sprintf("cty.Value{ty: %#v, v: %#v}",new DV([(ce=c.ty,new ce.constructor.elem(ce)),c.v]));$s=87;case 87:if($c){$c=false;cf=cf.$blk();}if(cf&&cf.$blk!==undefined){break s;}cg=cf;$s=88;case 88:return cg;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.GoString};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.c=c;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.GoString=function(){return this.$val.GoString();};AQ.ptr.prototype.Equals=function(c){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,d,da,db,dc,dd,de,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;c=$f.c;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;cr=$f.cr;cs=$f.cs;ct=$f.ct;cu=$f.cu;cv=$f.cv;cw=$f.cw;cx=$f.cx;cy=$f.cy;cz=$f.cz;d=$f.d;da=$f.da;db=$f.db;dc=$f.dc;dd=$f.dd;de=$f.de;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=$clone(d,AQ).ContainsMarked();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(f){e=true;$s=3;continue s;}g=$clone(c,AQ).ContainsMarked();$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}e=g;case 3:if(e){$s=1;continue;}$s=2;continue;case 1:i=$clone(d,AQ).UnmarkDeep();$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=$clone(h[0],AQ);k=h[1];m=$clone(c,AQ).UnmarkDeep();$s=7;case 7:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=$clone(l[0],AQ);o=l[1];p=$clone(j,AQ).Equals($clone(n,AQ));$s=8;case 8:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=$clone(p,AQ).WithMarks(new DY([k,o]));$s=9;case 9:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;$s=10;case 10:return r;case 2:if(!$clone(d,AQ).IsKnown()&&!$clone(c,AQ).IsKnown()){$s=12;continue;}if($clone(d,AQ).IsKnown()&&!$clone(c,AQ).IsKnown()){$s=13;continue;}if($clone(c,AQ).IsKnown()&&!$clone(d,AQ).IsKnown()){$s=14;continue;}$s=15;continue;case 12:$s=-1;return AU($clone($pkg.Bool,AZ));case 13:if($clone(d,AQ).IsNull()){s=true;$s=21;continue s;}t=$clone(c.ty,AZ).HasDynamicTypes();$s=22;case 22:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;case 21:if(s){$s=17;continue;}u=$clone(d.ty,AZ).Equals($clone(c.ty,AZ));$s=23;case 23:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}if(!u){$s=18;continue;}$s=19;continue;case 17:$s=-1;return AU($clone($pkg.Bool,AZ));case 18:$s=-1;return $pkg.False;case 19:$s=-1;return AU($clone($pkg.Bool,AZ));case 20:case 16:$s=15;continue;case 14:if($clone(c,AQ).IsNull()){v=true;$s=29;continue s;}w=$clone(d.ty,AZ).HasDynamicTypes();$s=30;case 30:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;case 29:if(v){$s=25;continue;}x=$clone(c.ty,AZ).Equals($clone(d.ty,AZ));$s=31;case 31:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}if(!x){$s=26;continue;}$s=27;continue;case 25:$s=-1;return AU($clone($pkg.Bool,AZ));case 26:$s=-1;return $pkg.False;case 27:$s=-1;return AU($clone($pkg.Bool,AZ));case 28:case 24:case 15:case 11:if($clone(d,AQ).IsNull()&&$clone(c,AQ).IsNull()){$s=-1;return U(true);}else if($clone(d,AQ).IsNull()||$clone(c,AQ).IsNull()){$s=-1;return U(false);}z=$clone(d,AQ).HasWhollyKnownType();$s=35;case 35:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}if(!z){y=true;$s=34;continue s;}aa=$clone(c,AQ).HasWhollyKnownType();$s=36;case 36:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}y=!aa;case 34:if(y){$s=32;continue;}$s=33;continue;case 32:ac=$clone(d.ty,AZ).TestConformance($clone(c.ty,AZ));$s=40;case 40:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}if(!(!(ac===EB.nil))){ab=false;$s=39;continue s;}ad=$clone(c.ty,AZ).TestConformance($clone(d.ty,AZ));$s=41;case 41:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ab=!(ad===EB.nil);case 39:if(ab){$s=37;continue;}$s=38;continue;case 37:$s=-1;return U(false);case 38:$s=-1;return AU($clone($pkg.Bool,AZ));case 33:ae=$clone(d.ty,AZ).Equals($clone(c.ty,AZ));$s=44;case 44:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}if(!ae){$s=42;continue;}$s=43;continue;case 42:$s=-1;return U(false);case 43:af=$clone(d.ty,AZ);ag=false;if($equal(af,$pkg.Number,AZ)){$s=46;continue;}if($equal(af,$pkg.Bool,AZ)){$s=47;continue;}if($equal(af,$pkg.String,AZ)){$s=48;continue;}if($clone(af,AZ).IsObjectType()){$s=49;continue;}if($clone(af,AZ).IsTupleType()){$s=50;continue;}if($clone(af,AZ).IsListType()){$s=51;continue;}if($clone(af,AZ).IsSetType()){$s=52;continue;}if($clone(af,AZ).IsMapType()){$s=53;continue;}if($clone(af,AZ).IsCapsuleType()){$s=54;continue;}$s=55;continue;case 46:ah=BQ($assertType(d.v,DZ),$assertType(c.v,DZ));$s=57;case 57:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;$s=56;continue;case 47:ag=$assertType(d.v,$Bool)===$assertType(c.v,$Bool);$s=56;continue;case 48:ag=$assertType(d.v,$String)===$assertType(c.v,$String);$s=56;continue;case 49:ai=$clone($assertType(af.typeImpl,CG),CG);ag=true;aj=ai.AttrTypes;ak=0;al=$keys(aj);case 58:if(!(ak<al.length)){$s=59;continue;}am=aj[al[ak]];if(am===undefined){ak++;$s=58;continue;}an=am.k;ao=$clone(am.v,AZ);aq=new AQ.ptr($clone(ao,AZ),(ap=$assertType(d.v,EC)[$String.keyFor(an)],ap!==undefined?ap.v:$ifaceNil));as=new AQ.ptr($clone(ao,AZ),(ar=$assertType(c.v,EC)[$String.keyFor(an)],ar!==undefined?ar.v:$ifaceNil));at=$clone(aq,AQ).Equals($clone(as,AQ));$s=60;case 60:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=$clone(at,AQ);if(!$clone(au,AQ).IsKnown()){$s=-1;return AU($clone($pkg.Bool,AZ));}av=$clone(au,AQ).False();$s=63;case 63:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}if(av){$s=61;continue;}$s=62;continue;case 61:ag=false;$s=59;continue;case 62:ak++;$s=58;continue;case 59:$s=56;continue;case 50:aw=$clone($assertType(af.typeImpl,BD),BD);ag=true;ax=aw.ElemTypes;ay=0;case 64:if(!(ay<ax.$length)){$s=65;continue;}az=ay;ba=$clone(((ay<0||ay>=ax.$length)?($throwRuntimeError("index out of range"),undefined):ax.$array[ax.$offset+ay]),AZ);bc=new AQ.ptr($clone(ba,AZ),(bb=$assertType(d.v,DV),((az<0||az>=bb.$length)?($throwRuntimeError("index out of range"),undefined):bb.$array[bb.$offset+az])));be=new AQ.ptr($clone(ba,AZ),(bd=$assertType(c.v,DV),((az<0||az>=bd.$length)?($throwRuntimeError("index out of range"),undefined):bd.$array[bd.$offset+az])));bf=$clone(bc,AQ).Equals($clone(be,AQ));$s=66;case 66:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}bg=$clone(bf,AQ);if(!$clone(bg,AQ).IsKnown()){$s=-1;return AU($clone($pkg.Bool,AZ));}bh=$clone(bg,AQ).False();$s=69;case 69:if($c){$c=false;bh=bh.$blk();}if(bh&&bh.$blk!==undefined){break s;}if(bh){$s=67;continue;}$s=68;continue;case 67:ag=false;$s=65;continue;case 68:ay++;$s=64;continue;case 65:$s=56;continue;case 51:bi=$clone($assertType(af.typeImpl,CT).ElementTypeT,AZ);if($assertType(d.v,DV).$length===$assertType(c.v,DV).$length){$s=70;continue;}$s=71;continue;case 70:ag=true;bj=$assertType(d.v,DV);bk=0;case 72:if(!(bk<bj.$length)){$s=73;continue;}bl=bk;bn=new AQ.ptr($clone(bi,AZ),(bm=$assertType(d.v,DV),((bl<0||bl>=bm.$length)?($throwRuntimeError("index out of range"),undefined):bm.$array[bm.$offset+bl])));bp=new AQ.ptr($clone(bi,AZ),(bo=$assertType(c.v,DV),((bl<0||bl>=bo.$length)?($throwRuntimeError("index out of range"),undefined):bo.$array[bo.$offset+bl])));bq=$clone(bn,AQ).Equals($clone(bp,AQ));$s=74;case 74:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}br=$clone(bq,AQ);if(!$clone(br,AQ).IsKnown()){$s=-1;return AU($clone($pkg.Bool,AZ));}bs=$clone(br,AQ).False();$s=77;case 77:if($c){$c=false;bs=bs.$blk();}if(bs&&bs.$blk!==undefined){break s;}if(bs){$s=75;continue;}$s=76;continue;case 75:ag=false;$s=73;continue;case 76:bk++;$s=72;continue;case 73:case 71:$s=56;continue;case 52:bt=$clone($assertType(d.v,C.Set),C.Set);bu=$clone($assertType(c.v,C.Set),C.Set);bv=true;bw=$clone(bt,C.Set).Iterator();$s=78;case 78:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}bx=bw;case 79:if(!(bx.Next())){$s=80;continue;}by=bx.Value();if($interfaceIsEqual(by,AT)){$s=-1;return AU($clone($pkg.Bool,AZ));}bz=$clone(bu,C.Set).Has(by);$s=83;case 83:if($c){$c=false;bz=bz.$blk();}if(bz&&bz.$blk!==undefined){break s;}if(!bz){$s=81;continue;}$s=82;continue;case 81:bv=false;case 82:$s=79;continue;case 80:ca=$clone(bu,C.Set).Iterator();$s=84;case 84:if($c){$c=false;ca=ca.$blk();}if(ca&&ca.$blk!==undefined){break s;}cb=ca;case 85:if(!(cb.Next())){$s=86;continue;}cc=cb.Value();if($interfaceIsEqual(cc,AT)){$s=-1;return AU($clone($pkg.Bool,AZ));}cd=$clone(bt,C.Set).Has(cc);$s=89;case 89:if($c){$c=false;cd=cd.$blk();}if(cd&&cd.$blk!==undefined){break s;}if(!cd){$s=87;continue;}$s=88;continue;case 87:bv=false;case 88:$s=85;continue;case 86:ag=bv;$s=56;continue;case 53:ce=$clone($assertType(af.typeImpl,CR).ElementTypeT,AZ);if($keys($assertType(d.v,EC)).length===$keys($assertType(c.v,EC)).length){$s=90;continue;}$s=91;continue;case 90:ag=true;cf=$assertType(d.v,EC);cg=0;ch=$keys(cf);case 92:if(!(cg<ch.length)){$s=93;continue;}ci=cf[ch[cg]];if(ci===undefined){cg++;$s=92;continue;}cj=ci.k;ck=(cl=$assertType(c.v,EC)[$String.keyFor(cj)],cl!==undefined?[cl.v,true]:[$ifaceNil,false]);cm=ck[1];if(!cm){ag=false;$s=93;continue;}co=new AQ.ptr($clone(ce,AZ),(cn=$assertType(d.v,EC)[$String.keyFor(cj)],cn!==undefined?cn.v:$ifaceNil));cq=new AQ.ptr($clone(ce,AZ),(cp=$assertType(c.v,EC)[$String.keyFor(cj)],cp!==undefined?cp.v:$ifaceNil));cr=$clone(co,AQ).Equals($clone(cq,AQ));$s=94;case 94:if($c){$c=false;cr=cr.$blk();}if(cr&&cr.$blk!==undefined){break s;}cs=$clone(cr,AQ);if(!$clone(cs,AQ).IsKnown()){$s=-1;return AU($clone($pkg.Bool,AZ));}ct=$clone(cs,AQ).False();$s=97;case 97:if($c){$c=false;ct=ct.$blk();}if(ct&&ct.$blk!==undefined){break s;}if(ct){$s=95;continue;}$s=96;continue;case 95:ag=false;$s=93;continue;case 96:cg++;$s=92;continue;case 93:case 91:$s=56;continue;case 54:cu=$clone(d.ty,AZ).CapsuleOps().Equals;if(cu===$throwNilPointerError){$s=98;continue;}$s=99;continue;case 98:cv=$clone(d.ty,AZ).CapsuleOps().RawEquals;if(cv===$throwNilPointerError){$s=-1;return U($interfaceIsEqual(d.v,c.v));}cw=cv(d.v,c.v);$s=100;case 100:if($c){$c=false;cw=cw.$blk();}if(cw&&cw.$blk!==undefined){break s;}cx=U(cw);$s=101;case 101:if($c){$c=false;cx=cx.$blk();}if(cx&&cx.$blk!==undefined){break s;}cy=cx;$s=102;case 102:return cy;case 99:cz=cu(d.v,c.v);$s=103;case 103:if($c){$c=false;cz=cz.$blk();}if(cz&&cz.$blk!==undefined){break s;}da=$clone(cz,AQ);db=$clone($clone(da,AQ).Type(),AZ).Equals($clone($pkg.Bool,AZ));$s=106;case 106:if($c){$c=false;db=db.$blk();}if(db&&db.$blk!==undefined){break s;}if(!db){$s=104;continue;}$s=105;continue;case 104:dd=A.Sprintf("Equals for %#v returned %#v, not cty.Bool",new DV([new af.constructor.elem(af),(dc=$clone(da,AQ).Type(),new dc.constructor.elem(dc))]));$s=107;case 107:if($c){$c=false;dd=dd.$blk();}if(dd&&dd.$blk!==undefined){break s;}$panic(new $String(dd));case 105:$s=-1;return da;case 55:de=A.Errorf("unsupported value type %#v in Equals",new DV([new af.constructor.elem(af)]));$s=108;case 108:if($c){$c=false;de=de.$blk();}if(de&&de.$blk!==undefined){break s;}$panic(de);case 56:case 45:$s=-1;return U(ag);}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Equals};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.c=c;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.cr=cr;$f.cs=cs;$f.ct=ct;$f.cu=cu;$f.cv=cv;$f.cw=cw;$f.cx=cx;$f.cy=cy;$f.cz=cz;$f.d=d;$f.da=da;$f.db=db;$f.dc=dc;$f.dd=dd;$f.de=de;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Equals=function(c){return this.$val.Equals(c);};AQ.ptr.prototype.NotEqual=function(c){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(d,AQ).Equals($clone(c,AQ));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$clone(e,AQ).Not();$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=3;case 3:return g;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.NotEqual};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.NotEqual=function(c){return this.$val.NotEqual(c);};AQ.ptr.prototype.True=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$clone(c,AQ).assertUnmarked();if(!($equal(c.ty,$pkg.Bool,AZ))){$panic(new $String("not bool"));}d=$clone(c,AQ).Equals($clone($pkg.True,AQ));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$assertType(d.v,$Bool);$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.True};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.True=function(){return this.$val.True();};AQ.ptr.prototype.False=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$clone(c,AQ).True();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=!d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.False};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.False=function(){return this.$val.False();};AQ.ptr.prototype.RawEquals=function(c){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(d.ty,AZ).Equals($clone(c.ty,AZ));$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(!e){$s=1;continue;}$s=2;continue;case 1:$s=-1;return false;case 2:if(!$clone(d,AQ).HasSameMarks($clone(c,AQ))){$s=-1;return false;}AQ.copy(d,$clone(d,AQ).unmarkForce());AQ.copy(c,$clone(c,AQ).unmarkForce());if((!$clone(d,AQ).IsKnown())&&(!$clone(c,AQ).IsKnown())){$s=-1;return true;}if(($clone(d,AQ).IsKnown()&&!$clone(c,AQ).IsKnown())||($clone(c,AQ).IsKnown()&&!$clone(d,AQ).IsKnown())){$s=-1;return false;}if($clone(d,AQ).IsNull()&&$clone(c,AQ).IsNull()){$s=-1;return true;}if(($clone(d,AQ).IsNull()&&!$clone(c,AQ).IsNull())||($clone(c,AQ).IsNull()&&!$clone(d,AQ).IsNull())){$s=-1;return false;}if($equal(d.ty,$pkg.DynamicPseudoType,AZ)&&$equal(c.ty,$pkg.DynamicPseudoType,AZ)){$s=-1;return true;}f=$clone(d.ty,AZ);if($equal(f,$pkg.Number,AZ)||$equal(f,$pkg.Bool,AZ)||$equal(f,$pkg.String,AZ)||$equal(f,$pkg.DynamicPseudoType,AZ)){$s=5;continue;}if($clone(f,AZ).IsObjectType()){$s=6;continue;}if($clone(f,AZ).IsTupleType()){$s=7;continue;}if($clone(f,AZ).IsListType()){$s=8;continue;}if($clone(f,AZ).IsSetType()){$s=9;continue;}if($clone(f,AZ).IsMapType()){$s=10;continue;}if($clone(f,AZ).IsCapsuleType()){$s=11;continue;}$s=12;continue;case 5:g=$clone(d,AQ).Equals($clone(c,AQ));$s=14;case 14:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=$clone(g,AQ).True();$s=15;case 15:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=16;case 16:return i;case 6:j=$clone($assertType(f.typeImpl,CG),CG);k=j.AttrTypes;l=0;m=$keys(k);case 17:if(!(l<m.length)){$s=18;continue;}n=k[m[l]];if(n===undefined){l++;$s=17;continue;}o=n.k;p=$clone(n.v,AZ);r=new AQ.ptr($clone(p,AZ),(q=$assertType(d.v,EC)[$String.keyFor(o)],q!==undefined?q.v:$ifaceNil));t=new AQ.ptr($clone(p,AZ),(s=$assertType(c.v,EC)[$String.keyFor(o)],s!==undefined?s.v:$ifaceNil));u=$clone(r,AQ).RawEquals($clone(t,AQ));$s=19;case 19:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;if(!v){$s=-1;return false;}l++;$s=17;continue;case 18:$s=-1;return true;case 7:w=$clone($assertType(f.typeImpl,BD),BD);x=w.ElemTypes;y=0;case 20:if(!(y<x.$length)){$s=21;continue;}z=y;aa=$clone(((y<0||y>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+y]),AZ);ac=new AQ.ptr($clone(aa,AZ),(ab=$assertType(d.v,DV),((z<0||z>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+z])));ae=new AQ.ptr($clone(aa,AZ),(ad=$assertType(c.v,DV),((z<0||z>=ad.$length)?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+z])));af=$clone(ac,AQ).RawEquals($clone(ae,AQ));$s=22;case 22:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;if(!ag){$s=-1;return false;}y++;$s=20;continue;case 21:$s=-1;return true;case 8:ah=$clone($assertType(f.typeImpl,CT).ElementTypeT,AZ);if($assertType(d.v,DV).$length===$assertType(c.v,DV).$length){$s=23;continue;}$s=24;continue;case 23:ai=$assertType(d.v,DV);aj=0;case 25:if(!(aj<ai.$length)){$s=26;continue;}ak=aj;am=new AQ.ptr($clone(ah,AZ),(al=$assertType(d.v,DV),((ak<0||ak>=al.$length)?($throwRuntimeError("index out of range"),undefined):al.$array[al.$offset+ak])));ao=new AQ.ptr($clone(ah,AZ),(an=$assertType(c.v,DV),((ak<0||ak>=an.$length)?($throwRuntimeError("index out of range"),undefined):an.$array[an.$offset+ak])));ap=$clone(am,AQ).RawEquals($clone(ao,AQ));$s=27;case 27:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap;if(!aq){$s=-1;return false;}aj++;$s=25;continue;case 26:$s=-1;return true;case 24:$s=-1;return false;case 9:ar=$clone(d,AQ).AsValueSlice();$s=28;case 28:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=ar;at=$clone(c,AQ).AsValueSlice();$s=29;case 29:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;if(!((as.$length===au.$length))){$s=-1;return false;}av=as;aw=0;case 30:if(!(aw<av.$length)){$s=31;continue;}ax=aw;ay=$clone(((ax<0||ax>=as.$length)?($throwRuntimeError("index out of range"),undefined):as.$array[as.$offset+ax]),AQ).RawEquals($clone(((ax<0||ax>=au.$length)?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+ax]),AQ));$s=32;case 32:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=ay;if(!az){$s=-1;return false;}aw++;$s=30;continue;case 31:$s=-1;return true;case 10:ba=$clone($assertType(f.typeImpl,CR).ElementTypeT,AZ);if(!$clone(d,AQ).HasSameMarks($clone(c,AQ))){$s=-1;return false;}bb=$clone(d,AQ).Unmark();bc=$clone(bb[0],AQ);bd=$clone(c,AQ).Unmark();be=$clone(bd[0],AQ);if($keys($assertType(bc.v,EC)).length===$keys($assertType(be.v,EC)).length){$s=33;continue;}$s=34;continue;case 33:bf=$assertType(bc.v,EC);bg=0;bh=$keys(bf);case 35:if(!(bg<bh.length)){$s=36;continue;}bi=bf[bh[bg]];if(bi===undefined){bg++;$s=35;continue;}bj=bi.k;bk=(bl=$assertType(be.v,EC)[$String.keyFor(bj)],bl!==undefined?[bl.v,true]:[$ifaceNil,false]);bm=bk[1];if(!bm){$s=-1;return false;}bo=new AQ.ptr($clone(ba,AZ),(bn=$assertType(bc.v,EC)[$String.keyFor(bj)],bn!==undefined?bn.v:$ifaceNil));bq=new AQ.ptr($clone(ba,AZ),(bp=$assertType(be.v,EC)[$String.keyFor(bj)],bp!==undefined?bp.v:$ifaceNil));br=$clone(bo,AQ).RawEquals($clone(bq,AQ));$s=37;case 37:if($c){$c=false;br=br.$blk();}if(br&&br.$blk!==undefined){break s;}bs=br;if(!bs){$s=-1;return false;}bg++;$s=35;continue;case 36:$s=-1;return true;case 34:$s=-1;return false;case 11:bt=$clone(d.ty,AZ).CapsuleOps().RawEquals;if(bt===$throwNilPointerError){$s=-1;return $interfaceIsEqual(d.v,c.v);}bu=bt(d.v,c.v);$s=38;case 38:if($c){$c=false;bu=bu.$blk();}if(bu&&bu.$blk!==undefined){break s;}bv=bu;$s=39;case 39:return bv;case 12:bw=A.Errorf("unsupported value type %#v in RawEquals",new DV([new f.constructor.elem(f)]));$s=40;case 40:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}$panic(bw);case 13:case 4:$s=-1;return false;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.RawEquals};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.RawEquals=function(c){return this.$val.RawEquals(c);};AQ.ptr.prototype.Add=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($clone(d,AQ).IsMarked()||$clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:e=$clone(d,AQ).Unmark();f=$clone(e[0],AQ);g=e[1];h=$clone(c,AQ).Unmark();i=$clone(h[0],AQ);j=h[1];k=$clone(f,AQ).Add($clone(i,AQ));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,AQ).WithMarks(new DY([g,j]));$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=5;case 5:return m;case 2:n=CX($clone($pkg.Number,AZ),$clone($pkg.Number,AZ),new DX([$clone(d,AQ),$clone(c,AQ)]));$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(!(o===ED.nil)){$s=7;continue;}$s=8;continue;case 7:p=CY(o,$clone($pkg.Number,AZ));$s=9;case 9:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;$s=-1;return o;case 8:q=new B.Float.ptr(0,0,0,0,false,B.nat.nil,0);r=q.Add($assertType(d.v,DZ),$assertType(c.v,DZ));$s=10;case 10:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;$s=-1;return V(q);}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Add};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Add=function(c){return this.$val.Add(c);};AQ.ptr.prototype.Subtract=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($clone(d,AQ).IsMarked()||$clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:e=$clone(d,AQ).Unmark();f=$clone(e[0],AQ);g=e[1];h=$clone(c,AQ).Unmark();i=$clone(h[0],AQ);j=h[1];k=$clone(f,AQ).Subtract($clone(i,AQ));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,AQ).WithMarks(new DY([g,j]));$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=5;case 5:return m;case 2:n=CX($clone($pkg.Number,AZ),$clone($pkg.Number,AZ),new DX([$clone(d,AQ),$clone(c,AQ)]));$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(!(o===ED.nil)){$s=7;continue;}$s=8;continue;case 7:p=CY(o,$clone($pkg.Number,AZ));$s=9;case 9:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;$s=-1;return o;case 8:q=$clone(c,AQ).Negate();$s=10;case 10:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=$clone(d,AQ).Add($clone(q,AQ));$s=11;case 11:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;$s=12;case 12:return s;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Subtract};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Subtract=function(c){return this.$val.Subtract(c);};AQ.ptr.prototype.Negate=function(){var c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if($clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:d=$clone(c,AQ).Unmark();e=$clone(d[0],AQ);f=d[1];g=$clone(e,AQ).Negate();$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=$clone(g,AQ).WithMarks(new DY([f]));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=5;case 5:return i;case 2:j=CX($clone($pkg.Number,AZ),$clone($pkg.Number,AZ),new DX([$clone(c,AQ)]));$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(!(k===ED.nil)){$s=7;continue;}$s=8;continue;case 7:l=CY(k,$clone($pkg.Number,AZ));$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;$s=-1;return k;case 8:m=new B.Float.ptr(0,0,0,0,false,B.nat.nil,0).Neg($assertType(c.v,DZ));$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=-1;return V(n);}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Negate};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Negate=function(){return this.$val.Negate();};AQ.ptr.prototype.Multiply=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($clone(d,AQ).IsMarked()||$clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:e=$clone(d,AQ).Unmark();f=$clone(e[0],AQ);g=e[1];h=$clone(c,AQ).Unmark();i=$clone(h[0],AQ);j=h[1];k=$clone(f,AQ).Multiply($clone(i,AQ));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,AQ).WithMarks(new DY([g,j]));$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=5;case 5:return m;case 2:n=CX($clone($pkg.Number,AZ),$clone($pkg.Number,AZ),new DX([$clone(d,AQ),$clone(c,AQ)]));$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(!(o===ED.nil)){$s=7;continue;}$s=8;continue;case 7:p=CY(o,$clone($pkg.Number,AZ));$s=9;case 9:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;$s=-1;return o;case 8:q=$assertType(d.v,DZ).Prec();r=$assertType(c.v,DZ).Prec();if(r>q){q=r;}s=new B.Float.ptr(0,0,0,0,false,B.nat.nil,0).SetPrec(512);$s=10;case 10:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;u=t.Mul($assertType(d.v,DZ),$assertType(c.v,DZ));$s=11;case 11:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}u;v=t.MinPrec();if(v>q){q=v;}w=t.SetPrec(q);$s=12;case 12:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}w;$s=-1;return V(t);}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Multiply};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Multiply=function(c){return this.$val.Multiply(c);};AQ.ptr.prototype.Divide=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($clone(d,AQ).IsMarked()||$clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:e=$clone(d,AQ).Unmark();f=$clone(e[0],AQ);g=e[1];h=$clone(c,AQ).Unmark();i=$clone(h[0],AQ);j=h[1];k=$clone(f,AQ).Divide($clone(i,AQ));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,AQ).WithMarks(new DY([g,j]));$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=5;case 5:return m;case 2:n=CX($clone($pkg.Number,AZ),$clone($pkg.Number,AZ),new DX([$clone(d,AQ),$clone(c,AQ)]));$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(!(o===ED.nil)){$s=7;continue;}$s=8;continue;case 7:p=CY(o,$clone($pkg.Number,AZ));$s=9;case 9:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;$s=-1;return o;case 8:q=new B.Float.ptr(0,0,0,0,false,B.nat.nil,0);r=q.Quo($assertType(d.v,DZ),$assertType(c.v,DZ));$s=10;case 10:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;$s=-1;return V(q);}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Divide};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Divide=function(c){return this.$val.Divide(c);};AQ.ptr.prototype.Modulo=function(c){var aa,ab,ac,ad,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($clone(d,AQ).IsMarked()||$clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:e=$clone(d,AQ).Unmark();f=$clone(e[0],AQ);g=e[1];h=$clone(c,AQ).Unmark();i=$clone(h[0],AQ);j=h[1];k=$clone(f,AQ).Modulo($clone(i,AQ));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,AQ).WithMarks(new DY([g,j]));$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=5;case 5:return m;case 2:n=CX($clone($pkg.Number,AZ),$clone($pkg.Number,AZ),new DX([$clone(d,AQ),$clone(c,AQ)]));$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(!(o===ED.nil)){$s=7;continue;}$s=8;continue;case 7:p=CY(o,$clone($pkg.Number,AZ));$s=9;case 9:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;$s=-1;return o;case 8:if($equal(d,$pkg.PositiveInfinity,AQ)||$equal(d,$pkg.NegativeInfinity,AQ)||$equal(c,$pkg.PositiveInfinity,AQ)||$equal(c,$pkg.NegativeInfinity,AQ)){$s=10;continue;}$s=11;continue;case 10:q=$clone(d,AQ).Multiply($clone(c,AQ));$s=12;case 12:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;$s=13;case 13:return r;case 11:s=$clone(c,AQ).RawEquals($clone($pkg.Zero,AQ));$s=16;case 16:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}if(s){$s=14;continue;}$s=15;continue;case 14:$s=-1;return d;case 15:t=$clone(d,AQ).Divide($clone(c,AQ));$s=17;case 17:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=$clone(t,AQ);w=$assertType(u.v,DZ).Int(EE.nil);$s=18;case 18:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;x=v[0];y=$assertType(d.v,DZ);z=new B.Float.ptr(0,0,0,0,false,B.nat.nil,0).Copy(y);$s=19;case 19:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z.SetInt(x);$s=20;case 20:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;ac=ab.Mul($assertType(c.v,DZ),ab);$s=21;case 21:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ac;ad=ab.Sub(y,ab);$s=22;case 22:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ad;$s=-1;return V(ab);}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Modulo};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Modulo=function(c){return this.$val.Modulo(c);};AQ.ptr.prototype.Absolute=function(){var c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if($clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:d=$clone(c,AQ).Unmark();e=$clone(d[0],AQ);f=d[1];g=$clone(e,AQ).Absolute();$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=$clone(g,AQ).WithMarks(new DY([f]));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=5;case 5:return i;case 2:j=CX($clone($pkg.Number,AZ),$clone($pkg.Number,AZ),new DX([$clone(c,AQ)]));$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(!(k===ED.nil)){$s=7;continue;}$s=8;continue;case 7:l=CY(k,$clone($pkg.Number,AZ));$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;$s=-1;return k;case 8:m=(new B.Float.ptr(0,0,0,0,false,B.nat.nil,0)).Abs($assertType(c.v,DZ));$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=-1;return V(n);}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Absolute};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Absolute=function(){return this.$val.Absolute();};AQ.ptr.prototype.GetAttr=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($clone(d,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:e=$clone(d,AQ).Unmark();f=$clone(e[0],AQ);g=e[1];h=$clone(f,AQ).GetAttr(c);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=$clone(h,AQ).WithMarks(new DY([g]));$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=5;case 5:return j;case 2:if($equal(d.ty,$pkg.DynamicPseudoType,AZ)){$s=-1;return $pkg.DynamicVal;}if(!$clone(d.ty,AZ).IsObjectType()){$panic(new $String("value is not an object"));}k=AC(c);$s=6;case 6:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}c=k;l=$clone(d.ty,AZ).HasAttribute(c);$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(!l){$s=7;continue;}$s=8;continue;case 7:$panic(new $String("value has no attribute of that name"));case 8:m=$clone(d.ty,AZ).AttributeType(c);$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=$clone(m,AZ);if(!$clone(d,AQ).IsKnown()){$s=-1;return AU($clone(n,AZ));}$s=-1;return new AQ.ptr($clone(n,AZ),(o=$assertType(d.v,EC)[$String.keyFor(c)],o!==undefined?o.v:$ifaceNil));}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.GetAttr};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.GetAttr=function(c){return this.$val.GetAttr(c);};AQ.ptr.prototype.Index=function(c){var aa,ab,ac,ad,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($clone(d,AQ).IsMarked()||$clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:e=$clone(d,AQ).Unmark();f=$clone(e[0],AQ);g=e[1];h=$clone(c,AQ).Unmark();i=$clone(h[0],AQ);j=h[1];k=$clone(f,AQ).Index($clone(i,AQ));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,AQ).WithMarks(new DY([g,j]));$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=5;case 5:return m;case 2:if($equal(d.ty,$pkg.DynamicPseudoType,AZ)){$s=-1;return $pkg.DynamicVal;}if($clone($clone(d,AQ).Type(),AZ).IsListType()){$s=7;continue;}if($clone($clone(d,AQ).Type(),AZ).IsMapType()){$s=8;continue;}if($clone($clone(d,AQ).Type(),AZ).IsTupleType()){$s=9;continue;}$s=10;continue;case 7:n=$clone($clone(d,AQ).Type(),AZ).ElementType();$s=12;case 12:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=$clone(n,AZ);if($equal($clone(c,AQ).Type(),$pkg.DynamicPseudoType,AZ)){$s=-1;return AU($clone(o,AZ));}if(!($equal($clone(c,AQ).Type(),$pkg.Number,AZ))){$panic(new $String("element key for list must be number"));}if(!$clone(c,AQ).IsKnown()){$s=-1;return AU($clone(o,AZ));}if(!$clone(d,AQ).IsKnown()){$s=-1;return AU($clone(o,AZ));}q=$assertType(c.v,DZ).Int64();$s=13;case 13:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p[0];s=p[1];if(!((s===0))||(r.$high<0||(r.$high===0&&r.$low<0))){$panic(new $String("element key for list must be non-negative integer"));}$s=-1;return new AQ.ptr($clone(o,AZ),(t=$assertType(d.v,DV),(($flatten64(r)<0||$flatten64(r)>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+$flatten64(r)])));case 8:u=$clone($clone(d,AQ).Type(),AZ).ElementType();$s=14;case 14:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=$clone(u,AZ);if($equal($clone(c,AQ).Type(),$pkg.DynamicPseudoType,AZ)){$s=-1;return AU($clone(v,AZ));}if(!($equal($clone(c,AQ).Type(),$pkg.String,AZ))){$panic(new $String("element key for map must be string"));}if(!$clone(c,AQ).IsKnown()){$s=-1;return AU($clone(v,AZ));}if(!$clone(d,AQ).IsKnown()){$s=-1;return AU($clone(v,AZ));}w=$assertType(c.v,$String);$s=-1;return new AQ.ptr($clone(v,AZ),(x=$assertType(d.v,EC)[$String.keyFor(w)],x!==undefined?x.v:$ifaceNil));case 9:if($equal($clone(c,AQ).Type(),$pkg.DynamicPseudoType,AZ)){$s=-1;return $pkg.DynamicVal;}if(!($equal($clone(c,AQ).Type(),$pkg.Number,AZ))){$panic(new $String("element key for tuple must be number"));}if(!$clone(c,AQ).IsKnown()){$s=-1;return $pkg.DynamicVal;}z=$assertType(c.v,DZ).Int64();$s=15;case 15:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;aa=y[0];ab=y[1];if(!((ab===0))||(aa.$high<0||(aa.$high===0&&aa.$low<0))){$panic(new $String("element key for list must be non-negative integer"));}ac=$clone($clone(d,AQ).Type(),AZ).TupleElementTypes();if(!$clone(d,AQ).IsKnown()){$s=-1;return AU($clone((($flatten64(aa)<0||$flatten64(aa)>=ac.$length)?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+$flatten64(aa)]),AZ));}$s=-1;return new AQ.ptr($clone((($flatten64(aa)<0||$flatten64(aa)>=ac.$length)?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+$flatten64(aa)]),AZ),(ad=$assertType(d.v,DV),(($flatten64(aa)<0||$flatten64(aa)>=ad.$length)?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+$flatten64(aa)])));case 10:$panic(new $String("not a list, map, or tuple type"));case 11:case 6:$s=-1;return new AQ.ptr(new AZ.ptr($ifaceNil),$ifaceNil);}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Index};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Index=function(c){return this.$val.Index(c);};AQ.ptr.prototype.HasIndex=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($clone(d,AQ).IsMarked()||$clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:e=$clone(d,AQ).Unmark();f=$clone(e[0],AQ);g=e[1];h=$clone(c,AQ).Unmark();i=$clone(h[0],AQ);j=h[1];k=$clone(f,AQ).HasIndex($clone(i,AQ));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,AQ).WithMarks(new DY([g,j]));$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=5;case 5:return m;case 2:if($equal(d.ty,$pkg.DynamicPseudoType,AZ)){$s=-1;return AU($clone($pkg.Bool,AZ));}if($clone($clone(d,AQ).Type(),AZ).IsListType()){$s=7;continue;}if($clone($clone(d,AQ).Type(),AZ).IsMapType()){$s=8;continue;}if($clone($clone(d,AQ).Type(),AZ).IsTupleType()){$s=9;continue;}$s=10;continue;case 7:if($equal($clone(c,AQ).Type(),$pkg.DynamicPseudoType,AZ)){$s=-1;return AU($clone($pkg.Bool,AZ));}if(!($equal($clone(c,AQ).Type(),$pkg.Number,AZ))){$s=-1;return $pkg.False;}if(!$clone(c,AQ).IsKnown()){$s=-1;return AU($clone($pkg.Bool,AZ));}if(!$clone(d,AQ).IsKnown()){$s=-1;return AU($clone($pkg.Bool,AZ));}o=$assertType(c.v,DZ).Int64();$s=12;case 12:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[1];if(!((q===0))||(p.$high<0||(p.$high===0&&p.$low<0))){$s=-1;return $pkg.False;}$s=-1;return U((((p.$low+((p.$high>>31)*4294967296))>>0))<$assertType(d.v,DV).$length&&(p.$high>0||(p.$high===0&&p.$low>=0)));case 8:if($equal($clone(c,AQ).Type(),$pkg.DynamicPseudoType,AZ)){$s=-1;return AU($clone($pkg.Bool,AZ));}if(!($equal($clone(c,AQ).Type(),$pkg.String,AZ))){$s=-1;return $pkg.False;}if(!$clone(c,AQ).IsKnown()){$s=-1;return AU($clone($pkg.Bool,AZ));}if(!$clone(d,AQ).IsKnown()){$s=-1;return AU($clone($pkg.Bool,AZ));}r=$assertType(c.v,$String);s=(t=$assertType(d.v,EC)[$String.keyFor(r)],t!==undefined?[t.v,true]:[$ifaceNil,false]);u=s[1];$s=-1;return U(u);case 9:if($equal($clone(c,AQ).Type(),$pkg.DynamicPseudoType,AZ)){$s=-1;return AU($clone($pkg.Bool,AZ));}if(!($equal($clone(c,AQ).Type(),$pkg.Number,AZ))){$s=-1;return $pkg.False;}if(!$clone(c,AQ).IsKnown()){$s=-1;return AU($clone($pkg.Bool,AZ));}w=$assertType(c.v,DZ).Int64();$s=13;case 13:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;x=v[0];y=v[1];if(!((y===0))||(x.$high<0||(x.$high===0&&x.$low<0))){$s=-1;return $pkg.False;}z=$clone($clone(d,AQ).Type(),AZ).Length();$s=-1;return U((((x.$low+((x.$high>>31)*4294967296))>>0))<z&&(x.$high>0||(x.$high===0&&x.$low>=0)));case 10:$panic(new $String("not a list, map, or tuple type"));case 11:case 6:$s=-1;return new AQ.ptr(new AZ.ptr($ifaceNil),$ifaceNil);}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.HasIndex};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.HasIndex=function(c){return this.$val.HasIndex(c);};AQ.ptr.prototype.HasElement=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($clone(d,AQ).IsMarked()||$clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:e=$clone(d,AQ).Unmark();f=$clone(e[0],AQ);g=e[1];h=$clone(c,AQ).Unmark();i=$clone(h[0],AQ);j=h[1];k=$clone(f,AQ).HasElement($clone(i,AQ));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,AQ).WithMarks(new DY([g,j]));$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=5;case 5:return m;case 2:n=$clone($clone(d,AQ).Type(),AZ);if(!$clone(n,AZ).IsSetType()){$panic(new $String("not a set type"));}if(!$clone(d,AQ).IsKnown()||!$clone(c,AQ).IsKnown()){$s=-1;return AU($clone($pkg.Bool,AZ));}if($clone(d,AQ).IsNull()){$panic(new $String("can't call HasElement on a nil value"));}o=$clone(n,AZ).ElementType();$s=8;case 8:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=$clone(o,AZ).Equals($clone($clone(c,AQ).Type(),AZ));$s=9;case 9:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}if(!p){$s=6;continue;}$s=7;continue;case 6:$s=-1;return $pkg.False;case 7:q=$clone($assertType(d.v,C.Set),C.Set);r=$clone(q,C.Set).Has(c.v);$s=10;case 10:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=U(r);$s=11;case 11:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;$s=12;case 12:return t;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.HasElement};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.HasElement=function(c){return this.$val.HasElement(c);};AQ.ptr.prototype.Length=function(){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if($clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:d=$clone(c,AQ).Unmark();e=$clone(d[0],AQ);f=d[1];g=$clone(e,AQ).Length();$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=$clone(g,AQ).WithMarks(new DY([f]));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=5;case 5:return i;case 2:if($clone($clone(c,AQ).Type(),AZ).IsTupleType()){$s=6;continue;}$s=7;continue;case 6:j=Y((new $Int64(0,$clone($clone(c,AQ).Type(),AZ).Length())));$s=8;case 8:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=9;case 9:return k;case 7:if(!$clone(c,AQ).IsKnown()){$s=-1;return AU($clone($pkg.Number,AZ));}if($clone($clone(c,AQ).Type(),AZ).IsSetType()){$s=10;continue;}$s=11;continue;case 10:l=(new $Int64(0,$clone($assertType(c.v,C.Set),C.Set).Length()));if((l.$high===0&&l.$low===1)){m=true;$s=14;continue s;}n=$clone(c,AQ).IsWhollyKnown();$s=15;case 15:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;case 14:if(m){$s=12;continue;}$s=13;continue;case 12:o=Y(l);$s=16;case 16:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;$s=17;case 17:return p;case 13:$s=-1;return AU($clone($pkg.Number,AZ));case 11:q=Y((new $Int64(0,$clone(c,AQ).LengthInt())));$s=18;case 18:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;$s=19;case 19:return r;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Length};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Length=function(){return this.$val.Length();};AQ.ptr.prototype.LengthInt=function(){var c;c=this;$clone(c,AQ).assertUnmarked();if($clone($clone(c,AQ).Type(),AZ).IsTupleType()){return $clone($clone(c,AQ).Type(),AZ).Length();}if($clone($clone(c,AQ).Type(),AZ).IsObjectType()){return $keys($clone($clone(c,AQ).Type(),AZ).AttributeTypes()).length;}if(!$clone(c,AQ).IsKnown()){$panic(new $String("value is not known"));}if($clone(c,AQ).IsNull()){$panic(new $String("value is null"));}if($clone(c.ty,AZ).IsListType()){return $assertType(c.v,DV).$length;}else if($clone(c.ty,AZ).IsSetType()){return $clone($assertType(c.v,C.Set),C.Set).Length();}else if($clone(c.ty,AZ).IsMapType()){return $keys($assertType(c.v,EC)).length;}else{$panic(new $String("value is not a collection"));}};AQ.prototype.LengthInt=function(){return this.$val.LengthInt();};AQ.ptr.prototype.ElementIterator=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$clone(c,AQ).assertUnmarked();if(!$clone(c,AQ).IsKnown()){$panic(new $String("can't use ElementIterator on unknown value"));}if($clone(c,AQ).IsNull()){$panic(new $String("can't use ElementIterator on null value"));}d=DI($clone(c,AQ));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.ElementIterator};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.ElementIterator=function(){return this.$val.ElementIterator();};AQ.ptr.prototype.CanIterateElements=function(){var c;c=this;return DH($clone(c,AQ));};AQ.prototype.CanIterateElements=function(){return this.$val.CanIterateElements();};AQ.ptr.prototype.ForEachElement=function(c){var c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;$clone(d,AQ).assertUnmarked();e=$clone(d,AQ).ElementIterator();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;case 2:g=f.Next();$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}if(!(g)){$s=3;continue;}i=f.Element();$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=$clone(h[0],AQ);k=$clone(h[1],AQ);l=c($clone(j,AQ),$clone(k,AQ));$s=6;case 6:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(m){$s=-1;return true;}$s=2;continue;case 3:$s=-1;return false;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.ForEachElement};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.ForEachElement=function(c){return this.$val.ForEachElement(c);};AQ.ptr.prototype.Not=function(){var c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if($clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:d=$clone(c,AQ).Unmark();e=$clone(d[0],AQ);f=d[1];g=$clone(e,AQ).Not();$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=$clone(g,AQ).WithMarks(new DY([f]));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=5;case 5:return i;case 2:j=CX($clone($pkg.Bool,AZ),$clone($pkg.Bool,AZ),new DX([$clone(c,AQ)]));$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(!(k===ED.nil)){$s=7;continue;}$s=8;continue;case 7:l=CY(k,$clone($pkg.Bool,AZ));$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;$s=-1;return k;case 8:$s=-1;return U(!$assertType(c.v,$Bool));}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Not};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Not=function(){return this.$val.Not();};AQ.ptr.prototype.And=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($clone(d,AQ).IsMarked()||$clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:e=$clone(d,AQ).Unmark();f=$clone(e[0],AQ);g=e[1];h=$clone(c,AQ).Unmark();i=$clone(h[0],AQ);j=h[1];k=$clone(f,AQ).And($clone(i,AQ));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,AQ).WithMarks(new DY([g,j]));$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=5;case 5:return m;case 2:n=CX($clone($pkg.Bool,AZ),$clone($pkg.Bool,AZ),new DX([$clone(d,AQ),$clone(c,AQ)]));$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(!(o===ED.nil)){$s=7;continue;}$s=8;continue;case 7:p=CY(o,$clone($pkg.Bool,AZ));$s=9;case 9:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;$s=-1;return o;case 8:$s=-1;return U($assertType(d.v,$Bool)&&$assertType(c.v,$Bool));}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.And};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.And=function(c){return this.$val.And(c);};AQ.ptr.prototype.Or=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($clone(d,AQ).IsMarked()||$clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:e=$clone(d,AQ).Unmark();f=$clone(e[0],AQ);g=e[1];h=$clone(c,AQ).Unmark();i=$clone(h[0],AQ);j=h[1];k=$clone(f,AQ).Or($clone(i,AQ));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,AQ).WithMarks(new DY([g,j]));$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=5;case 5:return m;case 2:n=CX($clone($pkg.Bool,AZ),$clone($pkg.Bool,AZ),new DX([$clone(d,AQ),$clone(c,AQ)]));$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(!(o===ED.nil)){$s=7;continue;}$s=8;continue;case 7:p=CY(o,$clone($pkg.Bool,AZ));$s=9;case 9:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;$s=-1;return o;case 8:$s=-1;return U($assertType(d.v,$Bool)||$assertType(c.v,$Bool));}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Or};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Or=function(c){return this.$val.Or(c);};AQ.ptr.prototype.LessThan=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($clone(d,AQ).IsMarked()||$clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:e=$clone(d,AQ).Unmark();f=$clone(e[0],AQ);g=e[1];h=$clone(c,AQ).Unmark();i=$clone(h[0],AQ);j=h[1];k=$clone(f,AQ).LessThan($clone(i,AQ));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,AQ).WithMarks(new DY([g,j]));$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=5;case 5:return m;case 2:n=CX($clone($pkg.Number,AZ),$clone($pkg.Bool,AZ),new DX([$clone(d,AQ),$clone(c,AQ)]));$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(!(o===ED.nil)){$s=7;continue;}$s=8;continue;case 7:p=CY(o,$clone($pkg.Bool,AZ));$s=9;case 9:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;$s=-1;return o;case 8:q=$assertType(d.v,DZ).Cmp($assertType(c.v,DZ));$s=10;case 10:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=U(q<0);$s=11;case 11:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;$s=12;case 12:return s;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.LessThan};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.LessThan=function(c){return this.$val.LessThan(c);};AQ.ptr.prototype.GreaterThan=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($clone(d,AQ).IsMarked()||$clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:e=$clone(d,AQ).Unmark();f=$clone(e[0],AQ);g=e[1];h=$clone(c,AQ).Unmark();i=$clone(h[0],AQ);j=h[1];k=$clone(f,AQ).GreaterThan($clone(i,AQ));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,AQ).WithMarks(new DY([g,j]));$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=5;case 5:return m;case 2:n=CX($clone($pkg.Number,AZ),$clone($pkg.Bool,AZ),new DX([$clone(d,AQ),$clone(c,AQ)]));$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(!(o===ED.nil)){$s=7;continue;}$s=8;continue;case 7:p=CY(o,$clone($pkg.Bool,AZ));$s=9;case 9:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;$s=-1;return o;case 8:q=$assertType(d.v,DZ).Cmp($assertType(c.v,DZ));$s=10;case 10:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=U(q>0);$s=11;case 11:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;$s=12;case 12:return s;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.GreaterThan};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.GreaterThan=function(c){return this.$val.GreaterThan(c);};AQ.ptr.prototype.LessThanOrEqualTo=function(c){var c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(d,AQ).LessThan($clone(c,AQ));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$clone(d,AQ).Equals($clone(c,AQ));$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=$clone(e,AQ).Or($clone(f,AQ));$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=4;case 4:return h;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.LessThanOrEqualTo};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.LessThanOrEqualTo=function(c){return this.$val.LessThanOrEqualTo(c);};AQ.ptr.prototype.GreaterThanOrEqualTo=function(c){var c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(d,AQ).GreaterThan($clone(c,AQ));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$clone(d,AQ).Equals($clone(c,AQ));$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=$clone(e,AQ).Or($clone(f,AQ));$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=4;case 4:return h;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.GreaterThanOrEqualTo};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.GreaterThanOrEqualTo=function(c){return this.$val.GreaterThanOrEqualTo(c);};AQ.ptr.prototype.AsString=function(){var c;c=this;$clone(c,AQ).assertUnmarked();if(!($equal(c.ty,$pkg.String,AZ))){$panic(new $String("not a string"));}if($clone(c,AQ).IsNull()){$panic(new $String("value is null"));}if(!$clone(c,AQ).IsKnown()){$panic(new $String("value is unknown"));}return $assertType(c.v,$String);};AQ.prototype.AsString=function(){return this.$val.AsString();};AQ.ptr.prototype.AsBigFloat=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$clone(c,AQ).assertUnmarked();if(!($equal(c.ty,$pkg.Number,AZ))){$panic(new $String("not a number"));}if($clone(c,AQ).IsNull()){$panic(new $String("value is null"));}if(!$clone(c,AQ).IsKnown()){$panic(new $String("value is unknown"));}d=new B.Float.ptr(0,0,0,0,false,B.nat.nil,0).Copy($assertType(c.v,DZ));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.AsBigFloat};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.AsBigFloat=function(){return this.$val.AsBigFloat();};AQ.ptr.prototype.AsValueSlice=function(){var c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$clone(c,AQ).assertUnmarked();d=$clone(c,AQ).LengthInt();if(d===0){$s=-1;return DX.nil;}e=$makeSlice(DX,0,d);f=$clone(c,AQ).ElementIterator();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;case 2:h=g.Next();$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(!(h)){$s=3;continue;}j=g.Element();$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=$clone(i[1],AQ);e=$append(e,k);$s=2;continue;case 3:$s=-1;return e;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.AsValueSlice};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.AsValueSlice=function(){return this.$val.AsValueSlice();};AQ.ptr.prototype.AsValueMap=function(){var c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$clone(c,AQ).assertUnmarked();d=$clone(c,AQ).LengthInt();if(d===0){$s=-1;return false;}e=((d<0||d>2147483647)?$throwRuntimeError("makemap: size out of range"):{});f=$clone(c,AQ).ElementIterator();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;case 2:h=g.Next();$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(!(h)){$s=3;continue;}j=g.Element();$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=$clone(i[0],AQ);l=$clone(i[1],AQ);m=$clone(k,AQ).AsString();(e||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(m)]={k:m,v:$clone(l,AQ)};$s=2;continue;case 3:$s=-1;return e;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.AsValueMap};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.AsValueMap=function(){return this.$val.AsValueMap();};AQ.ptr.prototype.AsValueSet=function(){var c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$clone(c,AQ).assertUnmarked();if(!$clone($clone(c,AQ).Type(),AZ).IsCollectionType()){$panic(new $String("not a collection type"));}d=$clone($clone(c,AQ).Type(),AZ).ElementType();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=BM($clone(d,AZ));$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$clone(e,BL);g=$clone(c,AQ).ElementIterator();$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;case 4:i=h.Next();$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(!(i)){$s=5;continue;}k=h.Element();$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=$clone(j[1],AQ);$r=$clone(f,BL).Add($clone(l,AQ));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=4;continue;case 5:$s=-1;return f;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.AsValueSet};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.AsValueSet=function(){return this.$val.AsValueSet();};AQ.ptr.prototype.EncapsulatedValue=function(){var c;c=this;$clone(c,AQ).assertUnmarked();if(!$clone($clone(c,AQ).Type(),AZ).IsCapsuleType()){$panic(new $String("not a capsule-typed value"));}return c.v;};AQ.prototype.EncapsulatedValue=function(){return this.$val.EncapsulatedValue();};U=function(c){var c;return new AQ.ptr($clone($pkg.Bool,AZ),new $Bool(c));};$pkg.BoolVal=U;V=function(c){var c;return new AQ.ptr($clone($pkg.Number,AZ),c);};$pkg.NumberVal=V;W=function(c){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=B.ParseFloat(c,10,512,0);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[2];if(!($interfaceIsEqual(g,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:h=A.Errorf("a number is required",new DV([]));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=[$pkg.NilVal,h];$s=5;case 5:return i;case 3:$s=-1;return[V(f),$ifaceNil];}return;}if($f===undefined){$f={$blk:W};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ParseNumberVal=W;Y=function(c){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=new B.Float.ptr(0,0,0,0,false,B.nat.nil,0).SetInt64(c);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=V(d);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=3;case 3:return f;}return;}if($f===undefined){$f={$blk:Y};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NumberIntVal=Y;AA=function(c){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=new B.Float.ptr(0,0,0,0,false,B.nat.nil,0).SetFloat64(c);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=V(d);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=3;case 3:return f;}return;}if($f===undefined){$f={$blk:AA};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NumberFloatVal=AA;AB=function(c){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=AC(c);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=new AQ.ptr($clone($pkg.String,AZ),new $String(d));$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:AB};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.StringVal=AB;AC=function(c){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=new E.Form(0).String(c);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:AC};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NormalizeString=AC;AD=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=(d=$keys(c).length,((d<0||d>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));g=(f=$keys(c).length,((f<0||f>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));h=c;i=0;j=$keys(h);case 1:if(!(i<j.length)){$s=2;continue;}k=h[j[i]];if(k===undefined){i++;$s=1;continue;}l=k.k;m=$clone(k.v,AQ);n=AC(l);$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}l=n;o=l;(e||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(o)]={k:o,v:$clone(m.ty,AZ)};p=l;(g||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(p)]={k:p,v:m.v};i++;$s=1;continue;case 2:q=CH(e);$s=4;case 4:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=new AQ.ptr($clone(q,AZ),new EC(g));$s=5;case 5:return r;}return;}if($f===undefined){$f={$blk:AD};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ObjectVal=AD;AE=function(c){var c,d,e,f,g,h,i;d=$makeSlice(EF,c.$length);e=$makeSlice(DV,c.$length);f=c;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=$clone(((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]),AQ);AZ.copy(((h<0||h>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+h]),i.ty);((h<0||h>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+h]=i.v);g++;}return new AQ.ptr($clone(BE(d),AZ),e);};$pkg.TupleVal=AE;AF=function(c){var c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(c.$length===0){$panic(new $String("must not call ListVal with empty slice"));}d=$clone($pkg.DynamicPseudoType,AZ);e=$makeSlice(DV,c.$length);f=c;g=0;case 1:if(!(g<f.$length)){$s=2;continue;}h=g;i=$clone(((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]),AQ);if($equal(d,$pkg.DynamicPseudoType,AZ)){$s=3;continue;}if(!(!($equal(i.ty,$pkg.DynamicPseudoType,AZ)))){j=false;$s=6;continue s;}k=$clone(d,AZ).Equals($clone(i.ty,AZ));$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=!k;case 6:if(j){$s=4;continue;}$s=5;continue;case 3:AZ.copy(d,i.ty);$s=5;continue;case 4:m=A.Errorf("inconsistent list element types (%#v then %#v)",new DV([new d.constructor.elem(d),(l=i.ty,new l.constructor.elem(l))]));$s=8;case 8:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$panic(m);case 5:((h<0||h>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+h]=i.v);g++;$s=1;continue;case 2:$s=-1;return new AQ.ptr($clone(CU($clone(d,AZ)),AZ),e);}return;}if($f===undefined){$f={$blk:AF};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ListVal=AF;AG=function(c){var c;return new AQ.ptr($clone(CU($clone(c,AZ)),AZ),new DV([]));};$pkg.ListValEmpty=AG;AH=function(c){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=$clone($pkg.DynamicPseudoType,AZ);e=c;f=0;case 1:if(!(f<e.$length)){$s=2;continue;}g=$clone(((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]),AQ);if($equal(d,$pkg.DynamicPseudoType,AZ)){$s=3;continue;}if(!(!($equal(g.ty,$pkg.DynamicPseudoType,AZ)))){h=false;$s=6;continue s;}i=$clone(d,AZ).Equals($clone(g.ty,AZ));$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=!i;case 6:if(h){$s=4;continue;}$s=5;continue;case 3:AZ.copy(d,g.ty);$s=5;continue;case 4:$s=-1;return false;case 5:f++;$s=1;continue;case 2:$s=-1;return true;}return;}if($f===undefined){$f={$blk:AH};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.CanListVal=AH;AI=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($keys(c).length===0){$panic(new $String("must not call MapVal with empty map"));}d=$clone($pkg.DynamicPseudoType,AZ);f=(e=$keys(c).length,((e<0||e>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));g=c;h=0;i=$keys(g);case 1:if(!(h<i.length)){$s=2;continue;}j=g[i[h]];if(j===undefined){h++;$s=1;continue;}k=j.k;l=$clone(j.v,AQ);if($equal(d,$pkg.DynamicPseudoType,AZ)){$s=3;continue;}if(!(!($equal(l.ty,$pkg.DynamicPseudoType,AZ)))){m=false;$s=6;continue s;}n=$clone(d,AZ).Equals($clone(l.ty,AZ));$s=7;case 7:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=!n;case 6:if(m){$s=4;continue;}$s=5;continue;case 3:AZ.copy(d,l.ty);$s=5;continue;case 4:p=A.Errorf("inconsistent map element types (%#v then %#v)",new DV([new d.constructor.elem(d),(o=l.ty,new o.constructor.elem(o))]));$s=8;case 8:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$panic(p);case 5:r=AC(k);$s=9;case 9:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;(f||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(q)]={k:q,v:l.v};h++;$s=1;continue;case 2:$s=-1;return new AQ.ptr($clone(CS($clone(d,AZ)),AZ),new EC(f));}return;}if($f===undefined){$f={$blk:AI};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};$pkg.MapVal=AI;AJ=function(c){var c;return new AQ.ptr($clone(CS($clone(c,AZ)),AZ),new EC($makeMap($String.keyFor,[])));};$pkg.MapValEmpty=AJ;AK=function(c){var c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=$clone($pkg.DynamicPseudoType,AZ);e=c;f=0;g=$keys(e);case 1:if(!(f<g.length)){$s=2;continue;}h=e[g[f]];if(h===undefined){f++;$s=1;continue;}i=$clone(h.v,AQ);if($equal(d,$pkg.DynamicPseudoType,AZ)){$s=3;continue;}if(!(!($equal(i.ty,$pkg.DynamicPseudoType,AZ)))){j=false;$s=6;continue s;}k=$clone(d,AZ).Equals($clone(i.ty,AZ));$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=!k;case 6:if(j){$s=4;continue;}$s=5;continue;case 3:AZ.copy(d,i.ty);$s=5;continue;case 4:$s=-1;return false;case 5:f++;$s=1;continue;case 2:$s=-1;return true;}return;}if($f===undefined){$f={$blk:AK};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};$pkg.CanMapVal=AK;AL=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(c.$length===0){$panic(new $String("must not call SetVal with empty slice"));}d=$clone($pkg.DynamicPseudoType,AZ);e=$makeSlice(DV,c.$length);f=DY.nil;g=c;h=0;case 1:if(!(h<g.$length)){$s=2;continue;}i=h;j=$clone(((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]),AQ);l=$clone(j,AQ).UnmarkDeep();$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=$clone(k[0],AQ);n=k[1];if($keys(n).length>0){AQ.copy(j,m);f=$append(f,n);}if($equal(d,$pkg.DynamicPseudoType,AZ)){$s=4;continue;}if(!(!($equal(j.ty,$pkg.DynamicPseudoType,AZ)))){o=false;$s=7;continue s;}p=$clone(d,AZ).Equals($clone(j.ty,AZ));$s=8;case 8:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=!p;case 7:if(o){$s=5;continue;}$s=6;continue;case 4:AZ.copy(d,j.ty);$s=6;continue;case 5:r=A.Errorf("inconsistent set element types (%#v then %#v)",new DV([new d.constructor.elem(d),(q=j.ty,new q.constructor.elem(q))]));$s=9;case 9:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}$panic(r);case 6:((i<0||i>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+i]=j.v);h++;$s=1;continue;case 2:t=C.NewSetFromSlice((s=new BI.ptr($clone(d,AZ)),new s.constructor.elem(s)),e);$s=10;case 10:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=$clone(t,C.Set);$s=-1;return new AQ.ptr($clone(BH($clone(d,AZ)),AZ),new u.constructor.elem(u)).WithMarks(f);}return;}if($f===undefined){$f={$blk:AL};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SetVal=AL;AM=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=$clone($pkg.DynamicPseudoType,AZ);e=DY.nil;f=c;g=0;case 1:if(!(g<f.$length)){$s=2;continue;}h=$clone(((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]),AQ);j=$clone(h,AQ).UnmarkDeep();$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=$clone(i[0],AQ);l=i[1];if($keys(l).length>0){AQ.copy(h,k);e=$append(e,l);}if($equal(d,$pkg.DynamicPseudoType,AZ)){$s=4;continue;}if(!(!($equal(h.ty,$pkg.DynamicPseudoType,AZ)))){m=false;$s=7;continue s;}n=$clone(d,AZ).Equals($clone(h.ty,AZ));$s=8;case 8:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=!n;case 7:if(m){$s=5;continue;}$s=6;continue;case 4:AZ.copy(d,h.ty);$s=6;continue;case 5:$s=-1;return false;case 6:g++;$s=1;continue;case 2:$s=-1;return true;}return;}if($f===undefined){$f={$blk:AM};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};$pkg.CanSetVal=AM;AN=function(c){var c,d,e;d=$clone($clone(c,BL).ElementType(),AZ);e=$clone($clone(c.s,C.Set).Copy(),C.Set);return new AQ.ptr($clone(BH($clone(d,AZ)),AZ),new e.constructor.elem(e));};$pkg.SetValFromValueSet=AN;AO=function(c){var c,d,e;return new AQ.ptr($clone(BH($clone(c,AZ)),AZ),(d=C.NewSet((e=new BI.ptr($clone(c,AZ)),new e.constructor.elem(e))),new d.constructor.elem(d)));};$pkg.SetValEmpty=AO;AP=function(c,d){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(c,AZ).IsCapsuleType()){$panic(new $String("not a capsule type"));}e=D.ValueOf(d);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!(($clone(f,D.Value).Kind()===22))){$panic(new $String("wrapVal is not a pointer"));}g=$assertType(c.typeImpl,EG).GoType;h=$clone(f,D.Value).Type().Elem();$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h.AssignableTo(g);$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(!i){$s=2;continue;}$s=3;continue;case 2:$panic(new $String("wrapVal target is not compatible with the given capsule type"));case 3:$s=-1;return new AQ.ptr($clone(c,AZ),d);}return;}if($f===undefined){$f={$blk:AP};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.CapsuleVal=AP;AQ.ptr.prototype.Type=function(){var c;c=this;return c.ty;};AQ.prototype.Type=function(){return this.$val.Type();};AQ.ptr.prototype.IsKnown=function(){var c;c=this;if($clone(c,AQ).IsMarked()){return $clone($clone(c,AQ).unmarkForce(),AQ).IsKnown();}return!($interfaceIsEqual(c.v,AT));};AQ.prototype.IsKnown=function(){return this.$val.IsKnown();};AQ.ptr.prototype.IsNull=function(){var c;c=this;if($clone(c,AQ).IsMarked()){return $clone($clone(c,AQ).unmarkForce(),AQ).IsNull();}return $interfaceIsEqual(c.v,$ifaceNil);};AQ.prototype.IsNull=function(){return this.$val.IsNull();};AQ.ptr.prototype.IsWhollyKnown=function(){var c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if($clone(c,AQ).IsMarked()){$s=1;continue;}$s=2;continue;case 1:d=$clone($clone(c,AQ).unmarkForce(),AQ).IsWhollyKnown();$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=4;case 4:return e;case 2:if(!$clone(c,AQ).IsKnown()){$s=-1;return false;}if($clone(c,AQ).IsNull()){$s=-1;return true;}if($clone(c,AQ).CanIterateElements()){$s=6;continue;}$s=7;continue;case 6:f=$clone(c,AQ).ElementIterator();$s=9;case 9:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;case 10:h=g.Next();$s=12;case 12:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(!(h)){$s=11;continue;}j=g.Element();$s=13;case 13:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=$clone(i[1],AQ);l=$clone(k,AQ).IsWhollyKnown();$s=16;case 16:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(!l){$s=14;continue;}$s=15;continue;case 14:$s=-1;return false;case 15:$s=10;continue;case 11:$s=-1;return true;case 7:$s=-1;return true;case 8:case 5:$s=-1;return false;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.IsWhollyKnown};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.IsWhollyKnown=function(){return this.$val.IsWhollyKnown();};AQ.ptr.prototype.HasWhollyKnownType=function(){var c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if($clone(c,AQ).IsNull()){$s=-1;return true;}if(!$clone(c,AQ).IsKnown()&&$equal(c.ty,$pkg.DynamicPseudoType,AZ)){$s=-1;return false;}if($clone(c,AQ).CanIterateElements()){$s=1;continue;}$s=2;continue;case 1:if(!$clone(c,AQ).IsKnown()){$s=3;continue;}$s=4;continue;case 3:d=$clone(c.ty,AZ).HasDynamicTypes();$s=5;case 5:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=!d;$s=6;case 6:return e;case 4:f=$clone(c,AQ).ElementIterator();$s=7;case 7:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;case 8:h=g.Next();$s=10;case 10:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(!(h)){$s=9;continue;}j=g.Element();$s=11;case 11:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=$clone(i[1],AQ);l=$clone(k,AQ).HasWhollyKnownType();$s=14;case 14:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(!l){$s=12;continue;}$s=13;continue;case 12:$s=-1;return false;case 13:$s=8;continue;case 9:case 2:$s=-1;return true;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.HasWhollyKnownType};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.HasWhollyKnownType=function(){return this.$val.HasWhollyKnownType();};AU=function(c){var c;return new AQ.ptr($clone(c,AZ),AT);};$pkg.UnknownVal=AU;AS.ptr.prototype.GoString=function(){var c;c=this;return"cty.unknown";};AS.prototype.GoString=function(){return this.$val.GoString();};AV.ptr.prototype.Equals=function(c){var c,d,e,f;d=this;e=$assertType(c.typeImpl,AV,true);f=e[1];return f;};AV.prototype.Equals=function(c){return this.$val.Equals(c);};AV.ptr.prototype.FriendlyName=function(c){var c,d,e;d=this;e=c;if(e===(67)){return"any type";}else{return"dynamic";}};AV.prototype.FriendlyName=function(c){return this.$val.FriendlyName(c);};AV.ptr.prototype.GoString=function(){var c;c=this;return"cty.DynamicPseudoType";};AV.prototype.GoString=function(){return this.$val.GoString();};AW=function(){var c;AZ.copy($pkg.DynamicPseudoType,new AZ.ptr((c=new AV.ptr(new BB.ptr()),new c.constructor.elem(c))));AQ.copy($pkg.DynamicVal,new AQ.ptr($clone($pkg.DynamicPseudoType,AZ),AT));};AX=function(){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$pkg.InternalTypesToRegister=new DV([(c=new BO.ptr(new BB.ptr(),0),new c.constructor.elem(c)),(d=new CT.ptr(new BB.ptr(),new AZ.ptr($ifaceNil)),new d.constructor.elem(d)),(e=new CR.ptr(new BB.ptr(),new AZ.ptr($ifaceNil)),new e.constructor.elem(e)),(f=new CG.ptr(new BB.ptr(),false,false),new f.constructor.elem(f)),(g=new BG.ptr(new BB.ptr(),new AZ.ptr($ifaceNil)),new g.constructor.elem(g)),(h=new BI.ptr(new AZ.ptr($ifaceNil)),new h.constructor.elem(h)),(i=new C.Set.ptr(false,$ifaceNil),new i.constructor.elem(i)),(j=new BD.ptr(new BB.ptr(),EF.nil),new j.constructor.elem(j)),(k=new B.Float.ptr(0,0,0,0,false,B.nat.nil,0),new k.constructor.elem(k)),(l=new DS.ptr(new BB.ptr(),"",$ifaceNil,EH.nil),new l.constructor.elem(l)),(DV.nil),new EC((false))]);m=$pkg.InternalTypesToRegister;n=0;case 1:if(!(n<m.$length)){$s=2;continue;}o=((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);p=A.Sprintf("%T",new DV([o]));$s=3;case 3:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;if(G.HasPrefix(q,"cty.")){$s=4;continue;}$s=5;continue;case 4:r=A.Sprintf("github.com/zclconf/go-cty/%s",new DV([new $String(q)]));$s=7;case 7:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}$r=F.RegisterName(r,o);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=6;continue;case 5:$r=F.Register(o);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:n++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AX};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};AZ.ptr.prototype.TestConformance=function(c){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=this;f=$makeSlice(BX,0);d[0]=EB.nil;$r=AY($clone(e,AZ),$clone(c,AZ),f,(d.$ptr||(d.$ptr=new EI(function(){return this.$target[0];},function($v){this.$target[0]=$v;},d))));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return d[0];}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.TestConformance};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.TestConformance=function(c){return this.$val.TestConformance(c);};AY=function(c,d,e,f){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;c=$f.c;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=$clone(d,AZ).Equals($clone($pkg.DynamicPseudoType,AZ));$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}if(g){$s=1;continue;}$s=2;continue;case 1:$s=-1;return;case 2:h=$clone(c,AZ).Equals($clone(d,AZ));$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(h){$s=4;continue;}$s=5;continue;case 4:$s=-1;return;case 5:if($clone(c,AZ).IsObjectType()&&$clone(d,AZ).IsObjectType()){$s=7;continue;}$s=8;continue;case 7:i=$clone(c,AZ).AttributeTypes();j=$clone(d,AZ).AttributeTypes();k=i;l=0;m=$keys(k);case 9:if(!(l<m.length)){$s=10;continue;}n=k[m[l]];if(n===undefined){l++;$s=9;continue;}o=n.k;p=(q=j[$String.keyFor(o)],q!==undefined?[q.v,true]:[new AZ.ptr($ifaceNil),false]);r=p[1];if(!r){$s=11;continue;}$s=12;continue;case 11:s=DF(e,"unsupported attribute %q",new DV([new $String(o)]));$s=13;case 13:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}f.$set($append(f.$get(),s));case 12:l++;$s=9;continue;case 10:t=j;u=0;v=$keys(t);case 14:if(!(u<v.length)){$s=15;continue;}w=t[v[u]];if(w===undefined){u++;$s=14;continue;}x=w.k;y=(z=i[$String.keyFor(x)],z!==undefined?[z.v,true]:[new AZ.ptr($ifaceNil),false]);aa=y[1];if(!aa){$s=16;continue;}$s=17;continue;case 16:ab=DF(e,"missing required attribute %q",new DV([new $String(x)]));$s=18;case 18:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}f.$set($append(f.$get(),ab));case 17:u++;$s=14;continue;case 15:e=$append(e,$ifaceNil);ac=e.$length-1>>0;ad=j;ae=0;af=$keys(ad);case 19:if(!(ae<af.length)){$s=20;continue;}ag=ad[af[ae]];if(ag===undefined){ae++;$s=19;continue;}ah=ag.k;ai=$clone(ag.v,AZ);aj=(ak=i[$String.keyFor(ah)],ak!==undefined?[ak.v,true]:[new AZ.ptr($ifaceNil),false]);al=$clone(aj[0],AZ);am=aj[1];if(am){$s=21;continue;}$s=22;continue;case 21:((ac<0||ac>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+ac]=(an=new CF.ptr(new BZ.ptr(),ah),new an.constructor.elem(an)));$r=AY($clone(al,AZ),$clone(ai,AZ),e,f);$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 22:ae++;$s=19;continue;case 20:e=$subslice(e,0,ac);$s=-1;return;case 8:if($clone(c,AZ).IsTupleType()&&$clone(d,AZ).IsTupleType()){$s=24;continue;}$s=25;continue;case 24:ao=$clone(c,AZ).TupleElementTypes();ap=$clone(d,AZ).TupleElementTypes();if(!((ao.$length===ap.$length))){$s=26;continue;}$s=27;continue;case 26:aq=DF(e,"%d elements are required, but got %d",new DV([new $Int(ap.$length),new $Int(ao.$length)]));$s=28;case 28:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}f.$set($append(f.$get(),aq));$s=-1;return;case 27:e=$append(e,$ifaceNil);ar=e.$length-1>>0;as=ap;at=0;case 29:if(!(at<as.$length)){$s=30;continue;}au=at;av=$clone(((at<0||at>=as.$length)?($throwRuntimeError("index out of range"),undefined):as.$array[as.$offset+at]),AZ);aw=$clone(((au<0||au>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+au]),AZ);ay=Y((new $Int64(0,au)));$s=31;case 31:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}((ar<0||ar>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+ar]=(ax=new CE.ptr(new BZ.ptr(),$clone(ay,AQ)),new ax.constructor.elem(ax)));$r=AY($clone(aw,AZ),$clone(av,AZ),e,f);$s=32;case 32:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}at++;$s=29;continue;case 30:e=$subslice(e,0,ar);$s=-1;return;case 25:if($clone(c,AZ).IsListType()&&$clone(d,AZ).IsListType()){$s=33;continue;}$s=34;continue;case 33:e=$append(e,(az=new CE.ptr(new BZ.ptr(),$clone(AU($clone($pkg.Number,AZ)),AQ)),new az.constructor.elem(az)));ba=e.$length-1>>0;bb=$clone(c,AZ).ElementType();$s=35;case 35:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=$clone(bb,AZ);bd=$clone(d,AZ).ElementType();$s=36;case 36:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}be=$clone(bd,AZ);bf=e;bg=f;$r=AY(bc,be,bf,bg);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=$subslice(e,0,ba);$s=-1;return;case 34:if($clone(c,AZ).IsMapType()&&$clone(d,AZ).IsMapType()){$s=38;continue;}$s=39;continue;case 38:e=$append(e,(bh=new CE.ptr(new BZ.ptr(),$clone(AU($clone($pkg.String,AZ)),AQ)),new bh.constructor.elem(bh)));bi=e.$length-1>>0;bj=$clone(c,AZ).ElementType();$s=40;case 40:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}bk=$clone(bj,AZ);bl=$clone(d,AZ).ElementType();$s=41;case 41:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}bm=$clone(bl,AZ);bn=e;bo=f;$r=AY(bk,bm,bn,bo);$s=42;case 42:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=$subslice(e,0,bi);$s=-1;return;case 39:if($clone(c,AZ).IsSetType()&&$clone(d,AZ).IsSetType()){$s=43;continue;}$s=44;continue;case 43:bq=$clone(c,AZ).ElementType();$s=45;case 45:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}br=AU($clone(bq,AZ));$s=46;case 46:if($c){$c=false;br=br.$blk();}if(br&&br.$blk!==undefined){break s;}e=$append(e,(bp=new CE.ptr(new BZ.ptr(),$clone(br,AQ)),new bp.constructor.elem(bp)));bs=e.$length-1>>0;bt=$clone(c,AZ).ElementType();$s=47;case 47:if($c){$c=false;bt=bt.$blk();}if(bt&&bt.$blk!==undefined){break s;}bu=$clone(bt,AZ);bv=$clone(d,AZ).ElementType();$s=48;case 48:if($c){$c=false;bv=bv.$blk();}if(bv&&bv.$blk!==undefined){break s;}bw=$clone(bv,AZ);bx=e;by=f;$r=AY(bu,bw,bx,by);$s=49;case 49:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=$subslice(e,0,bs);$s=-1;return;case 44:bz=e;ca=$clone(d,AZ).FriendlyName();$s=50;case 50:if($c){$c=false;ca=ca.$blk();}if(ca&&ca.$blk!==undefined){break s;}cb=new $String(ca);cc=$clone(c,AZ).FriendlyName();$s=51;case 51:if($c){$c=false;cc=cc.$blk();}if(cc&&cc.$blk!==undefined){break s;}cd=new $String(cc);ce=DF(bz,"%s required, but received %s",new DV([cb,cd]));$s=52;case 52:if($c){$c=false;ce=ce.$blk();}if(ce&&ce.$blk!==undefined){break s;}f.$set($append(f.$get(),ce));$s=-1;return;}return;}if($f===undefined){$f={$blk:AY};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.c=c;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AZ.ptr.prototype.Equals=function(c){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($equal(d,$pkg.NilType,AZ)||$equal(c,$pkg.NilType,AZ)){$s=-1;return $equal(d,c,AZ);}e=d.typeImpl.Equals($clone(c,AZ));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.Equals};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.Equals=function(c){return this.$val.Equals(c);};AZ.ptr.prototype.FriendlyName=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.typeImpl.FriendlyName(78);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.FriendlyName};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.FriendlyName=function(){return this.$val.FriendlyName();};AZ.ptr.prototype.FriendlyNameForConstraint=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.typeImpl.FriendlyName(67);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.FriendlyNameForConstraint};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.FriendlyNameForConstraint=function(){return this.$val.FriendlyNameForConstraint();};AZ.ptr.prototype.friendlyNameMode=function(c){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.typeImpl.FriendlyName(c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.friendlyNameMode};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.friendlyNameMode=function(c){return this.$val.friendlyNameMode(c);};AZ.ptr.prototype.GoString=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if($interfaceIsEqual(c.typeImpl,$ifaceNil)){$s=-1;return"cty.NilType";}d=c.typeImpl.GoString();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.GoString};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.GoString=function(){return this.$val.GoString();};AZ.ptr.prototype.HasDynamicTypes=function(){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if($equal(c,$pkg.DynamicPseudoType,AZ)){$s=2;continue;}if($clone(c,AZ).IsPrimitiveType()){$s=3;continue;}if($clone(c,AZ).IsCollectionType()){$s=4;continue;}if($clone(c,AZ).IsObjectType()){$s=5;continue;}if($clone(c,AZ).IsTupleType()){$s=6;continue;}if($clone(c,AZ).IsCapsuleType()){$s=7;continue;}$s=8;continue;case 2:$s=-1;return true;case 3:$s=-1;return false;case 4:d=$clone(c,AZ).ElementType();$s=10;case 10:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$clone(d,AZ).HasDynamicTypes();$s=11;case 11:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=12;case 12:return f;case 5:g=$clone(c,AZ).AttributeTypes();h=g;i=0;j=$keys(h);case 13:if(!(i<j.length)){$s=14;continue;}k=h[j[i]];if(k===undefined){i++;$s=13;continue;}l=$clone(k.v,AZ);m=$clone(l,AZ).HasDynamicTypes();$s=17;case 17:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(m){$s=15;continue;}$s=16;continue;case 15:$s=-1;return true;case 16:i++;$s=13;continue;case 14:$s=-1;return false;case 6:n=$clone(c,AZ).TupleElementTypes();o=n;p=0;case 18:if(!(p<o.$length)){$s=19;continue;}q=$clone(((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]),AZ);r=$clone(q,AZ).HasDynamicTypes();$s=22;case 22:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(r){$s=20;continue;}$s=21;continue;case 20:$s=-1;return true;case 21:p++;$s=18;continue;case 19:$s=-1;return false;case 7:$s=-1;return false;case 8:$panic(new $String("HasDynamicTypes does not support the given type"));case 9:case 1:$s=-1;return false;}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.HasDynamicTypes};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.HasDynamicTypes=function(){return this.$val.HasDynamicTypes();};AZ.ptr.prototype.WithoutOptionalAttributesDeep=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(($equal(c,$pkg.DynamicPseudoType,AZ))||($clone(c,AZ).IsPrimitiveType())||($clone(c,AZ).IsCapsuleType())){$s=2;continue;}if($clone(c,AZ).IsMapType()){$s=3;continue;}if($clone(c,AZ).IsListType()){$s=4;continue;}if($clone(c,AZ).IsSetType()){$s=5;continue;}if($clone(c,AZ).IsTupleType()){$s=6;continue;}if($clone(c,AZ).IsObjectType()){$s=7;continue;}$s=8;continue;case 2:$s=-1;return c;case 3:d=$clone(c,AZ).ElementType();$s=10;case 10:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$clone(d,AZ).WithoutOptionalAttributesDeep();$s=11;case 11:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=CS($clone(e,AZ));$s=12;case 12:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=13;case 13:return g;case 4:h=$clone(c,AZ).ElementType();$s=14;case 14:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=$clone(h,AZ).WithoutOptionalAttributesDeep();$s=15;case 15:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=CU($clone(i,AZ));$s=16;case 16:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=17;case 17:return k;case 5:l=$clone(c,AZ).ElementType();$s=18;case 18:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=$clone(l,AZ).WithoutOptionalAttributesDeep();$s=19;case 19:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=BH($clone(m,AZ));$s=20;case 20:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;$s=21;case 21:return o;case 6:p=$clone(c,AZ).TupleElementTypes();q=$makeSlice(EF,p.$length);r=p;s=0;case 22:if(!(s<r.$length)){$s=23;continue;}t=s;u=$clone(((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]),AZ);v=$clone(u,AZ).WithoutOptionalAttributesDeep();$s=24;case 24:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}AZ.copy(((t<0||t>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+t]),v);s++;$s=22;continue;case 23:$s=-1;return BE(q);case 7:w=$clone(c,AZ).AttributeTypes();y=(x=$keys(w).length,((x<0||x>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));z=w;aa=0;ab=$keys(z);case 25:if(!(aa<ab.length)){$s=26;continue;}ac=z[ab[aa]];if(ac===undefined){aa++;$s=25;continue;}ad=ac.k;ae=$clone(ac.v,AZ);ag=$clone(ae,AZ).WithoutOptionalAttributesDeep();$s=27;case 27:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ad;(y||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(af)]={k:af,v:$clone(ag,AZ)};aa++;$s=25;continue;case 26:ah=CH(y);$s=28;case 28:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=29;case 29:return ai;case 8:$panic(new $String("WithoutOptionalAttributesDeep does not support the given type"));case 9:case 1:$s=-1;return new AZ.ptr($ifaceNil);}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.WithoutOptionalAttributesDeep};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.WithoutOptionalAttributesDeep=function(){return this.$val.WithoutOptionalAttributesDeep();};BE=function(c){var c,d;return new AZ.ptr((d=new BD.ptr(new BB.ptr(),c),new d.constructor.elem(d)));};$pkg.Tuple=BE;BD.ptr.prototype.Equals=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$assertType(c.typeImpl,BD,true);f=$clone(e[0],BD);g=e[1];if(g){$s=1;continue;}$s=2;continue;case 1:if(!((d.ElemTypes.$length===f.ElemTypes.$length))){$s=-1;return false;}h=d.ElemTypes;i=0;case 3:if(!(i<h.$length)){$s=4;continue;}j=i;k=$clone(((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]),AZ);m=$clone((l=f.ElemTypes,((j<0||j>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+j])),AZ);if(!g){$s=-1;return false;}n=$clone(m,AZ).Equals($clone(k,AZ));$s=7;case 7:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(!n){$s=5;continue;}$s=6;continue;case 5:$s=-1;return false;case 6:i++;$s=3;continue;case 4:$s=-1;return true;case 2:$s=-1;return false;}return;}if($f===undefined){$f={$blk:BD.ptr.prototype.Equals};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BD.prototype.Equals=function(c){return this.$val.Equals(c);};BD.ptr.prototype.FriendlyName=function(c){var c,d;d=this;return"tuple";};BD.prototype.FriendlyName=function(c){return this.$val.FriendlyName(c);};BD.ptr.prototype.GoString=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(c.ElemTypes.$length===0){$s=-1;return"cty.EmptyTuple";}d=A.Sprintf("cty.Tuple(%#v)",new DV([c.ElemTypes]));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:BD.ptr.prototype.GoString};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BD.prototype.GoString=function(){return this.$val.GoString();};BF=function(){AZ.copy($pkg.EmptyTuple,BE(new EF([])));AQ.copy($pkg.EmptyTupleVal,new AQ.ptr($clone($pkg.EmptyTuple,AZ),new DV([])));};AZ.ptr.prototype.IsTupleType=function(){var c,d,e;c=this;d=$assertType(c.typeImpl,BD,true);e=d[1];return e;};AZ.prototype.IsTupleType=function(){return this.$val.IsTupleType();};AZ.ptr.prototype.Length=function(){var c,d,e,f;c=this;d=$assertType(c.typeImpl,BD,true);e=$clone(d[0],BD);f=d[1];if(f){return e.ElemTypes.$length;}$panic(new $String("Length on non-tuple Type"));};AZ.prototype.Length=function(){return this.$val.Length();};AZ.ptr.prototype.TupleElementType=function(c){var c,d,e,f,g,h;d=this;e=$assertType(d.typeImpl,BD,true);f=$clone(e[0],BD);g=e[1];if(g){return(h=f.ElemTypes,((c<0||c>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+c]));}$panic(new $String("TupleElementType on non-tuple Type"));};AZ.prototype.TupleElementType=function(c){return this.$val.TupleElementType(c);};AZ.ptr.prototype.TupleElementTypes=function(){var c,d,e,f;c=this;d=$assertType(c.typeImpl,BD,true);e=$clone(d[0],BD);f=d[1];if(f){return e.ElemTypes;}$panic(new $String("TupleElementTypes on non-tuple Type"));};AZ.prototype.TupleElementTypes=function(){return this.$val.TupleElementTypes();};BH=function(c){var c,d;return new AZ.ptr((d=new BG.ptr(new BB.ptr(),$clone(c,AZ)),new d.constructor.elem(d)));};$pkg.Set=BH;BG.ptr.prototype.Equals=function(c){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$assertType(c.typeImpl,BG,true);f=$clone(e[0],BG);g=e[1];if(!g){$s=-1;return false;}h=$clone(d.ElementTypeT,AZ).Equals($clone(f.ElementTypeT,AZ));$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=2;case 2:return i;}return;}if($f===undefined){$f={$blk:BG.ptr.prototype.Equals};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BG.prototype.Equals=function(c){return this.$val.Equals(c);};BG.ptr.prototype.FriendlyName=function(c){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(d.ElementTypeT,AZ).friendlyNameMode(c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(c===67){if($equal(d.ElementTypeT,$pkg.DynamicPseudoType,AZ)){f="any single type";}}$s=-1;return"set of "+f;}return;}if($f===undefined){$f={$blk:BG.ptr.prototype.FriendlyName};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BG.prototype.FriendlyName=function(c){return this.$val.FriendlyName(c);};BG.ptr.prototype.ElementType=function(){var c;c=this;return c.ElementTypeT;};BG.prototype.ElementType=function(){return this.$val.ElementType();};BG.ptr.prototype.GoString=function(){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=A.Sprintf("cty.Set(%#v)",new DV([(d=c.ElementTypeT,new d.constructor.elem(d))]));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:BG.ptr.prototype.GoString};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BG.prototype.GoString=function(){return this.$val.GoString();};AZ.ptr.prototype.IsSetType=function(){var c,d,e;c=this;d=$assertType(c.typeImpl,BG,true);e=d[1];return e;};AZ.prototype.IsSetType=function(){return this.$val.IsSetType();};AZ.ptr.prototype.SetElementType=function(){var c,d,e,f;c=this;d=$assertType(c.typeImpl,BG,true);e=$clone(d[0],BG);f=d[1];if(f){return e.ElementTypeT;}return EJ.nil;};AZ.prototype.SetElementType=function(){return this.$val.SetElementType();};AQ.ptr.prototype.Hash=function(){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=BJ($clone(c,AQ));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];if($keys(g).length>0){$panic(new $String("can't take hash of value that has marks or has embedded values that have marks"));}h=I.ChecksumIEEE(f);$s=2;case 2:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=((h>>0));$s=3;case 3:return i;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.Hash};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.Hash=function(){return this.$val.Hash();};BI.ptr.prototype.Hash=function(c){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=new AQ.ptr($clone(d.Type,AZ),c).Hash();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:BI.ptr.prototype.Hash};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BI.prototype.Hash=function(c){return this.$val.Hash(c);};BI.ptr.prototype.Equivalent=function(c,d){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=new AQ.ptr($clone(e.Type,AZ),c);g=new AQ.ptr($clone(e.Type,AZ),d);h=$clone(f,AQ).Equals($clone(g,AQ));$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=$clone(h,AQ);$s=-1;return $interfaceIsEqual(i.v,new $Bool(true));}return;}if($f===undefined){$f={$blk:BI.ptr.prototype.Equivalent};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BI.prototype.Equivalent=function(c,d){return this.$val.Equivalent(c,d);};BI.ptr.prototype.SameRules=function(c){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$assertType(c,BI,true);f=$clone(e[0],BI);g=e[1];if(!g){$s=-1;return false;}h=$clone(d.Type,AZ).Equals($clone(f.Type,AZ));$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=2;case 2:return i;}return;}if($f===undefined){$f={$blk:BI.ptr.prototype.SameRules};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BI.prototype.SameRules=function(c){return this.$val.SameRules(c);};BI.ptr.prototype.Less=function(c,d){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=new AQ.ptr($clone(e.Type,AZ),c);g=new AQ.ptr($clone(e.Type,AZ),d);h=$clone(f,AQ).RawEquals($clone(g,AQ));$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(h){$s=1;continue;}$s=2;continue;case 1:$s=-1;return false;case 2:if($clone(g,AQ).IsNull()&&!$clone(f,AQ).IsNull()){$s=-1;return true;}else if($clone(f,AQ).IsNull()){$s=-1;return false;}if($clone(f,AQ).IsKnown()&&!$clone(g,AQ).IsKnown()){$s=-1;return true;}else if(!$clone(f,AQ).IsKnown()){$s=-1;return false;}i=$clone(e.Type,AZ);if($equal(i,($pkg.String),AZ)){$s=5;continue;}if($equal(i,($pkg.Bool),AZ)){$s=6;continue;}if($equal(i,($pkg.Number),AZ)){$s=7;continue;}$s=8;continue;case 5:$s=-1;return $clone(f,AQ).AsString()<$clone(g,AQ).AsString();case 6:k=$clone(g,AQ).True();$s=13;case 13:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(k){j=true;$s=12;continue s;}l=$clone(f,AQ).True();$s=14;case 14:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}j=!l;case 12:if(j){$s=10;continue;}$s=11;continue;case 10:$s=-1;return true;case 11:$s=-1;return false;case 7:m=$clone(f,AQ).AsBigFloat();$s=15;case 15:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;o=$clone(g,AQ).AsBigFloat();$s=16;case 16:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;q=n.Cmp(p);$s=17;case 17:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q<0;$s=18;case 18:return r;case 8:t=BJ($clone(f,AQ));$s=19;case 19:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=s[0];w=BJ($clone(g,AQ));$s=20;case 20:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;x=v[0];$s=-1;return H.Compare(u,x)<0;case 9:case 4:$s=-1;return false;}return;}if($f===undefined){$f={$blk:BI.ptr.prototype.Less};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};BI.prototype.Less=function(c,d){return this.$val.Less(c,d);};BJ=function(c){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];d[0]=new H.Buffer.ptr(DW.nil,0,0);e={};$r=BK($clone(c,AQ),d[0],e);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[d[0].Bytes(),e];}return;}if($f===undefined){$f={$blk:BJ};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BK=function(c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];if($clone(c,AQ).IsMarked()){f=$clone(c,AQ).Unmark();g=$clone(f[0],AQ);h=f[1];i=h;j=0;k=$keys(i);while(true){if(!(j<k.length)){break;}l=i[k[j]];if(l===undefined){j++;continue;}m=l.k;n=m;(e[0]||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(n)]={k:n,v:new EK.ptr()};j++;}AQ.copy(c,g);}if(!$clone(c,AQ).IsKnown()){$s=1;continue;}$s=2;continue;case 1:o=d[0].WriteRune(63);$s=3;case 3:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;$s=-1;return;case 2:if($clone(c,AQ).IsNull()){$s=4;continue;}$s=5;continue;case 4:p=d[0].WriteRune(126);$s=6;case 6:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;$s=-1;return;case 5:q=$clone(c.ty,AZ);if($equal(q,($pkg.Number),AZ)){$s=8;continue;}if($equal(q,($pkg.Bool),AZ)){$s=9;continue;}if($equal(q,($pkg.String),AZ)){$s=10;continue;}$s=11;continue;case 8:r=$assertType(c.v,B.Float,true);s=$clone(r[0],B.Float);t=r[1];if(t){$s=12;continue;}$s=13;continue;case 12:u=s.String();$s=14;case 14:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=d[0].WriteString(u);$s=15;case 15:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}v;$s=-1;return;case 13:w=$assertType(c.v,DZ).String();$s=16;case 16:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=d[0].WriteString(w);$s=17;case 17:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;$s=-1;return;case 9:if($assertType(c.v,$Bool)){$s=18;continue;}$s=19;continue;case 18:y=d[0].WriteRune(84);$s=21;case 21:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}y;$s=20;continue;case 19:z=d[0].WriteRune(70);$s=22;case 22:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}z;case 20:$s=-1;return;case 10:aa=A.Sprintf("%q",new DV([new $String($assertType(c.v,$String))]));$s=23;case 23:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=d[0].WriteString(aa);$s=24;case 24:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ab;$s=-1;return;case 11:case 7:if($clone(c.ty,AZ).IsMapType()){$s=25;continue;}$s=26;continue;case 25:ac=d[0].WriteRune(123);$s=27;case 27:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ac;ad=$clone(c,AQ).ForEachElement((function(d,e){return function $b(ad,ae){var ad,ae,af,ag,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=BK($clone(ad,AQ),d[0],e[0]);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}af=d[0].WriteRune(58);$s=2;case 2:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}af;$r=BK($clone(ae,AQ),d[0],e[0]);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ag=d[0].WriteRune(59);$s=4;case 4:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ag;$s=-1;return false;}return;}if($f===undefined){$f={$blk:$b};}$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.$s=$s;$f.$r=$r;return $f;};})(d,e));$s=28;case 28:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ad;ae=d[0].WriteRune(125);$s=29;case 29:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ae;$s=-1;return;case 26:if($clone(c.ty,AZ).IsListType()||$clone(c.ty,AZ).IsSetType()){$s=30;continue;}$s=31;continue;case 30:af=d[0].WriteRune(91);$s=32;case 32:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}af;ag=$clone(c,AQ).ForEachElement((function(d,e){return function $b(ag,ah){var ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=BK($clone(ah,AQ),d[0],e[0]);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ai=d[0].WriteRune(59);$s=2;case 2:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ai;$s=-1;return false;}return;}if($f===undefined){$f={$blk:$b};}$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};})(d,e));$s=33;case 33:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ag;ah=d[0].WriteRune(93);$s=34;case 34:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ah;$s=-1;return;case 31:if($clone(c.ty,AZ).IsObjectType()){$s=35;continue;}$s=36;continue;case 35:ai=d[0].WriteRune(60);$s=37;case 37:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ai;aj=$makeSlice(EL,0,$keys($clone(c.ty,AZ).AttributeTypes()).length);ak=$clone(c.ty,AZ).AttributeTypes();al=0;am=$keys(ak);while(true){if(!(al<am.length)){break;}an=ak[am[al]];if(an===undefined){al++;continue;}ao=an.k;aj=$append(aj,ao);al++;}$r=J.Strings(aj);$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ap=aj;aq=0;case 39:if(!(aq<ap.$length)){$s=40;continue;}ar=((aq<0||aq>=ap.$length)?($throwRuntimeError("index out of range"),undefined):ap.$array[ap.$offset+aq]);as=$clone(c,AQ).GetAttr(ar);$s=41;case 41:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}$r=BK($clone(as,AQ),d[0],e[0]);$s=42;case 42:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}at=d[0].WriteRune(59);$s=43;case 43:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}at;aq++;$s=39;continue;case 40:au=d[0].WriteRune(62);$s=44;case 44:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}au;$s=-1;return;case 36:if($clone(c.ty,AZ).IsTupleType()){$s=45;continue;}$s=46;continue;case 45:av=d[0].WriteRune(60);$s=47;case 47:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}av;aw=$clone(c,AQ).ForEachElement((function(d,e){return function $b(aw,ax){var aw,ax,ay,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aw=$f.aw;ax=$f.ax;ay=$f.ay;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=BK($clone(ax,AQ),d[0],e[0]);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ay=d[0].WriteRune(59);$s=2;case 2:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}ay;$s=-1;return false;}return;}if($f===undefined){$f={$blk:$b};}$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.$s=$s;$f.$r=$r;return $f;};})(d,e));$s=48;case 48:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}aw;ax=d[0].WriteRune(62);$s=49;case 49:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ax;$s=-1;return;case 46:$panic(new $String("unsupported type in set hash"));$s=-1;return;}return;}if($f===undefined){$f={$blk:BK};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BM=function(c){var c,d;return BN($clone(C.NewSet((d=new BI.ptr($clone(c,AZ)),new d.constructor.elem(d))),C.Set));};$pkg.NewValueSet=BM;BN=function(c){var c;return new BL.ptr($clone(c,C.Set));};BL.ptr.prototype.ElementType=function(){var c;c=this;return $assertType($clone(c.s,C.Set).Rules(),BI).Type;};BL.prototype.ElementType=function(){return this.$val.ElementType();};BL.ptr.prototype.Add=function(c){var c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;$r=$clone(d,BL).requireElementType($clone(c,AQ));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=$clone(d.s,C.Set).Add(c.v);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Add};}$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Add=function(c){return this.$val.Add(c);};BL.ptr.prototype.Remove=function(c){var c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;$r=$clone(d,BL).requireElementType($clone(c,AQ));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=$clone(d.s,C.Set).Remove(c.v);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Remove};}$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Remove=function(c){return this.$val.Remove(c);};BL.ptr.prototype.Has=function(c){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;$r=$clone(d,BL).requireElementType($clone(c,AQ));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=$clone(d.s,C.Set).Has(c.v);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=3;case 3:return f;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Has};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Has=function(c){return this.$val.Has(c);};BL.ptr.prototype.Copy=function(){var c;c=this;return BN($clone($clone(c.s,C.Set).Copy(),C.Set));};BL.prototype.Copy=function(){return this.$val.Copy();};BL.ptr.prototype.Length=function(){var c;c=this;return $clone(c.s,C.Set).Length();};BL.prototype.Length=function(){return this.$val.Length();};BL.ptr.prototype.Values=function(){var c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$clone(c.s,C.Set).Length();if(d===0){$s=-1;return DX.nil;}e=$makeSlice(DX,0,d);f=$clone($clone(c,BL).ElementType(),AZ);g=$clone(c.s,C.Set).Iterator();$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;case 2:if(!(h.Next())){$s=3;continue;}e=$append(e,new AQ.ptr($clone(f,AZ),h.Value()));$s=2;continue;case 3:$s=-1;return e;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Values};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Values=function(){return this.$val.Values();};BL.ptr.prototype.Union=function(c){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(d.s,C.Set).Union($clone(c.s,C.Set));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=BN($clone(e,C.Set));$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=3;case 3:return g;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Union};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Union=function(c){return this.$val.Union(c);};BL.ptr.prototype.Intersection=function(c){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(d.s,C.Set).Intersection($clone(c.s,C.Set));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=BN($clone(e,C.Set));$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=3;case 3:return g;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Intersection};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Intersection=function(c){return this.$val.Intersection(c);};BL.ptr.prototype.Subtract=function(c){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(d.s,C.Set).Subtract($clone(c.s,C.Set));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=BN($clone(e,C.Set));$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=3;case 3:return g;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Subtract};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Subtract=function(c){return this.$val.Subtract(c);};BL.ptr.prototype.SymmetricDifference=function(c){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(d.s,C.Set).SymmetricDifference($clone(c.s,C.Set));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=BN($clone(e,C.Set));$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=3;case 3:return g;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.SymmetricDifference};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.SymmetricDifference=function(c){return this.$val.SymmetricDifference(c);};BL.ptr.prototype.requireElementType=function(c){var c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($clone(c,AQ).IsMarked()){$panic(new $String("cannot store marked value directly in a set (make the set itself unknown instead)"));}e=$clone($clone(c,AQ).Type(),AZ).Equals($clone($clone(d,BL).ElementType(),AZ));$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(!e){$s=1;continue;}$s=2;continue;case 1:h=A.Errorf("attempt to use %#v value with set of %#v",new DV([(f=$clone(c,AQ).Type(),new f.constructor.elem(f)),(g=$clone(d,BL).ElementType(),new g.constructor.elem(g))]));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$panic(h);case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.requireElementType};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.requireElementType=function(c){return this.$val.requireElementType(c);};BO.ptr.prototype.Equals=function(c){var c,d,e,f,g;d=this;e=$assertType(c.typeImpl,BO,true);f=$clone(e[0],BO);g=e[1];if(g){return f.Kind===d.Kind;}return false;};BO.prototype.Equals=function(c){return this.$val.Equals(c);};BO.ptr.prototype.FriendlyName=function(c){var c,d,e;d=this;e=d.Kind;if(e===(66)){return"bool";}else if(e===(78)){return"number";}else if(e===(83)){return"string";}else{$panic(new $String("invalid primitive type"));}};BO.prototype.FriendlyName=function(c){return this.$val.FriendlyName(c);};BO.ptr.prototype.GoString=function(){var c,d;c=this;d=c.Kind;if(d===(66)){return"cty.Bool";}else if(d===(78)){return"cty.Number";}else if(d===(83)){return"cty.String";}else{$panic(new $String("invalid primitive type"));}};BO.prototype.GoString=function(){return this.$val.GoString();};BQ=function(c,d){var c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!((c===DZ.nil)===(d===DZ.nil))){$s=2;continue;}if(c===DZ.nil){$s=3;continue;}$s=4;continue;case 2:$s=-1;return false;case 3:$s=-1;return true;case 4:e=c.Text(102,-1);$s=6;case 6:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=d.Text(102,-1);$s=7;case 7:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(f==="-0"){f="0";}if(h==="-0"){h="0";}$s=-1;return f===h;case 5:case 1:$s=-1;return false;}return;}if($f===undefined){$f={$blk:BQ};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BR=function(){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:AZ.copy($pkg.Number,new AZ.ptr((c=new BO.ptr(new BB.ptr(),78),new c.constructor.elem(c))));AZ.copy($pkg.String,new AZ.ptr((d=new BO.ptr(new BB.ptr(),83),new d.constructor.elem(d))));AZ.copy($pkg.Bool,new AZ.ptr((e=new BO.ptr(new BB.ptr(),66),new e.constructor.elem(e))));AQ.copy($pkg.True,new AQ.ptr($clone($pkg.Bool,AZ),new $Bool(true)));AQ.copy($pkg.False,new AQ.ptr($clone($pkg.Bool,AZ),new $Bool(false)));f=B.NewFloat(0);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}AQ.copy($pkg.Zero,new AQ.ptr($clone($pkg.Number,AZ),f));AQ.copy($pkg.PositiveInfinity,new AQ.ptr($clone($pkg.Number,AZ),(new B.Float.ptr(0,0,0,0,false,B.nat.nil,0)).SetInf(false)));AQ.copy($pkg.NegativeInfinity,new AQ.ptr($clone($pkg.Number,AZ),(new B.Float.ptr(0,0,0,0,false,B.nat.nil,0)).SetInf(true)));$s=-1;return;}return;}if($f===undefined){$f={$blk:BR};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AZ.ptr.prototype.IsPrimitiveType=function(){var c,d,e;c=this;d=$assertType(c.typeImpl,BO,true);e=d[1];return e;};AZ.prototype.IsPrimitiveType=function(){return this.$val.IsPrimitiveType();};BX.prototype.Index=function(c){var c,d,e,f,g;d=this;e=$makeSlice(BX,(d.$length+1>>0));$copySlice(e,d);(g=d.$length,((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g]=(f=new CE.ptr(new BZ.ptr(),$clone(c,AQ)),new f.constructor.elem(f))));return e;};$ptrType(BX).prototype.Index=function(c){return this.$get().Index(c);};BX.prototype.IndexInt=function(c){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=Y((new $Int64(0,c)));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=d.Index($clone(e,AQ));$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=3;case 3:return g;}return;}if($f===undefined){$f={$blk:BX.prototype.IndexInt};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BX).prototype.IndexInt=function(c){return this.$get().IndexInt(c);};BX.prototype.IndexString=function(c){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=AB(c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=d.Index($clone(e,AQ));$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=3;case 3:return g;}return;}if($f===undefined){$f={$blk:BX.prototype.IndexString};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BX).prototype.IndexString=function(c){return this.$get().IndexString(c);};BX.prototype.GetAttr=function(c){var c,d,e,f,g;d=this;e=$makeSlice(BX,(d.$length+1>>0));$copySlice(e,d);(g=d.$length,((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g]=(f=new CF.ptr(new BZ.ptr(),c),new f.constructor.elem(f))));return e;};$ptrType(BX).prototype.GetAttr=function(c){return this.$get().GetAttr(c);};BX.prototype.Equals=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(!((d.$length===c.$length))){$s=-1;return false;}e=d;f=0;case 1:if(!(f<e.$length)){$s=2;continue;}g=f;h=((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]);i=h;if($assertType(i,CF,true)[1]){$s=3;continue;}if($assertType(i,CE,true)[1]){$s=4;continue;}$s=5;continue;case 3:j=$clone(i.$val,CF);m=$assertType(((g<0||g>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+g]),CF,true);n=$clone(m[0],CF);o=m[1];if(!o||!($equal(j,n,CF))){$s=-1;return false;}$s=6;continue;case 4:k=$clone(i.$val,CE);p=$assertType(((g<0||g>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+g]),CE,true);q=$clone(p[0],CE);r=p[1];if(!r){$s=-1;return false;}s=$clone(k.Key,AQ).RawEquals($clone(q.Key,AQ));$s=9;case 9:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}if(!s){$s=7;continue;}$s=8;continue;case 7:$s=-1;return false;case 8:$s=6;continue;case 5:l=i;$s=-1;return false;case 6:f++;$s=1;continue;case 2:$s=-1;return true;}return;}if($f===undefined){$f={$blk:BX.prototype.Equals};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BX).prototype.Equals=function(c){return this.$get().Equals(c);};BX.prototype.HasPrefix=function(c){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(c.$length>d.$length){$s=-1;return false;}e=$subslice(d,0,c.$length).Equals(c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:BX.prototype.HasPrefix};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BX).prototype.HasPrefix=function(c){return this.$get().HasPrefix(c);};BX.prototype.Apply=function(c){var c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$ifaceNil;f=d;g=0;case 1:if(!(g<f.$length)){$s=2;continue;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);k=i.Apply($clone(c,AQ));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;AQ.copy(c,j[0]);e=j[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=4;continue;}$s=5;continue;case 4:l=A.Errorf("at step %d: %s",new DV([new $Int(h),e]));$s=6;case 6:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=[$pkg.NilVal,l];$s=7;case 7:return m;case 5:g++;$s=1;continue;case 2:$s=-1;return[c,$ifaceNil];}return;}if($f===undefined){$f={$blk:BX.prototype.Apply};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BX).prototype.Apply=function(c){return this.$get().Apply(c);};BX.prototype.LastStep=function(c){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$ifaceNil;if(d.$length===0){$s=-1;return[c,$ifaceNil,$ifaceNil];}f=$subslice(d,0,(d.$length-1>>0));h=f.Apply($clone(c,AQ));$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;AQ.copy(c,g[0]);e=g[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[$pkg.NilVal,$ifaceNil,e];}$s=-1;return[c,(i=d.$length-1>>0,((i<0||i>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+i])),$ifaceNil];}return;}if($f===undefined){$f={$blk:BX.prototype.LastStep};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BX).prototype.LastStep=function(c){return this.$get().LastStep(c);};BX.prototype.Copy=function(){var c,d;c=this;d=$makeSlice(BX,c.$length);$copySlice(d,c);return d;};$ptrType(BX).prototype.Copy=function(){return this.$get().Copy();};CE.ptr.prototype.Apply=function(c){var c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($equal(c,$pkg.NilVal,AQ)||$clone(c,AQ).IsNull()){$s=-1;return[$pkg.NilVal,L.New("cannot index a null value")];}e=$clone($clone(d.Key,AQ).Type(),AZ);if($equal(e,($pkg.Number),AZ)){if(!($clone($clone(c,AQ).Type(),AZ).IsListType()||$clone($clone(c,AQ).Type(),AZ).IsTupleType())){$s=-1;return[$pkg.NilVal,L.New("not a list type")];}}else if($equal(e,($pkg.String),AZ)){if(!$clone($clone(c,AQ).Type(),AZ).IsMapType()){$s=-1;return[$pkg.NilVal,L.New("not a map type")];}}else{$s=-1;return[$pkg.NilVal,L.New("key value not number or string")];}f=$clone(c,AQ).HasIndex($clone(d.Key,AQ));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=$clone(f,AQ);if(!$clone(g,AQ).IsKnown()){$s=2;continue;}$s=3;continue;case 2:h=$clone($clone(c,AQ).Type(),AZ).ElementType();$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=AU($clone(h,AZ));$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=[i,$ifaceNil];$s=6;case 6:return j;case 3:k=$clone(g,AQ).True();$s=9;case 9:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(!k){$s=7;continue;}$s=8;continue;case 7:$s=-1;return[$pkg.NilVal,L.New("value does not have given index key")];case 8:l=$clone(c,AQ).Index($clone(d.Key,AQ));$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=[l,$ifaceNil];$s=11;case 11:return m;}return;}if($f===undefined){$f={$blk:CE.ptr.prototype.Apply};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};CE.prototype.Apply=function(c){return this.$val.Apply(c);};CE.ptr.prototype.GoString=function(){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=A.Sprintf("cty.IndexStep{Key:%#v}",new DV([(d=c.Key,new d.constructor.elem(d))]));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:CE.ptr.prototype.GoString};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};CE.prototype.GoString=function(){return this.$val.GoString();};CF.ptr.prototype.Apply=function(c){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if($equal(c,$pkg.NilVal,AQ)||$clone(c,AQ).IsNull()){$s=-1;return[$pkg.NilVal,L.New("cannot access attributes on a null value")];}if(!$clone($clone(c,AQ).Type(),AZ).IsObjectType()){$s=-1;return[$pkg.NilVal,L.New("not an object type")];}e=$clone($clone(c,AQ).Type(),AZ).HasAttribute(d.Name);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(!e){$s=1;continue;}$s=2;continue;case 1:f=A.Errorf("object has no attribute %q",new DV([new $String(d.Name)]));$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=[$pkg.NilVal,f];$s=5;case 5:return g;case 2:h=$clone(c,AQ).GetAttr(d.Name);$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=[h,$ifaceNil];$s=7;case 7:return i;}return;}if($f===undefined){$f={$blk:CF.ptr.prototype.Apply};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};CF.prototype.Apply=function(c){return this.$val.Apply(c);};CF.ptr.prototype.GoString=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Sprintf("cty.GetAttrStep{Name:%q}",new DV([new $String(c.Name)]));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:CF.ptr.prototype.GoString};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};CF.prototype.GoString=function(){return this.$val.GoString();};CH=function(c){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=CI(c,EL.nil);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:CH};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Object=CH;CI=function(c,d){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=(e=$keys(c).length,((e<0||e>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));g=c;h=0;i=$keys(g);case 1:if(!(h<i.length)){$s=2;continue;}j=g[i[h]];if(j===undefined){h++;$s=1;continue;}k=j.k;l=$clone(j.v,AZ);n=AC(k);$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;(f||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(m)]={k:m,v:$clone(l,AZ)};h++;$s=1;continue;case 2:o=false;if(d.$length>0){$s=4;continue;}$s=5;continue;case 4:o=(p=d.$length,((p<0||p>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));q=d;r=0;case 6:if(!(r<q.$length)){$s=7;continue;}s=((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);t=AC(s);$s=8;case 8:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=(v=f[$String.keyFor(s)],v!==undefined?[v.v,true]:[new AZ.ptr($ifaceNil),false]);w=u[1];if(!w){$s=9;continue;}$s=10;continue;case 9:x=A.Sprintf("optional contains undeclared attribute %q",new DV([new $String(s)]));$s=11;case 11:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}$panic(new $String(x));case 10:y=s;(o||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(y)]={k:y,v:new EK.ptr()};r++;$s=6;continue;case 7:case 5:$s=-1;return new AZ.ptr((z=new CG.ptr(new BB.ptr(),f,o),new z.constructor.elem(z)));}return;}if($f===undefined){$f={$blk:CI};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ObjectWithOptionalAttrs=CI;CG.ptr.prototype.Equals=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$assertType(c.typeImpl,CG,true);f=$clone(e[0],CG);g=e[1];if(g){$s=1;continue;}$s=2;continue;case 1:if(!(($keys(d.AttrTypes).length===$keys(f.AttrTypes).length))){$s=-1;return false;}h=d.AttrTypes;i=0;j=$keys(h);case 3:if(!(i<j.length)){$s=4;continue;}k=h[j[i]];if(k===undefined){i++;$s=3;continue;}l=k.k;m=$clone(k.v,AZ);n=(o=f.AttrTypes[$String.keyFor(l)],o!==undefined?[o.v,true]:[new AZ.ptr($ifaceNil),false]);p=$clone(n[0],AZ);q=n[1];if(!q){$s=-1;return false;}r=$clone(p,AZ).Equals($clone(m,AZ));$s=7;case 7:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(!r){$s=5;continue;}$s=6;continue;case 5:$s=-1;return false;case 6:s=(t=d.AttrOptional[$String.keyFor(l)],t!==undefined?[t.v,true]:[new EK.ptr(),false]);u=s[1];v=(w=f.AttrOptional[$String.keyFor(l)],w!==undefined?[w.v,true]:[new EK.ptr(),false]);x=v[1];if(!(u===x)){$s=-1;return false;}i++;$s=3;continue;case 4:$s=-1;return true;case 2:$s=-1;return false;}return;}if($f===undefined){$f={$blk:CG.ptr.prototype.Equals};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};CG.prototype.Equals=function(c){return this.$val.Equals(c);};CG.ptr.prototype.FriendlyName=function(c){var c,d;d=this;return"object";};CG.prototype.FriendlyName=function(c){return this.$val.FriendlyName(c);};CG.ptr.prototype.GoString=function(){var c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if($keys(c.AttrTypes).length===0){$s=-1;return"cty.EmptyObject";}if($keys(c.AttrOptional).length>0){$s=1;continue;}$s=2;continue;case 1:d=EL.nil;e=c.AttrOptional;f=0;g=$keys(e);while(true){if(!(f<g.length)){break;}h=e[g[f]];if(h===undefined){f++;continue;}i=h.k;d=$append(d,i);f++;}$r=J.Strings(d);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}j=A.Sprintf("cty.ObjectWithOptionalAttrs(%#v, %#v)",new DV([new EN(c.AttrTypes),d]));$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=5;case 5:return k;case 2:l=A.Sprintf("cty.Object(%#v)",new DV([new EN(c.AttrTypes)]));$s=6;case 6:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=7;case 7:return m;}return;}if($f===undefined){$f={$blk:CG.ptr.prototype.GoString};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};CG.prototype.GoString=function(){return this.$val.GoString();};CJ=function(){var c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=CH($makeMap($String.keyFor,[]));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}AZ.copy($pkg.EmptyObject,c);AQ.copy($pkg.EmptyObjectVal,new AQ.ptr($clone($pkg.EmptyObject,AZ),new EC($makeMap($String.keyFor,[]))));$s=-1;return;}return;}if($f===undefined){$f={$blk:CJ};}$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AZ.ptr.prototype.IsObjectType=function(){var c,d,e;c=this;d=$assertType(c.typeImpl,CG,true);e=d[1];return e;};AZ.prototype.IsObjectType=function(){return this.$val.IsObjectType();};AZ.ptr.prototype.HasAttribute=function(c){var c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=AC(c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}c=e;f=$assertType(d.typeImpl,CG,true);g=$clone(f[0],CG);h=f[1];if(h){i=(j=g.AttrTypes[$String.keyFor(c)],j!==undefined?[j.v,true]:[new AZ.ptr($ifaceNil),false]);k=i[1];$s=-1;return k;}$panic(new $String("HasAttribute on non-object Type"));$s=-1;return false;}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.HasAttribute};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.HasAttribute=function(c){return this.$val.HasAttribute(c);};AZ.ptr.prototype.AttributeType=function(c){var c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=AC(c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}c=e;f=$assertType(d.typeImpl,CG,true);g=$clone(f[0],CG);h=f[1];if(h){i=(j=g.AttrTypes[$String.keyFor(c)],j!==undefined?[j.v,true]:[new AZ.ptr($ifaceNil),false]);k=$clone(i[0],AZ);l=i[1];if(!l){$panic(new $String("no such attribute"));}$s=-1;return k;}$panic(new $String("AttributeType on non-object Type"));$s=-1;return new AZ.ptr($ifaceNil);}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.AttributeType};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.AttributeType=function(c){return this.$val.AttributeType(c);};AZ.ptr.prototype.AttributeTypes=function(){var c,d,e,f;c=this;d=$assertType(c.typeImpl,CG,true);e=$clone(d[0],CG);f=d[1];if(f){return e.AttrTypes;}$panic(new $String("AttributeTypes on non-object Type"));};AZ.prototype.AttributeTypes=function(){return this.$val.AttributeTypes();};AZ.ptr.prototype.OptionalAttributes=function(){var c,d,e,f;c=this;d=$assertType(c.typeImpl,CG,true);e=$clone(d[0],CG);f=d[1];if(f){return e.AttrOptional;}$panic(new $String("OptionalAttributes on non-object Type"));};AZ.prototype.OptionalAttributes=function(){return this.$val.OptionalAttributes();};AZ.ptr.prototype.AttributeOptional=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=AC(c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}c=e;f=$assertType(d.typeImpl,CG,true);g=$clone(f[0],CG);h=f[1];if(h){i=(j=g.AttrTypes[$String.keyFor(c)],j!==undefined?[j.v,true]:[new AZ.ptr($ifaceNil),false]);k=i[1];if(!k){$panic(new $String("no such attribute"));}l=(m=g.AttrOptional[$String.keyFor(c)],m!==undefined?[m.v,true]:[new EK.ptr(),false]);n=l[1];$s=-1;return n;}$panic(new $String("AttributeDefaultValue on non-object Type"));$s=-1;return false;}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.AttributeOptional};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.AttributeOptional=function(c){return this.$val.AttributeOptional(c);};CK=function(c){var c;return new AQ.ptr($clone(c,AZ),$ifaceNil);};$pkg.NullVal=CK;CN=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(c.$length===0){return false;}e=(d=c.$length,((d<0||d>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));f=c;g=0;while(true){if(!(g<f.$length)){break;}h=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);i=$assertType(h,CM,true);j=i[0];k=i[1];if(k){l=j;m=0;n=$keys(l);while(true){if(!(m<n.length)){break;}o=l[n[m]];if(o===undefined){m++;continue;}p=o.k;q=p;(e||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(q)]={k:q,v:new EK.ptr()};m++;}g++;continue;}r=h;(e||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(r)]={k:r,v:new EK.ptr()};g++;}if($keys(e).length===0){return false;}return e;};$pkg.NewValueMarks=CN;CM.prototype.Equal=function(c){var c,d,e,f,g,h,i,j,k,l;d=this.$val;if(!(($keys(d).length===$keys(c).length))){return false;}e=d;f=0;g=$keys(e);while(true){if(!(f<g.length)){break;}h=e[g[f]];if(h===undefined){f++;continue;}i=h.k;j=(k=c[$emptyInterface.keyFor(i)],k!==undefined?[k.v,true]:[new EK.ptr(),false]);l=j[1];if(!l){return false;}f++;}return true;};$ptrType(CM).prototype.Equal=function(c){return new CM(this.$get()).Equal(c);};CM.prototype.GoString=function(){var c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this.$val;d=new G.Builder.ptr(EO.nil,DW.nil);d.WriteString("cty.NewValueMarks(");e=0;f=c;g=0;h=$keys(f);case 1:if(!(g<h.length)){$s=2;continue;}i=f[h[g]];if(i===undefined){g++;$s=1;continue;}j=i.k;if(!((e===0))){d.WriteString(", ");}k=A.Sprintf("%#v",new DV([j]));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=d.WriteString(k);$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;e=e+(1)>>0;g++;$s=1;continue;case 2:d.WriteString(")");$s=-1;return d.String();}return;}if($f===undefined){$f={$blk:CM.prototype.GoString};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(CM).prototype.GoString=function(){return new CM(this.$get()).GoString();};CO.ptr.prototype.Equal=function(c){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.Path.Equals(c.Path);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(!e){$s=1;continue;}$s=2;continue;case 1:$s=-1;return false;case 2:if(!new CM(d.Marks).Equal(c.Marks)){$s=-1;return false;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:CO.ptr.prototype.Equal};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};CO.prototype.Equal=function(c){return this.$val.Equal(c);};AQ.ptr.prototype.IsMarked=function(){var c,d,e;c=this;d=$assertType(c.v,CL,true);e=d[1];return e;};AQ.prototype.IsMarked=function(){return this.$val.IsMarked();};AQ.ptr.prototype.HasMark=function(c){var c,d,e,f,g,h,i,j;d=this;e=$assertType(d.v,CL,true);f=$clone(e[0],CL);g=e[1];if(g){h=(i=f.marks[$emptyInterface.keyFor(c)],i!==undefined?[i.v,true]:[new EK.ptr(),false]);j=h[1];return j;}return false;};AQ.prototype.HasMark=function(c){return this.$val.HasMark(c);};AQ.ptr.prototype.ContainsMarked=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;c[0]=false;e=N($clone(d,AQ),(function(c){return function(e,f){var e,f;if($clone(f,AQ).IsMarked()){c[0]=true;return[false,$ifaceNil];}return[true,$ifaceNil];};})(c));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.ContainsMarked};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.ContainsMarked=function(){return this.$val.ContainsMarked();};AQ.ptr.prototype.assertUnmarked=function(){var c;c=this;if($clone(c,AQ).IsMarked()){$panic(new $String("value is marked, so must be unmarked first"));}};AQ.prototype.assertUnmarked=function(){return this.$val.assertUnmarked();};AQ.ptr.prototype.Marks=function(){var c,d,e,f,g,h,i,j,k,l,m,n,o;c=this;d=$assertType(c.v,CL,true);e=$clone(d[0],CL);f=d[1];if(f){h=(g=$keys(e.marks).length,((g<0||g>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));i=e.marks;j=0;k=$keys(i);while(true){if(!(j<k.length)){break;}l=i[k[j]];if(l===undefined){j++;continue;}m=l.k;n=$clone(l.v,EK);o=m;(h||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(o)]={k:o,v:$clone(n,EK)};j++;}return h;}return false;};AQ.prototype.Marks=function(){return this.$val.Marks();};AQ.ptr.prototype.HasSameMarks=function(c){var c,d,e,f,g,h,i,j;d=this;e=$assertType(d.v,CL,true);f=$clone(e[0],CL);g=e[1];h=$assertType(c.v,CL,true);i=$clone(h[0],CL);j=h[1];if(!(g===j)){return false;}if(g){return new CM(f.marks).Equal(i.marks);}return true;};AQ.prototype.HasSameMarks=function(c){return this.$val.HasSameMarks(c);};AQ.ptr.prototype.Mark=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;d=this;e=new CL.ptr($ifaceNil,false);e.realV=d.v;f=$assertType(d.v,CL,true);g=$clone(f[0],CL);h=f[1];if(h){e.marks=(i=$keys(g.marks).length+1>>0,((i<0||i>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));j=g.marks;k=0;l=$keys(j);while(true){if(!(k<l.length)){break;}m=j[l[k]];if(m===undefined){k++;continue;}n=m.k;o=$clone(m.v,EK);p=n;(e.marks||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(p)]={k:p,v:$clone(o,EK)};k++;}e.realV=g.realV;}else{e.marks={};}q=c;(e.marks||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(q)]={k:q,v:new EK.ptr()};return new AQ.ptr($clone(d.ty,AZ),new e.constructor.elem(e));};AQ.prototype.Mark=function(c){return this.$val.Mark(c);};CP.ptr.prototype.Enter=function(c,d){var c,d,e;e=this;return[d,$ifaceNil];};CP.prototype.Enter=function(c,d){return this.$val.Enter(c,d);};CP.ptr.prototype.Exit=function(c,d){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=e.pvm;g=0;case 1:if(!(g<f.$length)){$s=2;continue;}h=$clone(((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]),CO);i=c.Equals(h.Path);$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(i){$s=3;continue;}$s=4;continue;case 3:$s=-1;return[$clone(d,AQ).WithMarks(new DY([h.Marks])),$ifaceNil];case 4:g++;$s=1;continue;case 2:$s=-1;return[d,$ifaceNil];}return;}if($f===undefined){$f={$blk:CP.ptr.prototype.Exit};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};CP.prototype.Exit=function(c,d){return this.$val.Exit(c,d);};AQ.ptr.prototype.MarkWithPaths=function(c){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=S($clone(d,AQ),new CP.ptr(c));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=$clone(e[0],AQ);$s=-1;return g;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.MarkWithPaths};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.MarkWithPaths=function(c){return this.$val.MarkWithPaths(c);};AQ.ptr.prototype.Unmark=function(){var c,d,e;c=this;if(!$clone(c,AQ).IsMarked()){return[c,false];}d=$clone($assertType(c.v,CL),CL);e=$clone(c,AQ).Marks();return[new AQ.ptr($clone(c.ty,AZ),d.realV),e];};AQ.prototype.Unmark=function(){return this.$val.Unmark();};CQ.ptr.prototype.Enter=function(c,d){var c,d,e,f,g,h,i;e=this;f=$clone(d,AQ).Unmark();g=$clone(f[0],AQ);h=f[1];if($keys(h).length>0){i=$makeSlice(BX,c.$length,(c.$length+1>>0));$copySlice(i,c);e.pvm=$append(e.pvm,new CO.ptr(i,h));}return[g,$ifaceNil];};CQ.prototype.Enter=function(c,d){return this.$val.Enter(c,d);};CQ.ptr.prototype.Exit=function(c,d){var c,d,e;e=this;return[d,$ifaceNil];};CQ.prototype.Exit=function(c,d){return this.$val.Exit(c,d);};AQ.ptr.prototype.UnmarkDeep=function(){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;c[0]=new CQ.ptr(EP.nil);f=S($clone(d,AQ),c[0]);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=$clone(e[0],AQ);h={};i=c[0].pvm;j=0;while(true){if(!(j<i.$length)){break;}k=$clone(((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]),CO);l=k.Marks;m=0;n=$keys(l);while(true){if(!(m<n.length)){break;}o=l[n[m]];if(o===undefined){m++;continue;}p=o.k;q=$clone(o.v,EK);r=p;(h||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(r)]={k:r,v:$clone(q,EK)};m++;}j++;}$s=-1;return[g,h];}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.UnmarkDeep};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.UnmarkDeep=function(){return this.$val.UnmarkDeep();};AQ.ptr.prototype.UnmarkDeepWithPaths=function(){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;c[0]=new CQ.ptr(EP.nil);f=S($clone(d,AQ),c[0]);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=$clone(e[0],AQ);$s=-1;return[g,c[0].pvm];}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.UnmarkDeepWithPaths};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.UnmarkDeepWithPaths=function(){return this.$val.UnmarkDeepWithPaths();};AQ.ptr.prototype.unmarkForce=function(){var c,d,e;c=this;d=$clone(c,AQ).Unmark();e=$clone(d[0],AQ);return e;};AQ.prototype.unmarkForce=function(){return this.$val.unmarkForce();};AQ.ptr.prototype.WithMarks=function(c){var aa,ab,ac,ad,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;d=this;if(c.$length===0){return d;}e=$clone(d,AQ).Marks();f=$keys(e).length;g=c;h=0;while(true){if(!(h<g.$length)){break;}i=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);f=f+($keys(i).length)>>0;h++;}if(f===0){return d;}j=((f<0||f>2147483647)?$throwRuntimeError("makemap: size out of range"):{});k=e;l=0;m=$keys(k);while(true){if(!(l<m.length)){break;}n=k[m[l]];if(n===undefined){l++;continue;}o=n.k;p=o;(j||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(p)]={k:p,v:new EK.ptr()};l++;}q=c;r=0;while(true){if(!(r<q.$length)){break;}s=((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);t=s;u=0;v=$keys(t);while(true){if(!(u<v.length)){break;}w=t[v[u]];if(w===undefined){u++;continue;}x=w.k;y=x;(j||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(y)]={k:y,v:new EK.ptr()};u++;}r++;}z=d.v;aa=$assertType(z,CL,true);ab=$clone(aa[0],CL);ac=aa[1];if(ac){z=ab.realV;}return new AQ.ptr($clone(d.ty,AZ),(ad=new CL.ptr(z,j),new ad.constructor.elem(ad)));};AQ.prototype.WithMarks=function(c){return this.$val.WithMarks(c);};AQ.ptr.prototype.WithSameMarks=function(c){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;d=this;if(c.$length===0){return d;}e=$clone(d,AQ).Marks();f=$keys(e).length;g=c;h=0;while(true){if(!(h<g.$length)){break;}i=$clone(((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]),AQ);j=$assertType(i.v,CL,true);k=$clone(j[0],CL);l=j[1];if(l){f=f+($keys(k.marks).length)>>0;}h++;}if(f===0){return d;}m=((f<0||f>2147483647)?$throwRuntimeError("makemap: size out of range"):{});n=e;o=0;p=$keys(n);while(true){if(!(o<p.length)){break;}q=n[p[o]];if(q===undefined){o++;continue;}r=q.k;s=r;(m||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(s)]={k:s,v:new EK.ptr()};o++;}t=c;u=0;while(true){if(!(u<t.$length)){break;}v=$clone(((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]),AQ);w=$assertType(v.v,CL,true);x=$clone(w[0],CL);y=w[1];if(y){z=x.marks;aa=0;ab=$keys(z);while(true){if(!(aa<ab.length)){break;}ac=z[ab[aa]];if(ac===undefined){aa++;continue;}ad=ac.k;ae=ad;(m||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(ae)]={k:ae,v:new EK.ptr()};aa++;}}u++;}af=d.v;ag=$assertType(af,CL,true);ah=$clone(ag[0],CL);ai=ag[1];if(ai){af=ah.realV;}return new AQ.ptr($clone(d.ty,AZ),(aj=new CL.ptr(af,m),new aj.constructor.elem(aj)));};AQ.prototype.WithSameMarks=function(c){return this.$val.WithSameMarks(c);};CS=function(c){var c,d;return new AZ.ptr((d=new CR.ptr(new BB.ptr(),$clone(c,AZ)),new d.constructor.elem(d)));};$pkg.Map=CS;CR.ptr.prototype.Equals=function(c){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$assertType(c.typeImpl,CR,true);f=$clone(e[0],CR);g=e[1];if(!g){$s=-1;return false;}h=$clone(d.ElementTypeT,AZ).Equals($clone(f.ElementTypeT,AZ));$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=2;case 2:return i;}return;}if($f===undefined){$f={$blk:CR.ptr.prototype.Equals};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};CR.prototype.Equals=function(c){return this.$val.Equals(c);};CR.ptr.prototype.FriendlyName=function(c){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(d.ElementTypeT,AZ).friendlyNameMode(c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(c===67){if($equal(d.ElementTypeT,$pkg.DynamicPseudoType,AZ)){f="any single type";}}$s=-1;return"map of "+f;}return;}if($f===undefined){$f={$blk:CR.ptr.prototype.FriendlyName};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};CR.prototype.FriendlyName=function(c){return this.$val.FriendlyName(c);};CR.ptr.prototype.ElementType=function(){var c;c=this;return c.ElementTypeT;};CR.prototype.ElementType=function(){return this.$val.ElementType();};CR.ptr.prototype.GoString=function(){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=A.Sprintf("cty.Map(%#v)",new DV([(d=c.ElementTypeT,new d.constructor.elem(d))]));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:CR.ptr.prototype.GoString};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};CR.prototype.GoString=function(){return this.$val.GoString();};AZ.ptr.prototype.IsMapType=function(){var c,d,e;c=this;d=$assertType(c.typeImpl,CR,true);e=d[1];return e;};AZ.prototype.IsMapType=function(){return this.$val.IsMapType();};AZ.ptr.prototype.MapElementType=function(){var c,d,e,f;c=this;d=$assertType(c.typeImpl,CR,true);e=$clone(d[0],CR);f=d[1];if(f){return e.ElementTypeT;}return EJ.nil;};AZ.prototype.MapElementType=function(){return this.$val.MapElementType();};CU=function(c){var c,d;return new AZ.ptr((d=new CT.ptr(new BB.ptr(),$clone(c,AZ)),new d.constructor.elem(d)));};$pkg.List=CU;CT.ptr.prototype.Equals=function(c){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$assertType(c.typeImpl,CT,true);f=$clone(e[0],CT);g=e[1];if(!g){$s=-1;return false;}h=$clone(d.ElementTypeT,AZ).Equals($clone(f.ElementTypeT,AZ));$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=2;case 2:return i;}return;}if($f===undefined){$f={$blk:CT.ptr.prototype.Equals};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};CT.prototype.Equals=function(c){return this.$val.Equals(c);};CT.ptr.prototype.FriendlyName=function(c){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(d.ElementTypeT,AZ).friendlyNameMode(c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(c===67){if($equal(d.ElementTypeT,$pkg.DynamicPseudoType,AZ)){f="any single type";}}$s=-1;return"list of "+f;}return;}if($f===undefined){$f={$blk:CT.ptr.prototype.FriendlyName};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};CT.prototype.FriendlyName=function(c){return this.$val.FriendlyName(c);};CT.ptr.prototype.ElementType=function(){var c;c=this;return c.ElementTypeT;};CT.prototype.ElementType=function(){return this.$val.ElementType();};CT.ptr.prototype.GoString=function(){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=A.Sprintf("cty.List(%#v)",new DV([(d=c.ElementTypeT,new d.constructor.elem(d))]));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:CT.ptr.prototype.GoString};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};CT.prototype.GoString=function(){return this.$val.GoString();};AZ.ptr.prototype.IsListType=function(){var c,d,e;c=this;d=$assertType(c.typeImpl,CT,true);e=d[1];return e;};AZ.prototype.IsListType=function(){return this.$val.IsListType();};AZ.ptr.prototype.ListElementType=function(){var c,d,e,f;c=this;d=$assertType(c.typeImpl,CT,true);e=$clone(d[0],CT);f=d[1];if(f){return e.ElementTypeT;}return EJ.nil;};AZ.prototype.ListElementType=function(){return this.$val.ListElementType();};AZ.ptr.prototype.MarshalJSON=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.typeImpl;if($assertType(d,BO,true)[1]){$s=1;continue;}if($assertType(d,CT,true)[1]||$assertType(d,CR,true)[1]||$assertType(d,BG,true)[1]){$s=2;continue;}if($assertType(d,CG,true)[1]){$s=3;continue;}if($assertType(d,BD,true)[1]){$s=4;continue;}if($assertType(d,AV,true)[1]){$s=5;continue;}if($assertType(d,EG,true)[1]){$s=6;continue;}$s=7;continue;case 1:e=$clone(d.$val,BO);l=e.Kind;if(l===(66)){$s=-1;return[new DW([34,98,111,111,108,34]),$ifaceNil];}else if(l===(78)){$s=-1;return[new DW([34,110,117,109,98,101,114,34]),$ifaceNil];}else if(l===(83)){$s=-1;return[new DW([34,115,116,114,105,110,103,34]),$ifaceNil];}else{$panic(new $String("unknown primitive type kind"));}$s=8;continue;case 2:f=d;m=new H.Buffer.ptr(DW.nil,0,0);o=$clone(c,AZ).ElementType();$s=9;case 9:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=$clone(o,AZ).MarshalJSON();$s=10;case 10:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}n=p;q=n[0];r=n[1];if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return[DW.nil,r];}s=m.WriteRune(91);$s=11;case 11:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}s;t=f;if($assertType(t,CT,true)[1]){$s=12;continue;}if($assertType(t,CR,true)[1]){$s=13;continue;}if($assertType(t,BG,true)[1]){$s=14;continue;}$s=15;continue;case 12:u=m.WriteString("\"list\"");$s=16;case 16:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}u;$s=15;continue;case 13:v=m.WriteString("\"map\"");$s=17;case 17:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}v;$s=15;continue;case 14:w=m.WriteString("\"set\"");$s=18;case 18:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}w;case 15:x=m.WriteRune(44);$s=19;case 19:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;y=m.Write(q);$s=20;case 20:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}y;z=m.WriteRune(93);$s=21;case 21:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}z;$s=-1;return[m.Bytes(),$ifaceNil];case 3:g=$clone(d.$val,CG);aa=new H.Buffer.ptr(DW.nil,0,0);ac=M.Marshal(new EN($clone(c,AZ).AttributeTypes()));$s=22;case 22:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=ab[0];ae=ab[1];if(!($interfaceIsEqual(ae,$ifaceNil))){$s=-1;return[DW.nil,ae];}af=aa.WriteString("[\"object\",");$s=23;case 23:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}af;ag=aa.Write(ad);$s=24;case 24:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ag;ah=$clone(c,AZ).OptionalAttributes();if($keys(ah).length>0){$s=25;continue;}$s=26;continue;case 25:ai=aa.WriteByte(44);$s=27;case 27:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ai;aj=$makeSlice(EL,0,$keys(ah).length);ak=ah;al=0;am=$keys(ak);while(true){if(!(al<am.length)){break;}an=ak[am[al]];if(an===undefined){al++;continue;}ao=an.k;aj=$append(aj,ao);al++;}$r=J.Strings(aj);$s=28;case 28:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aq=M.Marshal(aj);$s=29;case 29:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;ar=ap[0];as=ap[1];if(!($interfaceIsEqual(as,$ifaceNil))){$s=-1;return[DW.nil,as];}at=aa.Write(ar);$s=30;case 30:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}at;case 26:au=aa.WriteRune(93);$s=31;case 31:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}au;$s=-1;return[aa.Bytes(),$ifaceNil];case 4:h=$clone(d.$val,BD);av=new H.Buffer.ptr(DW.nil,0,0);ax=M.Marshal($clone(c,AZ).TupleElementTypes());$s=32;case 32:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}aw=ax;ay=aw[0];az=aw[1];if(!($interfaceIsEqual(az,$ifaceNil))){$s=-1;return[DW.nil,az];}ba=av.WriteString("[\"tuple\",");$s=33;case 33:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}ba;bb=av.Write(ay);$s=34;case 34:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bb;bc=av.WriteRune(93);$s=35;case 35:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}bc;$s=-1;return[av.Bytes(),$ifaceNil];case 5:i=$clone(d.$val,AV);$s=-1;return[new DW([34,100,121,110,97,109,105,99,34]),$ifaceNil];case 6:j=d.$val;bd=$clone(c,AZ).FriendlyName();$s=36;case 36:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}be=new $String(bd);bf=A.Errorf("type not allowed: %s",new DV([be]));$s=37;case 37:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}bg=[DW.nil,bf];$s=38;case 38:return bg;case 7:k=d;$panic(new $String("unknown type implementation"));case 8:$s=-1;return[DW.nil,$ifaceNil];}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.MarshalJSON};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};AZ.ptr.prototype.UnmarshalJSON=function(c){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=[f];g=[g];h=[h];i=[i];j=this;k=H.NewReader(c);l=M.NewDecoder(k);n=l.Token();$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return p;}q=o;if($assertType(q,$String,true)[1]){$s=2;continue;}if($assertType(q,M.Delim,true)[1]){$s=3;continue;}$s=4;continue;case 2:r=q.$val;u=r;if(u===("bool")){$s=7;continue;}if(u===("number")){$s=8;continue;}if(u===("string")){$s=9;continue;}if(u===("dynamic")){$s=10;continue;}$s=11;continue;case 7:AZ.copy(j,$pkg.Bool);$s=12;continue;case 8:AZ.copy(j,$pkg.Number);$s=12;continue;case 9:AZ.copy(j,$pkg.String);$s=12;continue;case 10:AZ.copy(j,$pkg.DynamicPseudoType);$s=12;continue;case 11:v=A.Errorf("invalid primitive type name %q",new DV([new $String(r)]));$s=13;case 13:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v;$s=14;case 14:return w;case 12:case 6:x=l.More();$s=17;case 17:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}if(x){$s=15;continue;}$s=16;continue;case 15:y=A.Errorf("extraneous data after type description",new DV([]));$s=18;case 18:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;$s=19;case 19:return z;case 16:$s=-1;return $ifaceNil;case 3:s=q.$val;if(!((((s>>0))===91))){$s=20;continue;}$s=21;continue;case 20:aa=A.Errorf("invalid complex type description",new DV([]));$s=22;case 22:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;$s=23;case 23:return ab;case 21:ad=l.Token();$s=24;case 24:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;o=ac[0];p=ac[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return p;}ae=$assertType(o,$String,true);af=ae[0];ag=ae[1];if(!ag){$s=25;continue;}$s=26;continue;case 25:ah=A.Errorf("invalid complex type kind name",new DV([]));$s=27;case 27:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=28;case 28:return ai;case 26:aj=af;if(aj===("list")){$s=30;continue;}if(aj===("map")){$s=31;continue;}if(aj===("set")){$s=32;continue;}if(aj===("object")){$s=33;continue;}if(aj===("tuple")){$s=34;continue;}$s=35;continue;case 30:e[0]=new AZ.ptr($ifaceNil);ak=l.Decode(e[0]);$s=37;case 37:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}p=ak;if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return p;}AZ.copy(j,CU($clone(e[0],AZ)));$s=36;continue;case 31:f[0]=new AZ.ptr($ifaceNil);al=l.Decode(f[0]);$s=38;case 38:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}p=al;if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return p;}AZ.copy(j,CS($clone(f[0],AZ)));$s=36;continue;case 32:g[0]=new AZ.ptr($ifaceNil);am=l.Decode(g[0]);$s=39;case 39:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}p=am;if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return p;}AZ.copy(j,BH($clone(g[0],AZ)));$s=36;continue;case 33:d[0]=false;an=l.Decode((d.$ptr||(d.$ptr=new EQ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},d))));$s=40;case 40:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}p=an;if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return p;}ao=l.More();$s=44;case 44:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}if(ao){$s=41;continue;}$s=42;continue;case 41:i[0]=EL.nil;ap=l.Decode((i.$ptr||(i.$ptr=new ER(function(){return this.$target[0];},function($v){this.$target[0]=$v;},i))));$s=45;case 45:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}p=ap;if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return p;}aq=CI(d[0],i[0]);$s=46;case 46:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}AZ.copy(j,aq);$s=43;continue;case 42:ar=CH(d[0]);$s=47;case 47:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}AZ.copy(j,ar);case 43:$s=36;continue;case 34:h[0]=EF.nil;as=l.Decode((h.$ptr||(h.$ptr=new ES(function(){return this.$target[0];},function($v){this.$target[0]=$v;},h))));$s=48;case 48:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}p=as;if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return p;}AZ.copy(j,BE(h[0]));$s=36;continue;case 35:at=A.Errorf("invalid complex type kind name",new DV([]));$s=49;case 49:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;$s=50;case 50:return au;case 36:case 29:aw=l.Token();$s=51;case 51:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}av=aw;o=av[0];p=av[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return p;}ax=$assertType(o,M.Delim,true);ay=ax[0];az=ax[1];if(!az||!((((ay>>0))===93))){ba=true;$s=54;continue s;}bb=l.More();$s=55;case 55:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}ba=bb;case 54:if(ba){$s=52;continue;}$s=53;continue;case 52:bc=A.Errorf("unexpected extra data in type description",new DV([]));$s=56;case 56:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}bd=bc;$s=57;case 57:return bd;case 53:$s=-1;return $ifaceNil;case 4:t=q;be=A.Errorf("invalid type description",new DV([]));$s=58;case 58:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}bf=be;$s=59;case 59:return bf;case 5:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.UnmarshalJSON};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.UnmarshalJSON=function(c){return this.$val.UnmarshalJSON(c);};CW=function(c,d,e){var aa,ab,ac,ad,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=[f];g=ED.nil;h=$ifaceNil;i=false;j=false;k=e;l=0;case 1:if(!(l<k.$length)){$s=2;continue;}m=l;n=$clone(((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]),AQ);if($equal(n.ty,$pkg.DynamicPseudoType,AZ)){i=true;l++;$s=1;continue;}o=$clone($clone(n,AQ).Type(),AZ).Equals($clone(c,AZ));$s=5;case 5:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}if(!o){$s=3;continue;}$s=4;continue;case 3:p=ED.nil;r=$clone(c,AZ).FriendlyName();$s=6;case 6:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=new $String(r);t=new $Int(m);u=$clone(n.ty,AZ).FriendlyName();$s=7;case 7:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=new $String(u);w=A.Errorf("type mismatch: want %s but value %d is %s",new DV([s,t,v]));$s=8;case 8:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}q=w;g=p;h=q;x=[g,h];$s=9;case 9:return x;case 4:if($interfaceIsEqual(n.v,AT)){j=true;}l++;$s=1;continue;case 2:if(i){y=$pkg.DynamicVal;z=$ifaceNil;g=y;h=z;$s=-1;return[g,h];}if(j){f[0]=$clone(AU($clone(d,AZ)),AQ);aa=f[0];ab=$ifaceNil;g=aa;h=ab;$s=-1;return[g,h];}ac=ED.nil;ad=$ifaceNil;g=ac;h=ad;$s=-1;return[g,h];}return;}if($f===undefined){$f={$blk:CW};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CX=function(c,d,e){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=CW($clone(c,AZ),$clone(d,AZ),e);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];if(!($interfaceIsEqual(i,$ifaceNil))){$panic(i);}$s=-1;return h;}return;}if($f===undefined){$f={$blk:CX};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};CY=function(c,d){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=[e];if(c===ED.nil){$s=-1;return ED.nil;}if($equal(c.ty,$pkg.DynamicPseudoType,AZ)){e[0]=$clone(AU($clone(d,AZ)),AQ);$s=-1;return e[0];}f=$clone(c.ty,AZ).Equals($clone(d,AZ));$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(!f){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("forceShortCircuitType got value of wrong type"));case 2:$s=-1;return c;}return;}if($f===undefined){$f={$blk:CY};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AQ.ptr.prototype.GobEncode=function(){var c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if($clone(c,AQ).IsMarked()){$s=-1;return[DW.nil,L.New("value is marked")];}d=new H.Buffer.ptr(DW.nil,0,0);e=F.NewEncoder(d);f=new CZ.ptr(0,$clone(c.ty,AZ),c.v);g=e.Encode(new f.constructor.elem(f));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!($interfaceIsEqual(h,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:i=A.Errorf("error encoding cty.Value: %s",new DV([h]));$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=[DW.nil,i];$s=5;case 5:return j;case 3:$s=-1;return[d.Bytes(),$ifaceNil];}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.GobEncode};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.GobEncode=function(){return this.$val.GobEncode();};AQ.ptr.prototype.GobDecode=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=this;f=H.NewReader(c);g=F.NewDecoder(f);d[0]=new CZ.ptr(0,new AZ.ptr($ifaceNil),$ifaceNil);h=g.Decode(d[0]);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;if(!($interfaceIsEqual(i,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:j=A.Errorf("error decoding cty.Value: %s",new DV([i]));$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=5;case 5:return k;case 3:if(!((d[0].Version===0))){$s=6;continue;}$s=7;continue;case 6:l=A.Errorf("unsupported cty.Value encoding version %d; only 0 is supported",new DV([new $Int(d[0].Version)]));$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=9;case 9:return m;case 7:n=DC(d[0].V,$clone(d[0].Ty,AZ));$s=10;case 10:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}d[0].V=n;AZ.copy(e.ty,d[0].Ty);e.v=d[0].V;$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.GobDecode};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.GobDecode=function(c){return this.$val.GobDecode(c);};AZ.ptr.prototype.GobEncode=function(){var c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=new H.Buffer.ptr(DW.nil,0,0);e=F.NewEncoder(d);f=new DA.ptr(0,c.typeImpl);g=e.Encode(new f.constructor.elem(f));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!($interfaceIsEqual(h,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:i=A.Errorf("error encoding cty.Type: %s",new DV([h]));$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=[DW.nil,i];$s=5;case 5:return j;case 3:$s=-1;return[d.Bytes(),$ifaceNil];}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.GobEncode};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.GobEncode=function(){return this.$val.GobEncode();};AZ.ptr.prototype.GobDecode=function(c){var c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=this;f=H.NewReader(c);g=F.NewDecoder(f);d[0]=new DA.ptr(0,$ifaceNil);h=g.Decode(d[0]);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;if(!($interfaceIsEqual(i,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:j=A.Errorf("error decoding cty.Type: %s",new DV([i]));$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=5;case 5:return k;case 3:if(!((d[0].Version===0))){$s=6;continue;}$s=7;continue;case 6:l=A.Errorf("unsupported cty.Type encoding version %d; only 0 is supported",new DV([new $Int(d[0].Version)]));$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=9;case 9:return m;case 7:e.typeImpl=d[0].Impl;$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.GobDecode};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.GobDecode=function(c){return this.$val.GobDecode(c);};DS.ptr.prototype.GobEncode=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Errorf("cannot gob-encode capsule type %q",new DV([new $String(c.FriendlyName(78))]));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=[DW.nil,d];$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:DS.ptr.prototype.GobEncode};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};DS.prototype.GobEncode=function(){return this.$val.GobEncode();};DS.ptr.prototype.GobDecode=function(){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Errorf("cannot gob-decode capsule type %q",new DV([new $String(c.FriendlyName(78))]));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=[DW.nil,d];$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:DS.ptr.prototype.GobDecode};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};DS.prototype.GobDecode=function(){return this.$val.GobDecode();};DC=function(c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=[e];f=$clone(d,AZ).Equals($clone($pkg.Number,AZ));$s=9;case 9:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(f){$s=2;continue;}if(!($clone(d,AZ).IsMapType())){g=false;$s=10;continue s;}h=$clone(d,AZ).ElementType();$s=11;case 11:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=$clone(h,AZ).Equals($clone($pkg.Number,AZ));$s=12;case 12:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}g=i;case 10:if(g){$s=3;continue;}if(!($clone(d,AZ).IsListType())){j=false;$s=13;continue s;}k=$clone(d,AZ).ElementType();$s=14;case 14:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,AZ).Equals($clone($pkg.Number,AZ));$s=15;case 15:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}j=l;case 13:if(j){$s=4;continue;}if(!($clone(d,AZ).IsSetType())){m=false;$s=16;continue s;}n=$clone(d,AZ).ElementType();$s=17;case 17:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=$clone(n,AZ).Equals($clone($pkg.Number,AZ));$s=18;case 18:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}m=o;case 16:if(m){$s=5;continue;}if($clone(d,AZ).IsObjectType()){$s=6;continue;}if($clone(d,AZ).IsTupleType()){$s=7;continue;}$s=8;continue;case 2:p=$assertType(c,B.Float,true);e[0]=$clone(p[0],B.Float);q=p[1];if(q){$s=-1;return e[0];}$s=8;continue;case 3:r=$assertType(c,EC,true);s=r[0];t=r[1];if(t){$s=19;continue;}$s=20;continue;case 19:u=s;v=0;w=$keys(u);case 21:if(!(v<w.length)){$s=22;continue;}x=u[w[v]];if(x===undefined){v++;$s=21;continue;}y=x.k;z=x.v;ab=z;ac=$clone(d,AZ).ElementType();$s=23;case 23:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=$clone(ac,AZ);ae=DC(ab,ad);$s=24;case 24:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}aa=y;(s||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(aa)]={k:aa,v:ae};v++;$s=21;continue;case 22:case 20:$s=8;continue;case 4:af=$assertType(c,DV,true);ag=af[0];ah=af[1];if(ah){$s=25;continue;}$s=26;continue;case 25:ai=ag;aj=0;case 27:if(!(aj<ai.$length)){$s=28;continue;}ak=aj;al=((aj<0||aj>=ai.$length)?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+aj]);am=al;an=$clone(d,AZ).ElementType();$s=29;case 29:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=$clone(an,AZ);ap=DC(am,ao);$s=30;case 30:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}((ak<0||ak>=ag.$length)?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+ak]=ap);aj++;$s=27;continue;case 28:case 26:$s=8;continue;case 5:aq=$assertType(c,C.Set,true);ar=$clone(aq[0],C.Set);as=aq[1];if(as){$s=31;continue;}$s=32;continue;case 31:at=$clone(C.NewSet($clone(ar,C.Set).Rules()),C.Set);au=$clone(ar,C.Set).Iterator();$s=33;case 33:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au;case 34:if(!(av.Next())){$s=35;continue;}aw=av.Value();ax=$clone(d,AZ).ElementType();$s=36;case 36:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ay=$clone(ax,AZ);az=DC(aw,ay);$s=37;case 37:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=az;$r=$clone(at,C.Set).Add(ba);$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 35:$s=-1;return new at.constructor.elem(at);case 32:$s=8;continue;case 6:bb=$assertType(c,EC,true);bc=bb[0];bd=bb[1];if(bd){$s=39;continue;}$s=40;continue;case 39:be=bc;bf=0;bg=$keys(be);case 41:if(!(bf<bg.length)){$s=42;continue;}bh=be[bg[bf]];if(bh===undefined){bf++;$s=41;continue;}bi=bh.k;bj=bh.v;bk=$clone(d,AZ).AttributeType(bi);$s=43;case 43:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}bl=$clone(bk,AZ);bn=DC(bj,$clone(bl,AZ));$s=44;case 44:if($c){$c=false;bn=bn.$blk();}if(bn&&bn.$blk!==undefined){break s;}bm=bi;(bc||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(bm)]={k:bm,v:bn};bf++;$s=41;continue;case 42:case 40:$s=8;continue;case 7:bo=$assertType(c,DV,true);bp=bo[0];bq=bo[1];if(bq){$s=45;continue;}$s=46;continue;case 45:br=bp;bs=0;case 47:if(!(bs<br.$length)){$s=48;continue;}bt=bs;bu=((bs<0||bs>=br.$length)?($throwRuntimeError("index out of range"),undefined):br.$array[br.$offset+bs]);bv=$clone($clone(d,AZ).TupleElementType(bt),AZ);bw=DC(bu,$clone(bv,AZ));$s=49;case 49:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}((bt<0||bt>=bp.$length)?($throwRuntimeError("index out of range"),undefined):bp.$array[bp.$offset+bt]=bw);bs++;$s=47;continue;case 48:case 46:case 8:case 1:$s=-1;return c;}return;}if($f===undefined){$f={$blk:DC};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DF=function(c,d,e){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=$makeSlice(BX,c.$length);$copySlice(f,c);h=A.Errorf(d,e);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=(g=new DE.ptr(h,f),new g.constructor.elem(g));$s=2;case 2:return i;}return;}if($f===undefined){$f={$blk:DF};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BX.prototype.NewErrorf=function(c,d){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=DF(e,c,d);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:BX.prototype.NewErrorf};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BX).prototype.NewErrorf=function(c,d){return this.$get().NewErrorf(c,d);};BX.prototype.NewError=function(c){var c,d,e,f,g,h,i,j;d=this;e=$assertType(c,DE,true);f=$clone(e[0],DE);g=e[1];h=d.$length;if(g){h=h+f.Path.$length>>0;}i=$makeSlice(BX,h);$copySlice(i,d);if(g){$copySlice($subslice(i,d.$length),f.Path);}return(j=new DE.ptr(c,i),new j.constructor.elem(j));};$ptrType(BX).prototype.NewError=function(c){return this.$get().NewError(c);};DH=function(c){var c;if($clone(c,AQ).IsMarked()){return false;}else if($clone(c.ty,AZ).IsListType()){return true;}else if($clone(c.ty,AZ).IsMapType()){return true;}else if($clone(c.ty,AZ).IsSetType()){return true;}else if($clone(c.ty,AZ).IsTupleType()){return true;}else if($clone(c.ty,AZ).IsObjectType()){return true;}else{return false;}};DI=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$clone(c,AQ).assertUnmarked();if($clone(c.ty,AZ).IsListType()){$s=2;continue;}if($clone(c.ty,AZ).IsMapType()){$s=3;continue;}if($clone(c.ty,AZ).IsSetType()){$s=4;continue;}if($clone(c.ty,AZ).IsTupleType()){$s=5;continue;}if($clone(c.ty,AZ).IsObjectType()){$s=6;continue;}$s=7;continue;case 2:d=$clone(c.ty,AZ).ElementType();$s=9;case 9:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=new DJ.ptr($clone(d,AZ),$assertType(c.v,DV),-1);$s=10;case 10:return e;case 3:f=$assertType(c.v,EC);g=$makeSlice(EL,0,$keys(f).length);h=f;i=0;j=$keys(h);while(true){if(!(i<j.length)){break;}k=h[j[i]];if(k===undefined){i++;continue;}l=k.k;g=$append(g,l);i++;}$r=J.Strings(g);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}m=$clone(c.ty,AZ).ElementType();$s=12;case 12:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=new DK.ptr($clone(m,AZ),f,g,-1);$s=13;case 13:return n;case 4:o=$clone($assertType(c.v,C.Set),C.Set);p=$clone(c.ty,AZ).ElementType();$s=14;case 14:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=$clone(o,C.Set).Iterator();$s=15;case 15:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=new DL.ptr($clone(p,AZ),q);$s=16;case 16:return r;case 5:$s=-1;return new DM.ptr($clone(c.ty,AZ).TupleElementTypes(),$assertType(c.v,DV),-1);case 6:s=$clone(c.ty,AZ).AttributeTypes();t=$makeSlice(EL,0,$keys(s).length);u=s;v=0;w=$keys(u);while(true){if(!(v<w.length)){break;}x=u[w[v]];if(x===undefined){v++;continue;}y=x.k;t=$append(t,y);v++;}$r=J.Strings(t);$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return new DN.ptr(s,$assertType(c.v,EC),t,-1);case 7:$panic(new $String("attempt to iterate on non-collection, non-tuple type"));case 8:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:DI};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};DJ.ptr.prototype.Element=function(){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.idx;e=Y((new $Int64(0,d)));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}g=[e,new AQ.ptr($clone(c.ety,AZ),(f=c.vals,((d<0||d>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+d])))];$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:DJ.ptr.prototype.Element};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};DJ.prototype.Element=function(){return this.$val.Element();};DJ.ptr.prototype.Next=function(){var c;c=this;c.idx=c.idx+(1)>>0;return c.idx<c.vals.$length;};DJ.prototype.Next=function(){return this.$val.Next();};DK.ptr.prototype.Element=function(){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;f=(d=c.keys,e=c.idx,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]));g=AB(f);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}i=[g,new AQ.ptr($clone(c.ety,AZ),(h=c.vals[$String.keyFor(f)],h!==undefined?h.v:$ifaceNil))];$s=2;case 2:return i;}return;}if($f===undefined){$f={$blk:DK.ptr.prototype.Element};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};DK.prototype.Element=function(){return this.$val.Element();};DK.ptr.prototype.Next=function(){var c;c=this;c.idx=c.idx+(1)>>0;return c.idx<c.keys.$length;};DK.prototype.Next=function(){return this.$val.Next();};DL.ptr.prototype.Element=function(){var c,d;c=this;d=new AQ.ptr($clone(c.ety,AZ),c.setIt.Value());return[d,d];};DL.prototype.Element=function(){return this.$val.Element();};DL.ptr.prototype.Next=function(){var c;c=this;return c.setIt.Next();};DL.prototype.Next=function(){return this.$val.Next();};DM.ptr.prototype.Element=function(){var c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.idx;e=Y((new $Int64(0,d)));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}h=[e,new AQ.ptr($clone((f=c.etys,((d<0||d>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+d])),AZ),(g=c.vals,((d<0||d>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+d])))];$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:DM.ptr.prototype.Element};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};DM.prototype.Element=function(){return this.$val.Element();};DM.ptr.prototype.Next=function(){var c;c=this;c.idx=c.idx+(1)>>0;return c.idx<c.vals.$length;};DM.prototype.Next=function(){return this.$val.Next();};DN.ptr.prototype.Element=function(){var c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;f=(d=c.attrNames,e=c.idx,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]));g=AB(f);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}j=[g,new AQ.ptr($clone((h=c.atys[$String.keyFor(f)],h!==undefined?h.v:new AZ.ptr($ifaceNil)),AZ),(i=c.vals[$String.keyFor(f)],i!==undefined?i.v:$ifaceNil))];$s=2;case 2:return j;}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.Element};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.Element=function(){return this.$val.Element();};DN.ptr.prototype.Next=function(){var c;c=this;c.idx=c.idx+(1)>>0;return c.idx<c.attrNames.$length;};DN.prototype.Next=function(){return this.$val.Next();};AZ.ptr.prototype.IsCollectionType=function(){var c,d,e;c=this;d=$assertType(c.typeImpl,DO,true);e=d[1];return e;};AZ.prototype.IsCollectionType=function(){return this.$val.IsCollectionType();};AZ.ptr.prototype.ElementType=function(){var c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$assertType(c.typeImpl,DO,true);e=d[0];f=d[1];if(f){$s=1;continue;}$s=2;continue;case 1:g=e.ElementType();$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=4;case 4:return h;case 2:$panic(L.New("not a collection type"));$s=-1;return new AZ.ptr($ifaceNil);}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.ElementType};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.ElementType=function(){return this.$val.ElementType();};DQ.ptr.prototype.assertValid=function(){var c;c=this;if(c.RawEquals===$throwNilPointerError&&!(c.Equals===$throwNilPointerError)){$panic(new $String("Equals cannot be set without RawEquals"));}};DQ.prototype.assertValid=function(){return this.$val.assertValid();};AZ.ptr.prototype.CapsuleOps=function(){var c;c=this;if(!$clone(c,AZ).IsCapsuleType()){$panic(new $String("not a capsule-typed value"));}return $assertType(c.typeImpl,EG).Ops;};AZ.prototype.CapsuleOps=function(){return this.$val.CapsuleOps();};AZ.ptr.prototype.CapsuleExtensionData=function(c){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(d,AZ).CapsuleOps();if(e.ExtensionData===$throwNilPointerError){$s=-1;return $ifaceNil;}f=e.ExtensionData(c);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.CapsuleExtensionData};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.CapsuleExtensionData=function(c){return this.$val.CapsuleExtensionData(c);};DS.ptr.prototype.Equals=function(c){var c,d,e,f,g;d=this;e=$assertType(c.typeImpl,EG,true);f=e[0];g=e[1];if(g){return f===d;}return false;};DS.prototype.Equals=function(c){return this.$val.Equals(c);};DS.ptr.prototype.FriendlyName=function(c){var c,d;d=this;return d.Name;};DS.prototype.FriendlyName=function(c){return this.$val.FriendlyName(c);};DS.ptr.prototype.GoString=function(){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.Ops.TypeGoString;if(d===$throwNilPointerError){$s=1;continue;}$s=2;continue;case 1:e=D.Zero(c.GoType);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(c.Ops===DR){$s=4;continue;}$s=5;continue;case 4:g=new $String(c.Name);h=$clone(f,D.Value).Interface();$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;j=A.Sprintf("cty.Capsule(%q, reflect.TypeOf(%#v))",new DV([g,i]));$s=8;case 8:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=9;case 9:return k;case 5:l=new $String(c.Name);m=$clone(f,D.Value).Interface();$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;o=c.Ops;p=A.Sprintf("cty.CapsuleWithOps(%q, reflect.TypeOf(%#v), %#v)",new DV([l,n,o]));$s=11;case 11:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;$s=12;case 12:return q;case 6:case 2:r=d(c.GoType);$s=13;case 13:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;$s=14;case 14:return s;}return;}if($f===undefined){$f={$blk:DS.ptr.prototype.GoString};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};DS.prototype.GoString=function(){return this.$val.GoString();};DT=function(c,d){var c,d;return new AZ.ptr(new DS.ptr(new BB.ptr(),c,d,DR));};$pkg.Capsule=DT;DU=function(c,d,e){var c,d,e,f;f=$clone(e,DQ);f.assertValid();return new AZ.ptr(new DS.ptr(new BB.ptr(),c,d,f));};$pkg.CapsuleWithOps=DU;AZ.ptr.prototype.IsCapsuleType=function(){var c,d,e;c=this;d=$assertType(c.typeImpl,EG,true);e=d[1];return e;};AZ.prototype.IsCapsuleType=function(){return this.$val.IsCapsuleType();};AZ.ptr.prototype.EncapsulatedType=function(){var c,d,e,f;c=this;d=$assertType(c.typeImpl,EG,true);e=d[0];f=d[1];if(!f){$panic(new $String("not a capsule type"));}return e.GoType;};AZ.prototype.EncapsulatedType=function(){return this.$val.EncapsulatedType();};AQ.methods=[{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)},{prop:"Equals",name:"Equals",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"NotEqual",name:"NotEqual",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"True",name:"True",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"False",name:"False",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"RawEquals",name:"RawEquals",pkg:"",typ:$funcType([AQ],[$Bool],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"Subtract",name:"Subtract",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"Negate",name:"Negate",pkg:"",typ:$funcType([],[AQ],false)},{prop:"Multiply",name:"Multiply",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"Divide",name:"Divide",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"Modulo",name:"Modulo",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"Absolute",name:"Absolute",pkg:"",typ:$funcType([],[AQ],false)},{prop:"GetAttr",name:"GetAttr",pkg:"",typ:$funcType([$String],[AQ],false)},{prop:"Index",name:"Index",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"HasIndex",name:"HasIndex",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"HasElement",name:"HasElement",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"Length",name:"Length",pkg:"",typ:$funcType([],[AQ],false)},{prop:"LengthInt",name:"LengthInt",pkg:"",typ:$funcType([],[$Int],false)},{prop:"ElementIterator",name:"ElementIterator",pkg:"",typ:$funcType([],[DG],false)},{prop:"CanIterateElements",name:"CanIterateElements",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"ForEachElement",name:"ForEachElement",pkg:"",typ:$funcType([DP],[$Bool],false)},{prop:"Not",name:"Not",pkg:"",typ:$funcType([],[AQ],false)},{prop:"And",name:"And",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"Or",name:"Or",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"LessThan",name:"LessThan",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"GreaterThan",name:"GreaterThan",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"LessThanOrEqualTo",name:"LessThanOrEqualTo",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"GreaterThanOrEqualTo",name:"GreaterThanOrEqualTo",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"AsString",name:"AsString",pkg:"",typ:$funcType([],[$String],false)},{prop:"AsBigFloat",name:"AsBigFloat",pkg:"",typ:$funcType([],[DZ],false)},{prop:"AsValueSlice",name:"AsValueSlice",pkg:"",typ:$funcType([],[DX],false)},{prop:"AsValueMap",name:"AsValueMap",pkg:"",typ:$funcType([],[EA],false)},{prop:"AsValueSet",name:"AsValueSet",pkg:"",typ:$funcType([],[BL],false)},{prop:"EncapsulatedValue",name:"EncapsulatedValue",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"Type",name:"Type",pkg:"",typ:$funcType([],[AZ],false)},{prop:"IsKnown",name:"IsKnown",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsNull",name:"IsNull",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsWhollyKnown",name:"IsWhollyKnown",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"HasWhollyKnownType",name:"HasWhollyKnownType",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Hash",name:"Hash",pkg:"",typ:$funcType([],[$Int],false)},{prop:"IsMarked",name:"IsMarked",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"HasMark",name:"HasMark",pkg:"",typ:$funcType([$emptyInterface],[$Bool],false)},{prop:"ContainsMarked",name:"ContainsMarked",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"assertUnmarked",name:"assertUnmarked",pkg:"github.com/zclconf/go-cty/cty",typ:$funcType([],[],false)},{prop:"Marks",name:"Marks",pkg:"",typ:$funcType([],[CM],false)},{prop:"HasSameMarks",name:"HasSameMarks",pkg:"",typ:$funcType([AQ],[$Bool],false)},{prop:"Mark",name:"Mark",pkg:"",typ:$funcType([$emptyInterface],[AQ],false)},{prop:"MarkWithPaths",name:"MarkWithPaths",pkg:"",typ:$funcType([EP],[AQ],false)},{prop:"Unmark",name:"Unmark",pkg:"",typ:$funcType([],[AQ,CM],false)},{prop:"UnmarkDeep",name:"UnmarkDeep",pkg:"",typ:$funcType([],[AQ,CM],false)},{prop:"UnmarkDeepWithPaths",name:"UnmarkDeepWithPaths",pkg:"",typ:$funcType([],[AQ,EP],false)},{prop:"unmarkForce",name:"unmarkForce",pkg:"github.com/zclconf/go-cty/cty",typ:$funcType([],[AQ],false)},{prop:"WithMarks",name:"WithMarks",pkg:"",typ:$funcType([DY],[AQ],true)},{prop:"WithSameMarks",name:"WithSameMarks",pkg:"",typ:$funcType([DX],[AQ],true)},{prop:"GobEncode",name:"GobEncode",pkg:"",typ:$funcType([],[DW,$error],false)}];ED.methods=[{prop:"GobDecode",name:"GobDecode",pkg:"",typ:$funcType([DW],[$error],false)}];AS.methods=[{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];AV.methods=[{prop:"Equals",name:"Equals",pkg:"",typ:$funcType([AZ],[$Bool],false)},{prop:"FriendlyName",name:"FriendlyName",pkg:"",typ:$funcType([BC],[$String],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];AZ.methods=[{prop:"TestConformance",name:"TestConformance",pkg:"",typ:$funcType([AZ],[EB],false)},{prop:"Equals",name:"Equals",pkg:"",typ:$funcType([AZ],[$Bool],false)},{prop:"FriendlyName",name:"FriendlyName",pkg:"",typ:$funcType([],[$String],false)},{prop:"FriendlyNameForConstraint",name:"FriendlyNameForConstraint",pkg:"",typ:$funcType([],[$String],false)},{prop:"friendlyNameMode",name:"friendlyNameMode",pkg:"github.com/zclconf/go-cty/cty",typ:$funcType([BC],[$String],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)},{prop:"HasDynamicTypes",name:"HasDynamicTypes",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"WithoutOptionalAttributesDeep",name:"WithoutOptionalAttributesDeep",pkg:"",typ:$funcType([],[AZ],false)},{prop:"IsTupleType",name:"IsTupleType",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Length",name:"Length",pkg:"",typ:$funcType([],[$Int],false)},{prop:"TupleElementType",name:"TupleElementType",pkg:"",typ:$funcType([$Int],[AZ],false)},{prop:"TupleElementTypes",name:"TupleElementTypes",pkg:"",typ:$funcType([],[EF],false)},{prop:"IsSetType",name:"IsSetType",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"SetElementType",name:"SetElementType",pkg:"",typ:$funcType([],[EJ],false)},{prop:"IsPrimitiveType",name:"IsPrimitiveType",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsObjectType",name:"IsObjectType",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"HasAttribute",name:"HasAttribute",pkg:"",typ:$funcType([$String],[$Bool],false)},{prop:"AttributeType",name:"AttributeType",pkg:"",typ:$funcType([$String],[AZ],false)},{prop:"AttributeTypes",name:"AttributeTypes",pkg:"",typ:$funcType([],[EN],false)},{prop:"OptionalAttributes",name:"OptionalAttributes",pkg:"",typ:$funcType([],[EW],false)},{prop:"AttributeOptional",name:"AttributeOptional",pkg:"",typ:$funcType([$String],[$Bool],false)},{prop:"IsMapType",name:"IsMapType",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"MapElementType",name:"MapElementType",pkg:"",typ:$funcType([],[EJ],false)},{prop:"IsListType",name:"IsListType",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"ListElementType",name:"ListElementType",pkg:"",typ:$funcType([],[EJ],false)},{prop:"MarshalJSON",name:"MarshalJSON",pkg:"",typ:$funcType([],[DW,$error],false)},{prop:"GobEncode",name:"GobEncode",pkg:"",typ:$funcType([],[DW,$error],false)},{prop:"IsCollectionType",name:"IsCollectionType",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"ElementType",name:"ElementType",pkg:"",typ:$funcType([],[AZ],false)},{prop:"CapsuleOps",name:"CapsuleOps",pkg:"",typ:$funcType([],[EH],false)},{prop:"CapsuleExtensionData",name:"CapsuleExtensionData",pkg:"",typ:$funcType([$emptyInterface],[$emptyInterface],false)},{prop:"IsCapsuleType",name:"IsCapsuleType",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"EncapsulatedType",name:"EncapsulatedType",pkg:"",typ:$funcType([],[D.Type],false)}];EJ.methods=[{prop:"UnmarshalJSON",name:"UnmarshalJSON",pkg:"",typ:$funcType([DW],[$error],false)},{prop:"GobDecode",name:"GobDecode",pkg:"",typ:$funcType([DW],[$error],false)}];BB.methods=[{prop:"isTypeImpl",name:"isTypeImpl",pkg:"github.com/zclconf/go-cty/cty",typ:$funcType([],[BB],false)}];BD.methods=[{prop:"Equals",name:"Equals",pkg:"",typ:$funcType([AZ],[$Bool],false)},{prop:"FriendlyName",name:"FriendlyName",pkg:"",typ:$funcType([BC],[$String],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];BG.methods=[{prop:"Equals",name:"Equals",pkg:"",typ:$funcType([AZ],[$Bool],false)},{prop:"FriendlyName",name:"FriendlyName",pkg:"",typ:$funcType([BC],[$String],false)},{prop:"ElementType",name:"ElementType",pkg:"",typ:$funcType([],[AZ],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];BI.methods=[{prop:"Hash",name:"Hash",pkg:"",typ:$funcType([$emptyInterface],[$Int],false)},{prop:"Equivalent",name:"Equivalent",pkg:"",typ:$funcType([$emptyInterface,$emptyInterface],[$Bool],false)},{prop:"SameRules",name:"SameRules",pkg:"",typ:$funcType([C.Rules],[$Bool],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$emptyInterface,$emptyInterface],[$Bool],false)}];BL.methods=[{prop:"ElementType",name:"ElementType",pkg:"",typ:$funcType([],[AZ],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([AQ],[],false)},{prop:"Remove",name:"Remove",pkg:"",typ:$funcType([AQ],[],false)},{prop:"Has",name:"Has",pkg:"",typ:$funcType([AQ],[$Bool],false)},{prop:"Copy",name:"Copy",pkg:"",typ:$funcType([],[BL],false)},{prop:"Length",name:"Length",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Values",name:"Values",pkg:"",typ:$funcType([],[DX],false)},{prop:"Union",name:"Union",pkg:"",typ:$funcType([BL],[BL],false)},{prop:"Intersection",name:"Intersection",pkg:"",typ:$funcType([BL],[BL],false)},{prop:"Subtract",name:"Subtract",pkg:"",typ:$funcType([BL],[BL],false)},{prop:"SymmetricDifference",name:"SymmetricDifference",pkg:"",typ:$funcType([BL],[BL],false)},{prop:"requireElementType",name:"requireElementType",pkg:"github.com/zclconf/go-cty/cty",typ:$funcType([AQ],[],false)}];BO.methods=[{prop:"Equals",name:"Equals",pkg:"",typ:$funcType([AZ],[$Bool],false)},{prop:"FriendlyName",name:"FriendlyName",pkg:"",typ:$funcType([BC],[$String],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];BX.methods=[{prop:"Index",name:"Index",pkg:"",typ:$funcType([AQ],[BX],false)},{prop:"IndexInt",name:"IndexInt",pkg:"",typ:$funcType([$Int],[BX],false)},{prop:"IndexString",name:"IndexString",pkg:"",typ:$funcType([$String],[BX],false)},{prop:"GetAttr",name:"GetAttr",pkg:"",typ:$funcType([$String],[BX],false)},{prop:"Equals",name:"Equals",pkg:"",typ:$funcType([BX],[$Bool],false)},{prop:"HasPrefix",name:"HasPrefix",pkg:"",typ:$funcType([BX],[$Bool],false)},{prop:"Apply",name:"Apply",pkg:"",typ:$funcType([AQ],[AQ,$error],false)},{prop:"LastStep",name:"LastStep",pkg:"",typ:$funcType([AQ],[AQ,BY,$error],false)},{prop:"Copy",name:"Copy",pkg:"",typ:$funcType([],[BX],false)},{prop:"NewErrorf",name:"NewErrorf",pkg:"",typ:$funcType([$String,DV],[$error],true)},{prop:"NewError",name:"NewError",pkg:"",typ:$funcType([$error],[$error],false)}];BZ.methods=[{prop:"pathStepSigil",name:"pathStepSigil",pkg:"github.com/zclconf/go-cty/cty",typ:$funcType([],[BZ],false)}];CE.methods=[{prop:"Apply",name:"Apply",pkg:"",typ:$funcType([AQ],[AQ,$error],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];CF.methods=[{prop:"Apply",name:"Apply",pkg:"",typ:$funcType([AQ],[AQ,$error],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];CG.methods=[{prop:"Equals",name:"Equals",pkg:"",typ:$funcType([AZ],[$Bool],false)},{prop:"FriendlyName",name:"FriendlyName",pkg:"",typ:$funcType([BC],[$String],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];CM.methods=[{prop:"Equal",name:"Equal",pkg:"",typ:$funcType([CM],[$Bool],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];CO.methods=[{prop:"Equal",name:"Equal",pkg:"",typ:$funcType([CO],[$Bool],false)}];EX.methods=[{prop:"Enter",name:"Enter",pkg:"",typ:$funcType([BX,AQ],[AQ,$error],false)},{prop:"Exit",name:"Exit",pkg:"",typ:$funcType([BX,AQ],[AQ,$error],false)}];EY.methods=[{prop:"Enter",name:"Enter",pkg:"",typ:$funcType([BX,AQ],[AQ,$error],false)},{prop:"Exit",name:"Exit",pkg:"",typ:$funcType([BX,AQ],[AQ,$error],false)}];CR.methods=[{prop:"Equals",name:"Equals",pkg:"",typ:$funcType([AZ],[$Bool],false)},{prop:"FriendlyName",name:"FriendlyName",pkg:"",typ:$funcType([BC],[$String],false)},{prop:"ElementType",name:"ElementType",pkg:"",typ:$funcType([],[AZ],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];CT.methods=[{prop:"Equals",name:"Equals",pkg:"",typ:$funcType([AZ],[$Bool],false)},{prop:"FriendlyName",name:"FriendlyName",pkg:"",typ:$funcType([BC],[$String],false)},{prop:"ElementType",name:"ElementType",pkg:"",typ:$funcType([],[AZ],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];EZ.methods=[{prop:"Element",name:"Element",pkg:"",typ:$funcType([],[AQ,AQ],false)},{prop:"Next",name:"Next",pkg:"",typ:$funcType([],[$Bool],false)}];FA.methods=[{prop:"Element",name:"Element",pkg:"",typ:$funcType([],[AQ,AQ],false)},{prop:"Next",name:"Next",pkg:"",typ:$funcType([],[$Bool],false)}];FB.methods=[{prop:"Element",name:"Element",pkg:"",typ:$funcType([],[AQ,AQ],false)},{prop:"Next",name:"Next",pkg:"",typ:$funcType([],[$Bool],false)}];FC.methods=[{prop:"Element",name:"Element",pkg:"",typ:$funcType([],[AQ,AQ],false)},{prop:"Next",name:"Next",pkg:"",typ:$funcType([],[$Bool],false)}];FD.methods=[{prop:"Element",name:"Element",pkg:"",typ:$funcType([],[AQ,AQ],false)},{prop:"Next",name:"Next",pkg:"",typ:$funcType([],[$Bool],false)}];EH.methods=[{prop:"assertValid",name:"assertValid",pkg:"github.com/zclconf/go-cty/cty",typ:$funcType([],[],false)}];EG.methods=[{prop:"GobEncode",name:"GobEncode",pkg:"",typ:$funcType([],[DW,$error],false)},{prop:"GobDecode",name:"GobDecode",pkg:"",typ:$funcType([],[DW,$error],false)},{prop:"Equals",name:"Equals",pkg:"",typ:$funcType([AZ],[$Bool],false)},{prop:"FriendlyName",name:"FriendlyName",pkg:"",typ:$funcType([BC],[$String],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];AQ.init("github.com/zclconf/go-cty/cty",[{prop:"ty",name:"ty",embedded:false,exported:false,typ:AZ,tag:""},{prop:"v",name:"v",embedded:false,exported:false,typ:$emptyInterface,tag:""}]);AS.init("",[]);AV.init("github.com/zclconf/go-cty/cty",[{prop:"typeImplSigil",name:"typeImplSigil",embedded:true,exported:false,typ:BB,tag:""}]);AZ.init("github.com/zclconf/go-cty/cty",[{prop:"typeImpl",name:"typeImpl",embedded:true,exported:false,typ:BA,tag:""}]);BA.init([{prop:"Equals",name:"Equals",pkg:"",typ:$funcType([AZ],[$Bool],false)},{prop:"FriendlyName",name:"FriendlyName",pkg:"",typ:$funcType([BC],[$String],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)},{prop:"isTypeImpl",name:"isTypeImpl",pkg:"github.com/zclconf/go-cty/cty",typ:$funcType([],[BB],false)}]);BB.init("",[]);BD.init("github.com/zclconf/go-cty/cty",[{prop:"typeImplSigil",name:"typeImplSigil",embedded:true,exported:false,typ:BB,tag:""},{prop:"ElemTypes",name:"ElemTypes",embedded:false,exported:true,typ:EF,tag:""}]);BG.init("github.com/zclconf/go-cty/cty",[{prop:"typeImplSigil",name:"typeImplSigil",embedded:true,exported:false,typ:BB,tag:""},{prop:"ElementTypeT",name:"ElementTypeT",embedded:false,exported:true,typ:AZ,tag:""}]);BI.init("",[{prop:"Type",name:"Type",embedded:false,exported:true,typ:AZ,tag:""}]);BL.init("github.com/zclconf/go-cty/cty",[{prop:"s",name:"s",embedded:false,exported:false,typ:C.Set,tag:""}]);BO.init("github.com/zclconf/go-cty/cty",[{prop:"typeImplSigil",name:"typeImplSigil",embedded:true,exported:false,typ:BB,tag:""},{prop:"Kind",name:"Kind",embedded:false,exported:true,typ:BP,tag:""}]);BX.init(BY);BY.init([{prop:"Apply",name:"Apply",pkg:"",typ:$funcType([AQ],[AQ,$error],false)},{prop:"pathStepSigil",name:"pathStepSigil",pkg:"github.com/zclconf/go-cty/cty",typ:$funcType([],[BZ],false)}]);BZ.init("",[]);CE.init("github.com/zclconf/go-cty/cty",[{prop:"pathStepImpl",name:"pathStepImpl",embedded:true,exported:false,typ:BZ,tag:""},{prop:"Key",name:"Key",embedded:false,exported:true,typ:AQ,tag:""}]);CF.init("github.com/zclconf/go-cty/cty",[{prop:"pathStepImpl",name:"pathStepImpl",embedded:true,exported:false,typ:BZ,tag:""},{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""}]);CG.init("github.com/zclconf/go-cty/cty",[{prop:"typeImplSigil",name:"typeImplSigil",embedded:true,exported:false,typ:BB,tag:""},{prop:"AttrTypes",name:"AttrTypes",embedded:false,exported:true,typ:EN,tag:""},{prop:"AttrOptional",name:"AttrOptional",embedded:false,exported:true,typ:EW,tag:""}]);CL.init("github.com/zclconf/go-cty/cty",[{prop:"realV",name:"realV",embedded:false,exported:false,typ:$emptyInterface,tag:""},{prop:"marks",name:"marks",embedded:false,exported:false,typ:CM,tag:""}]);CM.init($emptyInterface,EK);CO.init("",[{prop:"Path",name:"Path",embedded:false,exported:true,typ:BX,tag:""},{prop:"Marks",name:"Marks",embedded:false,exported:true,typ:CM,tag:""}]);CP.init("github.com/zclconf/go-cty/cty",[{prop:"pvm",name:"pvm",embedded:false,exported:false,typ:EP,tag:""}]);CQ.init("github.com/zclconf/go-cty/cty",[{prop:"pvm",name:"pvm",embedded:false,exported:false,typ:EP,tag:""}]);CR.init("github.com/zclconf/go-cty/cty",[{prop:"typeImplSigil",name:"typeImplSigil",embedded:true,exported:false,typ:BB,tag:""},{prop:"ElementTypeT",name:"ElementTypeT",embedded:false,exported:true,typ:AZ,tag:""}]);CT.init("github.com/zclconf/go-cty/cty",[{prop:"typeImplSigil",name:"typeImplSigil",embedded:true,exported:false,typ:BB,tag:""},{prop:"ElementTypeT",name:"ElementTypeT",embedded:false,exported:true,typ:AZ,tag:""}]);CZ.init("",[{prop:"Version",name:"Version",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Ty",name:"Ty",embedded:false,exported:true,typ:AZ,tag:""},{prop:"V",name:"V",embedded:false,exported:true,typ:$emptyInterface,tag:""}]);DA.init("",[{prop:"Version",name:"Version",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Impl",name:"Impl",embedded:false,exported:true,typ:BA,tag:""}]);DE.init("github.com/zclconf/go-cty/cty",[{prop:"error",name:"error",embedded:true,exported:false,typ:$error,tag:""},{prop:"Path",name:"Path",embedded:false,exported:true,typ:BX,tag:""}]);DG.init([{prop:"Element",name:"Element",pkg:"",typ:$funcType([],[AQ,AQ],false)},{prop:"Next",name:"Next",pkg:"",typ:$funcType([],[$Bool],false)}]);DJ.init("github.com/zclconf/go-cty/cty",[{prop:"ety",name:"ety",embedded:false,exported:false,typ:AZ,tag:""},{prop:"vals",name:"vals",embedded:false,exported:false,typ:DV,tag:""},{prop:"idx",name:"idx",embedded:false,exported:false,typ:$Int,tag:""}]);DK.init("github.com/zclconf/go-cty/cty",[{prop:"ety",name:"ety",embedded:false,exported:false,typ:AZ,tag:""},{prop:"vals",name:"vals",embedded:false,exported:false,typ:EC,tag:""},{prop:"keys",name:"keys",embedded:false,exported:false,typ:EL,tag:""},{prop:"idx",name:"idx",embedded:false,exported:false,typ:$Int,tag:""}]);DL.init("github.com/zclconf/go-cty/cty",[{prop:"ety",name:"ety",embedded:false,exported:false,typ:AZ,tag:""},{prop:"setIt",name:"setIt",embedded:false,exported:false,typ:ET,tag:""}]);DM.init("github.com/zclconf/go-cty/cty",[{prop:"etys",name:"etys",embedded:false,exported:false,typ:EF,tag:""},{prop:"vals",name:"vals",embedded:false,exported:false,typ:DV,tag:""},{prop:"idx",name:"idx",embedded:false,exported:false,typ:$Int,tag:""}]);DN.init("github.com/zclconf/go-cty/cty",[{prop:"atys",name:"atys",embedded:false,exported:false,typ:EN,tag:""},{prop:"vals",name:"vals",embedded:false,exported:false,typ:EC,tag:""},{prop:"attrNames",name:"attrNames",embedded:false,exported:false,typ:EL,tag:""},{prop:"idx",name:"idx",embedded:false,exported:false,typ:$Int,tag:""}]);DO.init([{prop:"ElementType",name:"ElementType",pkg:"",typ:$funcType([],[AZ],false)}]);DP.init([AQ,AQ],[$Bool],false);DQ.init("",[{prop:"GoString",name:"GoString",embedded:false,exported:true,typ:FE,tag:""},{prop:"TypeGoString",name:"TypeGoString",embedded:false,exported:true,typ:FF,tag:""},{prop:"Equals",name:"Equals",embedded:false,exported:true,typ:FG,tag:""},{prop:"RawEquals",name:"RawEquals",embedded:false,exported:true,typ:FH,tag:""},{prop:"ConversionFrom",name:"ConversionFrom",embedded:false,exported:true,typ:FJ,tag:""},{prop:"ConversionTo",name:"ConversionTo",embedded:false,exported:true,typ:FL,tag:""},{prop:"ExtensionData",name:"ExtensionData",embedded:false,exported:true,typ:FM,tag:""}]);DS.init("github.com/zclconf/go-cty/cty",[{prop:"typeImplSigil",name:"typeImplSigil",embedded:true,exported:false,typ:BB,tag:""},{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"GoType",name:"GoType",embedded:false,exported:true,typ:D.Type,tag:""},{prop:"Ops",name:"Ops",embedded:false,exported:true,typ:EH,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=H.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.DynamicPseudoType=new AZ.ptr($ifaceNil);$pkg.DynamicVal=new AQ.ptr(new AZ.ptr($ifaceNil),$ifaceNil);$pkg.InternalTypesToRegister=DV.nil;$pkg.EmptyTuple=new AZ.ptr($ifaceNil);$pkg.EmptyTupleVal=new AQ.ptr(new AZ.ptr($ifaceNil),$ifaceNil);$pkg.Number=new AZ.ptr($ifaceNil);$pkg.String=new AZ.ptr($ifaceNil);$pkg.Bool=new AZ.ptr($ifaceNil);$pkg.True=new AQ.ptr(new AZ.ptr($ifaceNil),$ifaceNil);$pkg.False=new AQ.ptr(new AZ.ptr($ifaceNil),$ifaceNil);$pkg.Zero=new AQ.ptr(new AZ.ptr($ifaceNil),$ifaceNil);$pkg.PositiveInfinity=new AQ.ptr(new AZ.ptr($ifaceNil),$ifaceNil);$pkg.NegativeInfinity=new AQ.ptr(new AZ.ptr($ifaceNil),$ifaceNil);$pkg.EmptyObject=new AZ.ptr($ifaceNil);$pkg.EmptyObjectVal=new AQ.ptr(new AZ.ptr($ifaceNil),$ifaceNil);$pkg.NilVal=new AQ.ptr(new AZ.ptr($ifaceNil),$ifaceNil);AT=new AS.ptr();$pkg.NilType=new AZ.ptr($ifaceNil);b=K.MakeTable(new $Uint64(3623878656,0));$s=14;case 14:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}BU=b;DR=new DQ.ptr($throwNilPointerError,$throwNilPointerError,$throwNilPointerError,$throwNilPointerError,$throwNilPointerError,$throwNilPointerError,$throwNilPointerError);AW();$r=AX();$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}BF();$r=BR();$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=CJ();$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/zclconf/go-cty/cty/convert"]=(function(){var $pkg={},$init,C,B,D,A,E,F,Q,AT,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,AB,AC,AD,AE,a,b,G,H,I,J,K,L,M,N,O,P,R,S,T,V,W,X,Y,Z,AA,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AU,AV,AW,AX;C=$packages["bytes"];B=$packages["errors"];D=$packages["fmt"];A=$packages["github.com/zclconf/go-cty/cty"];E=$packages["sort"];F=$packages["strings"];Q=$pkg.Conversion=$newType(4,$kindFunc,"convert.Conversion",true,"github.com/zclconf/go-cty/cty/convert",true,null);AT=$pkg.conversion=$newType(4,$kindFunc,"convert.conversion",true,"github.com/zclconf/go-cty/cty/convert",false,null);AY=$sliceType($emptyInterface);AZ=$sliceType(Q);BA=$sliceType(A.Type);BB=$sliceType($Int);BC=$sliceType(BB);BD=$sliceType($String);BE=$sliceType($Uint8);BF=$sliceType(AT);BG=$sliceType(A.Value);BH=$ptrType(A.PathStep);BI=$structType("",[]);BJ=$sliceType(A.ValueMarks);G=function(c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(c.$length===0){$s=-1;return[A.NilType,AZ.nil];}e=0;f=0;g=0;h=0;i=0;j=0;k=c;l=0;while(true){if(!(l<k.$length)){break;}m=$clone(((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]),A.Type);switch(0){default:if($clone(m,A.Type).IsMapType()){e=e+(1)>>0;}else if($clone(m,A.Type).IsListType()){f=f+(1)>>0;}else if($clone(m,A.Type).IsSetType()){g=g+(1)>>0;}else if($clone(m,A.Type).IsObjectType()){h=h+(1)>>0;}else if($clone(m,A.Type).IsTupleType()){i=i+(1)>>0;}else if($equal(m,A.DynamicPseudoType,A.Type)){j=j+(1)>>0;}else{break;}}l++;}if(e>0&&(((e+j>>0))===c.$length)){$s=2;continue;}if(e>0&&((((e+h>>0)+j>>0))===c.$length)){$s=3;continue;}if(f>0&&(((f+j>>0))===c.$length)){$s=4;continue;}if(f>0&&((((f+i>>0)+j>>0))===c.$length)){$s=5;continue;}if(g>0&&(((g+j>>0))===c.$length)){$s=6;continue;}if(h>0&&(((h+j>>0))===c.$length)){$s=7;continue;}if(i>0&&(((i+j>>0))===c.$length)){$s=8;continue;}if(h>0&&i>0){$s=9;continue;}$s=10;continue;case 2:n=J(A.Map,c,d,j>0);$s=11;case 11:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;$s=12;case 12:return o;case 3:q=I(c,d);$s=13;case 13:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=$clone(p[0],A.Type);s=p[1];if($clone(r,A.Type).IsMapType()){$s=-1;return[r,s];}$s=10;continue;case 4:t=J(A.List,c,d,j>0);$s=14;case 14:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t;$s=15;case 15:return u;case 5:w=H(c,d);$s=16;case 16:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;x=$clone(v[0],A.Type);y=v[1];if($clone(x,A.Type).IsListType()){$s=-1;return[x,y];}$s=10;continue;case 6:z=J(A.Set,c,d,j>0);$s=17;case 17:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;$s=18;case 18:return aa;case 7:ab=K(c,d,j>0);$s=19;case 19:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;$s=20;case 20:return ac;case 8:ad=M(c,d,j>0);$s=21;case 21:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=22;case 22:return ae;case 9:$s=-1;return[A.NilType,AZ.nil];case 10:case 1:af=P(c);$s=23;case 23:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;ah=$makeSlice(AZ,c.$length);ai=ag;aj=0;case 24:if(!(aj<ai.$length)){$s=25;continue;}ak=((aj<0||aj>=ai.$length)?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+aj]);al=$clone(((ak<0||ak>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+ak]),A.Type);am=c;an=0;case 26:if(!(an<am.$length)){$s=27;continue;}ao=an;ap=$clone(((an<0||an>=am.$length)?($throwRuntimeError("index out of range"),undefined):am.$array[am.$offset+an]),A.Type);if(ao===ak){((ao<0||ao>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ao]=$throwNilPointerError);an++;$s=26;continue;}aq=$clone(ap,A.Type).Equals($clone(al,A.Type));$s=30;case 30:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}if(aq){$s=28;continue;}$s=29;continue;case 28:((ao<0||ao>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ao]=$throwNilPointerError);an++;$s=26;continue;case 29:if(d){$s=31;continue;}$s=32;continue;case 31:ar=S($clone(ap,A.Type),$clone(al,A.Type));$s=34;case 34:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}((ao<0||ao>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ao]=ar);$s=33;continue;case 32:as=R($clone(ap,A.Type),$clone(al,A.Type));$s=35;case 35:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}((ao<0||ao>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ao]=as);case 33:if(((ao<0||ao>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ao])===$throwNilPointerError){aj++;$s=24;continue s;}an++;$s=26;continue;case 27:$s=-1;return[al,ah];case 25:$s=-1;return[A.NilType,AZ.nil];}return;}if($f===undefined){$f={$blk:G};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};H=function(c,d){var aa,ab,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=BA.nil;f=BB.nil;g=c;h=0;while(true){if(!(h<g.$length)){break;}i=h;j=$clone(((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]),A.Type);if($clone(j,A.Type).IsTupleType()){e=$append(e,j);f=$append(f,i);}h++;}l=N(e,d);$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=$clone(k[0],A.Type);n=k[1];if(!$clone(m,A.Type).IsListType()){$s=-1;return[A.NilType,AZ.nil];}o=$makeSlice(BA,c.$length);$copySlice(o,c);p=f;q=0;while(true){if(!(q<p.$length)){break;}r=((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]);A.Type.copy(((r<0||r>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+r]),m);q++;}t=G(o,d);$s=2;case 2:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=$clone(s[0],A.Type);v=s[1];if(!$clone(u,A.Type).IsListType()){$s=-1;return[A.NilType,AZ.nil];}w=f;x=0;while(true){if(!(x<w.$length)){break;}y=[y];z=[z];aa=x;ab=((x<0||x>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+x]);y[0]=((ab<0||ab>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+ab]);z[0]=((aa<0||aa>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+aa]);if(y[0]===$throwNilPointerError){((ab<0||ab>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+ab]=z[0]);x++;continue;}((ab<0||ab>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+ab]=(function(y,z){return function $b(ac){var ac,ad,ae,af,ag,ah,ai,aj,ak,al,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=new A.Value.ptr(new A.Type.ptr($ifaceNil),$ifaceNil);ae=$ifaceNil;ag=z[0]($clone(ac,A.Value));$s=1;case 1:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;A.Value.copy(ad,af[0]);ae=af[1];if(!($interfaceIsEqual(ae,$ifaceNil))){ah=$clone(ad,A.Value);ai=ae;A.Value.copy(ad,ah);ae=ai;$s=-1;return[ad,ae];}ak=y[0]($clone(ac,A.Value));$s=2;case 2:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;A.Value.copy(ad,aj[0]);ae=aj[1];al=[ad,ae];$s=3;case 3:return al;}return;}if($f===undefined){$f={$blk:$b};}$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.$s=$s;$f.$r=$r;return $f;};})(y,z));x++;}$s=-1;return[u,v];}return;}if($f===undefined){$f={$blk:H};}$f.aa=aa;$f.ab=ab;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};I=function(c,d){var aa,ab,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=BA.nil;f=BB.nil;g=c;h=0;while(true){if(!(h<g.$length)){break;}i=h;j=$clone(((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]),A.Type);if($clone(j,A.Type).IsObjectType()){e=$append(e,j);f=$append(f,i);}h++;}l=L(e,d);$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=$clone(k[0],A.Type);n=k[1];if(!$clone(m,A.Type).IsMapType()){$s=-1;return[A.NilType,AZ.nil];}o=$makeSlice(BA,c.$length);$copySlice(o,c);p=f;q=0;while(true){if(!(q<p.$length)){break;}r=((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]);A.Type.copy(((r<0||r>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+r]),m);q++;}t=G(o,d);$s=2;case 2:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=$clone(s[0],A.Type);v=s[1];if(!$clone(u,A.Type).IsMapType()){$s=-1;return[A.NilType,AZ.nil];}w=f;x=0;while(true){if(!(x<w.$length)){break;}y=[y];z=[z];aa=x;ab=((x<0||x>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+x]);y[0]=((ab<0||ab>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+ab]);z[0]=((aa<0||aa>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+aa]);if(y[0]===$throwNilPointerError){((ab<0||ab>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+ab]=z[0]);x++;continue;}((ab<0||ab>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+ab]=(function(y,z){return function $b(ac){var ac,ad,ae,af,ag,ah,ai,aj,ak,al,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=new A.Value.ptr(new A.Type.ptr($ifaceNil),$ifaceNil);ae=$ifaceNil;ag=z[0]($clone(ac,A.Value));$s=1;case 1:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;A.Value.copy(ad,af[0]);ae=af[1];if(!($interfaceIsEqual(ae,$ifaceNil))){ah=$clone(ad,A.Value);ai=ae;A.Value.copy(ad,ah);ae=ai;$s=-1;return[ad,ae];}ak=y[0]($clone(ac,A.Value));$s=2;case 2:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;A.Value.copy(ad,aj[0]);ae=aj[1];al=[ad,ae];$s=3;case 3:return al;}return;}if($f===undefined){$f={$blk:$b};}$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.$s=$s;$f.$r=$r;return $f;};})(y,z));x++;}$s=-1;return[u,v];}return;}if($f===undefined){$f={$blk:I};}$f.aa=aa;$f.ab=ab;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};J=function(c,d,e,f){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(f){$s=-1;return O(d);}g=$makeSlice(BA,0,d.$length);h=d;i=0;case 1:if(!(i<h.$length)){$s=2;continue;}j=$clone(((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]),A.Type);k=$clone(j,A.Type).ElementType();$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}g=$append(g,k);i++;$s=1;continue;case 2:m=G(g,e);$s=4;case 4:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=$clone(l[0],A.Type);if($equal(n,A.NilType,A.Type)){$s=-1;return[A.NilType,AZ.nil];}o=c($clone(n,A.Type));$s=5;case 5:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=$clone(o,A.Type);q=$makeSlice(AZ,d.$length);r=d;s=0;case 6:if(!(s<r.$length)){$s=7;continue;}t=s;u=$clone(((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]),A.Type);v=$clone(u,A.Type).Equals($clone(p,A.Type));$s=10;case 10:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}if(v){$s=8;continue;}$s=9;continue;case 8:s++;$s=6;continue;case 9:if(e){$s=11;continue;}$s=12;continue;case 11:w=S($clone(u,A.Type),$clone(p,A.Type));$s=14;case 14:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}((t<0||t>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+t]=w);$s=13;continue;case 12:x=R($clone(u,A.Type),$clone(p,A.Type));$s=15;case 15:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}((t<0||t>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+t]=x);case 13:if(((t<0||t>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+t])===$throwNilPointerError){$s=-1;return[A.NilType,AZ.nil];}s++;$s=6;continue;case 7:$s=-1;return[p,q];}return;}if($f===undefined){$f={$blk:J};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};K=function(c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(e){$s=-1;return O(c);}f=$clone((0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]),A.Type).AttributeTypes();g=$subslice(c,1);h=0;case 1:if(!(h<g.$length)){$s=2;continue;}i=$clone(((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]),A.Type);j=$clone(i,A.Type).AttributeTypes();if(!(($keys(j).length===$keys(f).length))){$s=3;continue;}$s=4;continue;case 3:k=L(c,d);$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=6;case 6:return l;case 4:m=j;n=0;o=$keys(m);case 7:if(!(n<o.length)){$s=8;continue;}p=m[o[n]];if(p===undefined){n++;$s=7;continue;}q=p.k;r=(s=f[$String.keyFor(q)],s!==undefined?[s.v,true]:[new A.Type.ptr($ifaceNil),false]);t=r[1];if(!t){$s=9;continue;}$s=10;continue;case 9:u=L(c,d);$s=11;case 11:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;$s=12;case 12:return v;case 10:n++;$s=7;continue;case 8:h++;$s=1;continue;case 2:w={};x=$makeSlice(BA,c.$length);y=f;z=0;aa=$keys(y);case 13:if(!(z<aa.length)){$s=14;continue;}ab=y[aa[z]];if(ab===undefined){z++;$s=13;continue;}ac=ab.k;ad=c;ae=0;case 15:if(!(ae<ad.$length)){$s=16;continue;}af=ae;ag=$clone(((ae<0||ae>=ad.$length)?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+ae]),A.Type);ah=$clone(ag,A.Type).AttributeType(ac);$s=17;case 17:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}A.Type.copy(((af<0||af>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+af]),ah);ae++;$s=15;continue;case 16:aj=G(x,d);$s=18;case 18:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;ak=ac;(w||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(ak)]={k:ak,v:$clone(ai[0],A.Type)};if($equal((al=w[$String.keyFor(ac)],al!==undefined?al.v:new A.Type.ptr($ifaceNil)),A.NilType,A.Type)){$s=-1;return[A.NilType,AZ.nil];}z++;$s=13;continue;case 14:am=A.Object(w);$s=19;case 19:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=$clone(am,A.Type);ao=$makeSlice(AZ,c.$length);ap=c;aq=0;case 20:if(!(aq<ap.$length)){$s=21;continue;}ar=aq;as=$clone(((aq<0||aq>=ap.$length)?($throwRuntimeError("index out of range"),undefined):ap.$array[ap.$offset+aq]),A.Type);at=$clone(as,A.Type).Equals($clone(an,A.Type));$s=24;case 24:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}if(at){$s=22;continue;}$s=23;continue;case 22:aq++;$s=20;continue;case 23:if(d){$s=25;continue;}$s=26;continue;case 25:au=S($clone(as,A.Type),$clone(an,A.Type));$s=28;case 28:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}((ar<0||ar>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+ar]=au);$s=27;continue;case 26:av=R($clone(as,A.Type),$clone(an,A.Type));$s=29;case 29:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}((ar<0||ar>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+ar]=av);case 27:if(((ar<0||ar>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+ar])===$throwNilPointerError){$s=30;continue;}$s=31;continue;case 30:aw=L(c,d);$s=32;case 32:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;$s=33;case 33:return ax;case 31:aq++;$s=20;continue;case 21:$s=-1;return[an,ao];}return;}if($f===undefined){$f={$blk:K};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};L=function(c,d){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=BA.nil;f=c;g=0;while(true){if(!(g<f.$length)){break;}h=$clone(((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]),A.Type);i=$clone(h,A.Type).AttributeTypes();j=0;k=$keys(i);while(true){if(!(j<k.length)){break;}l=i[k[j]];if(l===undefined){j++;continue;}m=$clone(l.v,A.Type);e=$append(e,m);j++;}g++;}o=G(e,d);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=$clone(n[0],A.Type);if($equal(p,A.NilType,A.Type)){$s=-1;return[A.NilType,AZ.nil];}q=$clone(A.Map($clone(p,A.Type)),A.Type);r=$makeSlice(AZ,c.$length);s=c;t=0;case 2:if(!(t<s.$length)){$s=3;continue;}u=t;v=$clone(((t<0||t>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+t]),A.Type);w=$clone(v,A.Type).Equals($clone(q,A.Type));$s=6;case 6:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}if(w){$s=4;continue;}$s=5;continue;case 4:t++;$s=2;continue;case 5:if(d){$s=7;continue;}$s=8;continue;case 7:x=S($clone(v,A.Type),$clone(q,A.Type));$s=10;case 10:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}((u<0||u>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+u]=x);$s=9;continue;case 8:y=R($clone(v,A.Type),$clone(q,A.Type));$s=11;case 11:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}((u<0||u>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+u]=y);case 9:if(((u<0||u>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+u])===$throwNilPointerError){$s=-1;return[A.NilType,AZ.nil];}t++;$s=2;continue;case 3:$s=-1;return[q,r];}return;}if($f===undefined){$f={$blk:L};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};M=function(c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,ai,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(e){$s=-1;return O(c);}f=$clone((0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]),A.Type).TupleElementTypes();g=$subslice(c,1);h=0;case 1:if(!(h<g.$length)){$s=2;continue;}i=$clone(((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]),A.Type);j=$clone(i,A.Type).TupleElementTypes();if(!((j.$length===f.$length))){$s=3;continue;}$s=4;continue;case 3:k=N(c,d);$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=6;case 6:return l;case 4:h++;$s=1;continue;case 2:m=$makeSlice(BA,f.$length);n=$makeSlice(BA,c.$length);o=f;p=0;case 7:if(!(p<o.$length)){$s=8;continue;}q=p;r=c;s=0;while(true){if(!(s<r.$length)){break;}t=s;u=$clone(((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]),A.Type);A.Type.copy(((t<0||t>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+t]),(v=$clone(u,A.Type).TupleElementTypes(),((q<0||q>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+q])));s++;}x=G(n,d);$s=9;case 9:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;A.Type.copy(((q<0||q>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+q]),w[0]);if($equal(((q<0||q>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+q]),A.NilType,A.Type)){$s=-1;return[A.NilType,AZ.nil];}p++;$s=7;continue;case 8:y=$clone(A.Tuple(m),A.Type);z=$makeSlice(AZ,c.$length);aa=c;ab=0;case 10:if(!(ab<aa.$length)){$s=11;continue;}ac=ab;ad=$clone(((ab<0||ab>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+ab]),A.Type);ae=$clone(ad,A.Type).Equals($clone(y,A.Type));$s=14;case 14:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}if(ae){$s=12;continue;}$s=13;continue;case 12:ab++;$s=10;continue;case 13:if(d){$s=15;continue;}$s=16;continue;case 15:af=S($clone(ad,A.Type),$clone(y,A.Type));$s=18;case 18:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}((ac<0||ac>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+ac]=af);$s=17;continue;case 16:ag=R($clone(ad,A.Type),$clone(y,A.Type));$s=19;case 19:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}((ac<0||ac>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+ac]=ag);case 17:if(((ac<0||ac>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+ac])===$throwNilPointerError){$s=20;continue;}$s=21;continue;case 20:ah=N(c,d);$s=22;case 22:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=23;case 23:return ai;case 21:ab++;$s=10;continue;case 11:$s=-1;return[y,z];}return;}if($f===undefined){$f={$blk:M};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};N=function(c,d){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=BA.nil;f=c;g=0;while(true){if(!(g<f.$length)){break;}h=$clone(((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]),A.Type);i=$clone(h,A.Type).TupleElementTypes();j=0;while(true){if(!(j<i.$length)){break;}k=$clone(((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]),A.Type);e=$append(e,k);j++;}g++;}m=G(e,d);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=$clone(l[0],A.Type);if($equal(n,A.NilType,A.Type)){$s=-1;return[A.NilType,AZ.nil];}o=$clone(A.List($clone(n,A.Type)),A.Type);p=$makeSlice(AZ,c.$length);q=c;r=0;case 2:if(!(r<q.$length)){$s=3;continue;}s=r;t=$clone(((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]),A.Type);u=$clone(t,A.Type).Equals($clone(o,A.Type));$s=6;case 6:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}if(u){$s=4;continue;}$s=5;continue;case 4:r++;$s=2;continue;case 5:if(d){$s=7;continue;}$s=8;continue;case 7:v=S($clone(t,A.Type),$clone(o,A.Type));$s=10;case 10:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}((s<0||s>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+s]=v);$s=9;continue;case 8:w=R($clone(t,A.Type),$clone(o,A.Type));$s=11;case 11:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}((s<0||s>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+s]=w);case 9:if(((s<0||s>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+s])===$throwNilPointerError){$s=12;continue;}$s=13;continue;case 12:x=L(c,d);$s=14;case 14:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;$s=15;case 15:return y;case 13:r++;$s=2;continue;case 3:$s=-1;return[o,p];}return;}if($f===undefined){$f={$blk:N};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};O=function(c){var c,d,e,f,g;d=$makeSlice(AZ,c.$length);e=d;f=0;while(true){if(!(f<e.$length)){break;}g=f;((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]=(function(h){var h;return[A.DynamicVal,$ifaceNil];}));f++;}return[A.DynamicPseudoType,d];};P=function(c){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=c.$length;e=$makeSlice(BC,d);f=0;case 1:if(!(f<((d-1>>0)))){$s=2;continue;}g=f+1>>0;case 3:if(!(g<d)){$s=4;continue;}h=AX($clone(((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]),A.Type),$clone(((g<0||g>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+g]),A.Type));$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;if(i<0){((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]=$append(((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]),g));}else if(i>0){((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g]=$append(((g<0||g>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+g]),f));}g=g+(1)>>0;$s=3;continue;case 4:f=f+(1)>>0;$s=1;continue;case 2:j=$makeSlice(BB,d);k=e;l=0;while(true){if(!(l<k.$length)){break;}m=((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]);n=m;o=0;while(true){if(!(o<n.$length)){break;}p=((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]);((p<0||p>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+p]=(((p<0||p>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+p])+(1)>>0));o++;}l++;}q=$makeSlice(BB,d);r=$subslice(q,0,0);s=j;t=0;while(true){if(!(t<s.$length)){break;}u=t;v=((t<0||t>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+t]);if(v===0){r=$append(r,u);}t++;}while(true){if(!(!((r.$length===0)))){break;}w=(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0]);r=$subslice(r,1);x=((w<0||w>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+w]);y=0;while(true){if(!(y<x.$length)){break;}z=((y<0||y>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+y]);((z<0||z>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+z]=(((z<0||z>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+z])-(1)>>0));if(((z<0||z>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+z])===0){r=$append(r,z);}y++;}}$s=-1;return q;}return;}if($f===undefined){$f={$blk:P};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};R=function(c,d){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=AU($clone(c,A.Type),$clone(d,A.Type),false);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=AW(e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=3;case 3:return g;}return;}if($f===undefined){$f={$blk:R};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.GetConversion=R;S=function(c,d){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=AU($clone(c,A.Type),$clone(d,A.Type),true);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=AW(e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=3;case 3:return g;}return;}if($f===undefined){$f={$blk:S};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.GetConversionUnsafe=S;T=function(c,d){var c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$clone($clone(c,A.Value).Type(),A.Type).Equals($clone(d,A.Type));$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(e){$s=1;continue;}$s=2;continue;case 1:$s=-1;return[c,$ifaceNil];case 2:f=S($clone($clone(c,A.Value).Type(),A.Type),$clone(d,A.Type));$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(g===$throwNilPointerError){$s=5;continue;}$s=6;continue;case 5:h=W($clone($clone(c,A.Value).Type(),A.Type),$clone(d,A.Type));$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=B.New(h);$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=[A.NilVal,i];$s=9;case 9:return j;case 6:k=g($clone(c,A.Value));$s=10;case 10:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=11;case 11:return l;}return;}if($f===undefined){$f={$blk:T};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Convert=T;V=function(c){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=G(c,true);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:V};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.UnifyUnsafe=V;W=function(c,d){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($clone(c,A.Type).IsObjectType()&&$clone(d,A.Type).IsObjectType()){$s=2;continue;}if(!($clone(c,A.Type).IsTupleType()&&$clone(d,A.Type).IsListType())){e=false;$s=10;continue s;}f=$clone(d,A.Type).ElementType();$s=11;case 11:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$equal(f,A.DynamicPseudoType,A.Type);case 10:if(e){$s=3;continue;}if(!($clone(c,A.Type).IsTupleType()&&$clone(d,A.Type).IsSetType())){g=false;$s=12;continue s;}h=$clone(d,A.Type).ElementType();$s=13;case 13:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=$equal(h,A.DynamicPseudoType,A.Type);case 12:if(g){$s=4;continue;}if(!($clone(c,A.Type).IsObjectType()&&$clone(d,A.Type).IsMapType())){i=false;$s=14;continue s;}j=$clone(d,A.Type).ElementType();$s=15;case 15:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=$equal(j,A.DynamicPseudoType,A.Type);case 14:if(i){$s=5;continue;}if(($clone(c,A.Type).IsTupleType()||$clone(c,A.Type).IsObjectType())&&$clone(d,A.Type).IsCollectionType()){$s=6;continue;}if($clone(c,A.Type).IsCollectionType()&&$clone(d,A.Type).IsCollectionType()){$s=7;continue;}$s=8;continue;case 2:k=X($clone(c,A.Type),$clone(d,A.Type));$s=16;case 16:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=17;case 17:return l;case 3:$s=-1;return"all list elements must have the same type";case 4:$s=-1;return"all set elements must have the same type";case 5:$s=-1;return"all map elements must have the same type";case 6:m=Y($clone(c,A.Type),$clone(d,A.Type));$s=18;case 18:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=19;case 19:return n;case 7:o=Z($clone(c,A.Type),$clone(d,A.Type));$s=20;case 20:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;$s=21;case 21:return p;case 8:q=$clone(d,A.Type).FriendlyNameForConstraint();$s=22;case 22:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q+" required";$s=23;case 23:return r;case 9:case 1:$s=-1;return"";}return;}if($f===undefined){$f={$blk:W};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};$pkg.MismatchMessage=W;X=function(c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=[e];f=$clone(c,A.Type).AttributeTypes();g=$clone(d,A.Type).AttributeTypes();h=BD.nil;i="";j="";k=g;l=0;m=$keys(k);case 1:if(!(l<m.length)){$s=2;continue;}n=k[m[l]];if(n===undefined){l++;$s=1;continue;}o=n.k;p=$clone(n.v,A.Type);q=(r=f[$String.keyFor(o)],r!==undefined?[r.v,true]:[new A.Type.ptr($ifaceNil),false]);s=$clone(q[0],A.Type);t=q[1];if(!t){$s=3;continue;}$s=4;continue;case 3:u=$clone(d,A.Type).AttributeOptional(o);$s=7;case 7:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}if(!u){$s=5;continue;}$s=6;continue;case 5:h=$append(h,o);case 6:l++;$s=1;continue;case 4:v=$clone(s,A.Type).Equals($clone(p,A.Type));$s=10;case 10:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}if(v){$s=8;continue;}$s=9;continue;case 8:l++;$s=1;continue;case 9:if(!(i==="")){l++;$s=1;continue;}w=S($clone(s,A.Type),$clone(p,A.Type));$s=11;case 11:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;if(x===$throwNilPointerError){$s=12;continue;}$s=13;continue;case 12:y=new $String(o);z=W($clone(s,A.Type),$clone(p,A.Type));$s=14;case 14:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=new $String(z);ab=D.Sprintf("attribute %q: %s",new AY([y,aa]));$s=15;case 15:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}i=ab;case 13:if(!(j==="")){l++;$s=1;continue;}ac=R($clone(s,A.Type),$clone(p,A.Type));$s=16;case 16:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;if(ad===$throwNilPointerError){$s=17;continue;}$s=18;continue;case 17:ae=new $String(o);af=W($clone(s,A.Type),$clone(p,A.Type));$s=19;case 19:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=new $String(af);ah=D.Sprintf("attribute %q: %s",new AY([ae,ag]));$s=20;case 20:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}j=ah;case 18:l++;$s=1;continue;case 2:if(!((h.$length===0))){$s=22;continue;}if(!(i==="")){$s=23;continue;}if(!(j==="")){$s=24;continue;}$s=25;continue;case 22:$r=E.Strings(h);$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ai=h.$length;if(ai===(1)){$s=29;continue;}if(ai===(2)){$s=30;continue;}$s=31;continue;case 29:aj=D.Sprintf("attribute %q is required",new AY([new $String((0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))]));$s=33;case 33:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj;$s=34;case 34:return ak;case 30:al=D.Sprintf("attributes %q and %q are required",new AY([new $String((0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0])),new $String((1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1]))]));$s=35;case 35:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;$s=36;case 36:return am;case 31:$r=E.Strings(h);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e[0]=new C.Buffer.ptr(BE.nil,0,0);an=$subslice(h,0,(h.$length-1>>0));ao=0;case 38:if(!(ao<an.$length)){$s=39;continue;}ap=((ao<0||ao>=an.$length)?($throwRuntimeError("index out of range"),undefined):an.$array[an.$offset+ao]);aq=D.Fprintf(e[0],"%q, ",new AY([new $String(ap)]));$s=40;case 40:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}aq;ao++;$s=38;continue;case 39:as=D.Fprintf(e[0],"and %q",new AY([new $String((ar=h.$length-1>>0,((ar<0||ar>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+ar])))]));$s=41;case 41:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}as;at=D.Sprintf("attributes %s are required",new AY([e[0].Bytes()]));$s=42;case 42:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;$s=43;case 43:return au;case 32:case 28:$s=26;continue;case 23:$s=-1;return i;case 24:$s=-1;return j;case 25:$s=-1;return"incorrect object attributes";case 26:case 21:$s=-1;return"";}return;}if($f===undefined){$f={$blk:X};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Y=function(c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($clone(d,A.Type).IsListType()&&!$clone(c,A.Type).IsTupleType()){$s=2;continue;}if($clone(d,A.Type).IsSetType()&&!$clone(c,A.Type).IsTupleType()){$s=3;continue;}if($clone(d,A.Type).IsMapType()&&!$clone(c,A.Type).IsObjectType()){$s=4;continue;}$s=5;continue;case 2:e=$clone(d,A.Type).FriendlyNameForConstraint();$s=6;case 6:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e+" required";$s=7;case 7:return f;case 3:g=$clone(d,A.Type).FriendlyNameForConstraint();$s=8;case 8:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g+" required";$s=9;case 9:return h;case 4:i=$clone(d,A.Type).FriendlyNameForConstraint();$s=10;case 10:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i+" required";$s=11;case 11:return j;case 5:case 1:k=$clone(d,A.Type).ElementType();$s=12;case 12:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,A.Type);if($clone(c,A.Type).IsTupleType()){$s=14;continue;}if($clone(c,A.Type).IsObjectType()){$s=15;continue;}$s=16;continue;case 14:m=$clone(c,A.Type).TupleElementTypes();n=0;case 18:if(!(n<m.$length)){$s=19;continue;}o=n;p=$clone(((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]),A.Type);q=$clone(p,A.Type).Equals($clone(l,A.Type));$s=22;case 22:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}if(q){$s=20;continue;}$s=21;continue;case 20:n++;$s=18;continue;case 21:r=AU($clone(p,A.Type),$clone(l,A.Type),true);$s=23;case 23:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;if(!(s===$throwNilPointerError)){n++;$s=18;continue;}t=new $Int(o);u=W($clone(p,A.Type),$clone(l,A.Type));$s=24;case 24:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=new $String(u);w=D.Sprintf("element %d: %s",new AY([t,v]));$s=25;case 25:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;$s=26;case 26:return x;case 19:y=$clone(l,A.Type).FriendlyNameForConstraint();$s=27;case 27:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=new $String(y);aa=D.Sprintf("all elements must be %s",new AY([z]));$s=28;case 28:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;$s=29;case 29:return ab;case 15:ac=$clone(c,A.Type).AttributeTypes();ad=0;ae=$keys(ac);case 30:if(!(ad<ae.length)){$s=31;continue;}af=ac[ae[ad]];if(af===undefined){ad++;$s=30;continue;}ag=af.k;ah=$clone(af.v,A.Type);ai=$clone(ah,A.Type).Equals($clone(l,A.Type));$s=34;case 34:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}if(ai){$s=32;continue;}$s=33;continue;case 32:ad++;$s=30;continue;case 33:aj=AU($clone(ah,A.Type),$clone(l,A.Type),true);$s=35;case 35:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj;if(!(ak===$throwNilPointerError)){ad++;$s=30;continue;}al=new $String(ag);am=W($clone(ah,A.Type),$clone(l,A.Type));$s=36;case 36:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=new $String(am);ao=D.Sprintf("element %q: %s",new AY([al,an]));$s=37;case 37:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=ao;$s=38;case 38:return ap;case 31:aq=$clone(l,A.Type).FriendlyNameForConstraint();$s=39;case 39:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=new $String(aq);as=D.Sprintf("all elements must be %s",new AY([ar]));$s=40;case 40:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;$s=41;case 41:return at;case 16:au=$clone(d,A.Type).FriendlyNameForConstraint();$s=42;case 42:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au+" required";$s=43;case 43:return av;case 17:case 13:$s=-1;return"";}return;}if($f===undefined){$f={$blk:Y};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Z=function(c,d){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($clone(d,A.Type).IsListType()&&!($clone(c,A.Type).IsListType()||$clone(c,A.Type).IsSetType())){$s=2;continue;}if($clone(d,A.Type).IsSetType()&&!($clone(c,A.Type).IsListType()||$clone(c,A.Type).IsSetType())){$s=3;continue;}if($clone(d,A.Type).IsMapType()&&!$clone(c,A.Type).IsMapType()){$s=4;continue;}$s=5;continue;case 2:e=$clone(d,A.Type).FriendlyNameForConstraint();$s=6;case 6:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e+" required";$s=7;case 7:return f;case 3:g=$clone(d,A.Type).FriendlyNameForConstraint();$s=8;case 8:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g+" required";$s=9;case 9:return h;case 4:i=$clone(d,A.Type).FriendlyNameForConstraint();$s=10;case 10:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i+" required";$s=11;case 11:return j;case 5:case 1:k=$clone(c,A.Type).ElementType();$s=12;case 12:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,A.Type);m=$clone(d,A.Type).ElementType();$s=13;case 13:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=$clone(m,A.Type);o="element type";if($clone(d,A.Type).IsListType()){o="list element type";}else if($clone(d,A.Type).IsSetType()){o="set element type";}else if($clone(d,A.Type).IsMapType()){o="map element type";}p=new $String(o);q=W($clone(l,A.Type),$clone(n,A.Type));$s=14;case 14:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=new $String(q);s=D.Sprintf("incorrect %s: %s",new AY([p,r]));$s=15;case 15:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;$s=16;case 16:return t;}return;}if($f===undefined){$f={$blk:Z};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};AA=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=[f];g=$clone(c,A.Type).TupleElementTypes();h=$clone(d,A.Type).TupleElementTypes();if(!((g.$length===h.$length))){$s=-1;return $throwNilPointerError;}f[0]=$makeSlice(BF,g.$length);i=h;j=0;case 1:if(!(j<i.$length)){$s=2;continue;}k=j;l=$clone(((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]),A.Type);m=$clone(((k<0||k>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+k]),A.Type);n=$clone(m,A.Type).Equals($clone(l,A.Type));$s=5;case 5:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(n){$s=3;continue;}$s=4;continue;case 3:j++;$s=1;continue;case 4:o=AU($clone(m,A.Type),$clone(l,A.Type),e);$s=6;case 6:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}((k<0||k>=f[0].$length)?($throwRuntimeError("index out of range"),undefined):f[0].$array[f[0].$offset+k]=o);if(((k<0||k>=f[0].$length)?($throwRuntimeError("index out of range"),undefined):f[0].$array[f[0].$offset+k])===$throwNilPointerError){$s=-1;return $throwNilPointerError;}j++;$s=1;continue;case 2:$s=-1;return(function(f){return function $b(p,q){var aa,ab,ac,ad,ae,af,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:r=$makeSlice(BG,f[0].$length);q=$append(q,$ifaceNil);s=$indexPtr(q.$array,q.$offset+(q.$length-1>>0),BH);t=0;u=$clone(p,A.Value).ElementIterator();$s=1;case 1:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;case 2:w=v.Next();$s=4;case 4:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}if(!(w)){$s=3;continue;}y=v.Element();$s=5;case 5:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;z=$clone(x[1],A.Value);aa=$ifaceNil;ac=A.NumberIntVal((new $Int64(0,t)));$s=6;case 6:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}s.$set((ab=new A.IndexStep.ptr(new A.pathStepImpl.ptr(),$clone(ac,A.Value)),new ab.constructor.elem(ab)));ad=((t<0||t>=f[0].$length)?($throwRuntimeError("index out of range"),undefined):f[0].$array[f[0].$offset+t]);if(!(ad===$throwNilPointerError)){$s=7;continue;}$s=8;continue;case 7:af=ad($clone(z,A.Value),q);$s=9;case 9:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;A.Value.copy(z,ae[0]);aa=ae[1];if(!($interfaceIsEqual(aa,$ifaceNil))){$s=-1;return[A.NilVal,aa];}case 8:A.Value.copy(((t<0||t>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+t]),z);t=t+(1)>>0;$s=2;continue;case 3:$s=-1;return[A.TupleVal(r),$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};})(f);}return;}if($f===undefined){$f={$blk:AA};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};AF=function(c,d,e){var aa,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=[f];g=[g];h=[h];i=$clone(c,A.Type).AttributeTypes();g[0]=$clone(d,A.Type).AttributeTypes();h[0]=$clone(d,A.Type).OptionalAttributes();f[0]={};j=g[0];k=0;l=$keys(j);case 1:if(!(k<l.length)){$s=2;continue;}m=j[l[k]];if(m===undefined){k++;$s=1;continue;}n=m.k;o=$clone(m.v,A.Type);p=(q=i[$String.keyFor(n)],q!==undefined?[q.v,true]:[new A.Type.ptr($ifaceNil),false]);r=$clone(p[0],A.Type);s=p[1];if(!s){t=(u=h[0][$String.keyFor(n)],u!==undefined?[u.v,true]:[new BI.ptr(),false]);v=t[1];if(v){k++;$s=1;continue;}$s=-1;return $throwNilPointerError;}w=$clone(r,A.Type).Equals($clone(o,A.Type));$s=5;case 5:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}if(w){$s=3;continue;}$s=4;continue;case 3:x=n;(f[0]||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(x)]={k:x,v:$throwNilPointerError};k++;$s=1;continue;case 4:z=AU($clone(r,A.Type),$clone(o,A.Type),e);$s=6;case 6:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=n;(f[0]||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(y)]={k:y,v:z};if((aa=f[0][$String.keyFor(n)],aa!==undefined?aa.v:$throwNilPointerError)===$throwNilPointerError){$s=-1;return $throwNilPointerError;}k++;$s=1;continue;case 2:$s=-1;return(function(f,g,h){return function $b(ab,ac){var ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ae=(ad=$keys(f[0]).length,((ad<0||ad>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));ac=$append(ac,$ifaceNil);af=$indexPtr(ac.$array,ac.$offset+(ac.$length-1>>0),BH);ag=$clone(ab,A.Value).ElementIterator();$s=1;case 1:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=ag;case 2:ai=ah.Next();$s=4;case 4:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}if(!(ai)){$s=3;continue;}ak=ah.Element();$s=5;case 5:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;al=$clone(aj[0],A.Value);am=$clone(aj[1],A.Value);an=$ifaceNil;ao=$clone(al,A.Value).AsString();af.$set((ap=new A.GetAttrStep.ptr(new A.pathStepImpl.ptr(),ao),new ap.constructor.elem(ap)));aq=(ar=f[0][$String.keyFor(ao)],ar!==undefined?[ar.v,true]:[$throwNilPointerError,false]);as=aq[0];at=aq[1];if(!at){$s=2;continue;}if(!(as===$throwNilPointerError)){$s=6;continue;}$s=7;continue;case 6:av=as($clone(am,A.Value),ac);$s=8;case 8:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}au=av;A.Value.copy(am,au[0]);an=au[1];if(!($interfaceIsEqual(an,$ifaceNil))){$s=-1;return[A.NilVal,an];}case 7:aw=ao;(ae||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(aw)]={k:aw,v:$clone(am,A.Value)};$s=2;continue;case 3:ax=h[0];ay=0;az=$keys(ax);while(true){if(!(ay<az.length)){break;}ba=ax[az[ay]];if(ba===undefined){ay++;continue;}bb=ba.k;bc=(bd=ae[$String.keyFor(bb)],bd!==undefined?[bd.v,true]:[new A.Value.ptr(new A.Type.ptr($ifaceNil),$ifaceNil),false]);be=bc[1];if(!be){bg=$clone((bf=g[0][$String.keyFor(bb)],bf!==undefined?bf.v:new A.Type.ptr($ifaceNil)),A.Type);bh=bb;(ae||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(bh)]={k:bh,v:$clone(A.NullVal($clone(bg,A.Type)),A.Value)};}ay++;}bi=A.ObjectVal(ae);$s=9;case 9:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}bj=[bi,$ifaceNil];$s=10;case 10:return bj;}return;}if($f===undefined){$f={$blk:$b};}$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.$s=$s;$f.$r=$r;return $f;};})(f,g,h);}return;}if($f===undefined){$f={$blk:AF};}$f.aa=aa;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AG=function(c){var c;return(function $b(d,e){var d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=T($clone(d,A.Value),$clone(c,A.Type));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=$clone(f[0],A.Value);i=f[1];if(!($interfaceIsEqual(i,$ifaceNil))){$s=-1;return[A.NilVal,e.NewError(i)];}$s=-1;return[h,$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;});};AH=function(c,d){var c,d;return[c,$ifaceNil];};AI=function(c,d){var c,d;return(function $b(e,f){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=$clone(e,A.Value).Length();$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=$clone(g,A.Value).IsKnown();$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(!h){$s=1;continue;}$s=2;continue;case 1:i=$clone($clone(e,A.Value).Type(),A.Type).ElementType();$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=A.List($clone(i,A.Type));$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=A.UnknownVal($clone(j,A.Type));$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=[k,$ifaceNil];$s=8;case 8:return l;case 2:m=$makeSlice(BG,0,$clone(e,A.Value).LengthInt());n=new $Int64(0,0);o=$append(f.Copy(),$ifaceNil);p=$clone(e,A.Value).ElementIterator();$s=9;case 9:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;case 10:r=q.Next();$s=12;case 12:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(!(r)){$s=11;continue;}t=q.Element();$s=13;case 13:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=$clone(s[1],A.Value);v=$ifaceNil;x=A.NumberIntVal(n);$s=14;case 14:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}(y=o.$length-1>>0,((y<0||y>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+y]=(w=new A.IndexStep.ptr(new A.pathStepImpl.ptr(),$clone(x,A.Value)),new w.constructor.elem(w))));if(!(d===$throwNilPointerError)){$s=15;continue;}$s=16;continue;case 15:aa=d($clone(u,A.Value),o);$s=17;case 17:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;A.Value.copy(u,z[0]);v=z[1];if(!($interfaceIsEqual(v,$ifaceNil))){$s=-1;return[A.NilVal,v];}case 16:m=$append(m,u);n=(ab=new $Int64(0,1),new $Int64(n.$high+ab.$high,n.$low+ab.$low));$s=10;continue;case 11:if(m.$length===0){$s=18;continue;}$s=19;continue;case 18:if($equal(c,A.DynamicPseudoType,A.Type)){$s=20;continue;}$s=21;continue;case 20:ac=$clone($clone(e,A.Value).Type(),A.Type).ElementType();$s=22;case 22:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=A.ListValEmpty($clone(ac,A.Type));$s=23;case 23:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=[ad,$ifaceNil];$s=24;case 24:return ae;case 21:$s=-1;return[A.ListValEmpty($clone(c,A.Type)),$ifaceNil];case 19:af=A.CanListVal(m);$s=27;case 27:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}if(!af){$s=25;continue;}$s=26;continue;case 25:ag=f.NewErrorf("element types must all match for conversion to list",new AY([]));$s=28;case 28:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=[A.NilVal,ag];$s=29;case 29:return ah;case 26:ai=A.ListVal(m);$s=30;case 30:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=[ai,$ifaceNil];$s=31;case 31:return aj;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;});};AJ=function(c,d){var c,d;return(function $b(e,f){var aa,ab,ac,ad,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=$makeSlice(BG,0,$clone(e,A.Value).LengthInt());h=new $Int64(0,0);i=$append(f.Copy(),$ifaceNil);j=$clone(e,A.Value).ElementIterator();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;case 2:l=k.Next();$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(!(l)){$s=3;continue;}n=k.Element();$s=5;case 5:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=$clone(m[1],A.Value);p=$ifaceNil;r=A.NumberIntVal(h);$s=6;case 6:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}(s=i.$length-1>>0,((s<0||s>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+s]=(q=new A.IndexStep.ptr(new A.pathStepImpl.ptr(),$clone(r,A.Value)),new q.constructor.elem(q))));if(!(d===$throwNilPointerError)){$s=7;continue;}$s=8;continue;case 7:u=d($clone(o,A.Value),i);$s=9;case 9:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;A.Value.copy(o,t[0]);p=t[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return[A.NilVal,p];}case 8:g=$append(g,o);h=(v=new $Int64(0,1),new $Int64(h.$high+v.$high,h.$low+v.$low));$s=2;continue;case 3:if(g.$length===0){$s=10;continue;}$s=11;continue;case 10:if($equal(c,A.DynamicPseudoType,A.Type)){$s=12;continue;}$s=13;continue;case 12:w=$clone($clone(e,A.Value).Type(),A.Type).ElementType();$s=14;case 14:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=A.SetValEmpty($clone(w,A.Type));$s=15;case 15:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=[x,$ifaceNil];$s=16;case 16:return y;case 13:$s=-1;return[A.SetValEmpty($clone(c,A.Type)),$ifaceNil];case 11:z=A.CanSetVal(g);$s=19;case 19:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}if(!z){$s=17;continue;}$s=18;continue;case 17:aa=f.NewErrorf("element types must all match for conversion to set",new AY([]));$s=20;case 20:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=[A.NilVal,aa];$s=21;case 21:return ab;case 18:ac=A.SetVal(g);$s=22;case 22:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=[ac,$ifaceNil];$s=23;case 23:return ad;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;});};AK=function(c,d){var c,d;return(function $b(e,f){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g={};h=$append(f.Copy(),$ifaceNil);i=$clone(e,A.Value).ElementIterator();$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;case 2:k=j.Next();$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(!(k)){$s=3;continue;}m=j.Element();$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=$clone(l[0],A.Value);o=$clone(l[1],A.Value);p=$ifaceNil;(r=h.$length-1>>0,((r<0||r>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+r]=(q=new A.IndexStep.ptr(new A.pathStepImpl.ptr(),$clone(n,A.Value)),new q.constructor.elem(q))));t=T($clone(n,A.Value),$clone(A.String,A.Type));$s=6;case 6:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=$clone(s[0],A.Value);p=s[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=7;continue;}$s=8;continue;case 7:v=$clone($clone(n,A.Value).Type(),A.Type).FriendlyName();$s=9;case 9:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=new $String(v);x=h.NewErrorf("cannot convert key type %s to string for map",new AY([w]));$s=10;case 10:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=[A.DynamicVal,x];$s=11;case 11:return y;case 8:if(!(d===$throwNilPointerError)){$s=12;continue;}$s=13;continue;case 12:aa=d($clone(o,A.Value),h);$s=14;case 14:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;A.Value.copy(o,z[0]);p=z[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return[A.NilVal,p];}case 13:ab=$clone(u,A.Value).AsString();(g||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(ab)]={k:ab,v:$clone(o,A.Value)};$s=2;continue;case 3:if($keys(g).length===0){$s=15;continue;}$s=16;continue;case 15:if($equal(c,A.DynamicPseudoType,A.Type)){$s=17;continue;}$s=18;continue;case 17:ac=$clone($clone(e,A.Value).Type(),A.Type).ElementType();$s=19;case 19:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=A.MapValEmpty($clone(ac,A.Type));$s=20;case 20:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=[ad,$ifaceNil];$s=21;case 21:return ae;case 18:$s=-1;return[A.MapValEmpty($clone(c,A.Type)),$ifaceNil];case 16:if($clone(c,A.Type).IsCollectionType()||$clone(c,A.Type).IsObjectType()){$s=22;continue;}$s=23;continue;case 22:af=$ifaceNil;ah=AP(g,f,false);$s=24;case 24:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;g=ag[0];af=ag[1];if(!($interfaceIsEqual(af,$ifaceNil))){$s=-1;return[A.NilVal,af];}case 23:ai=A.CanMapVal(g);$s=27;case 27:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}if(!ai){$s=25;continue;}$s=26;continue;case 25:aj=f.NewErrorf("element types must all match for conversion to map",new AY([]));$s=28;case 28:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=[A.NilVal,aj];$s=29;case 29:return ak;case 26:al=A.MapVal(g);$s=30;case 30:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=[al,$ifaceNil];$s=31;case 31:return am;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;});};AL=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];f=[f];g=$clone(c,A.Type).TupleElementTypes();if(g.$length===0){$s=1;continue;}$s=2;continue;case 1:$s=-1;return(function(d,f){return function(h,i){var h,i;return[A.SetValEmpty($clone(d[0],A.Type)),$ifaceNil];};})(d,f);case 2:if($equal(d[0],A.DynamicPseudoType,A.Type)){$s=3;continue;}$s=4;continue;case 3:i=G(g,e);$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;A.Type.copy(d[0],h[0]);if($equal(d[0],A.NilType,A.Type)){$s=-1;return $throwNilPointerError;}if($equal(d[0],A.DynamicPseudoType,A.Type)){$s=6;continue;}$s=7;continue;case 6:j=g;k=0;case 8:if(!(k<j.$length)){$s=9;continue;}l=$clone(((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]),A.Type);m=$clone(l,A.Type).Equals($clone(A.DynamicPseudoType,A.Type));$s=12;case 12:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(!m){$s=10;continue;}$s=11;continue;case 10:$s=-1;return $throwNilPointerError;case 11:k++;$s=8;continue;case 9:case 7:case 4:f[0]=$makeSlice(BF,g.$length);n=g;o=0;case 13:if(!(o<n.$length)){$s=14;continue;}p=o;q=$clone(((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]),A.Type);r=$clone(q,A.Type).Equals($clone(d[0],A.Type));$s=17;case 17:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(r){$s=15;continue;}$s=16;continue;case 15:o++;$s=13;continue;case 16:s=AU($clone(q,A.Type),$clone(d[0],A.Type),e);$s=18;case 18:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}((p<0||p>=f[0].$length)?($throwRuntimeError("index out of range"),undefined):f[0].$array[f[0].$offset+p]=s);if(((p<0||p>=f[0].$length)?($throwRuntimeError("index out of range"),undefined):f[0].$array[f[0].$offset+p])===$throwNilPointerError){$s=-1;return $throwNilPointerError;}o++;$s=13;continue;case 14:$s=-1;return(function(d,f){return function $b(t,u){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:v=$makeSlice(BG,0,f[0].$length);w=$append(u.Copy(),$ifaceNil);x=new $Int64(0,0);y=$clone(t,A.Value).ElementIterator();$s=1;case 1:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;case 2:aa=z.Next();$s=4;case 4:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}if(!(aa)){$s=3;continue;}ac=z.Element();$s=5;case 5:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=$clone(ab[1],A.Value);ae=$ifaceNil;ag=A.NumberIntVal(x);$s=6;case 6:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}(ah=w.$length-1>>0,((ah<0||ah>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+ah]=(af=new A.IndexStep.ptr(new A.pathStepImpl.ptr(),$clone(ag,A.Value)),new af.constructor.elem(af))));ai=(($flatten64(x)<0||$flatten64(x)>=f[0].$length)?($throwRuntimeError("index out of range"),undefined):f[0].$array[f[0].$offset+$flatten64(x)]);if(!(ai===$throwNilPointerError)){$s=7;continue;}$s=8;continue;case 7:ak=ai($clone(ad,A.Value),w);$s=9;case 9:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;A.Value.copy(ad,aj[0]);ae=aj[1];if(!($interfaceIsEqual(ae,$ifaceNil))){$s=-1;return[A.NilVal,ae];}case 8:v=$append(v,ad);x=(al=new $Int64(0,1),new $Int64(x.$high+al.$high,x.$low+al.$low));$s=2;continue;case 3:am=A.CanSetVal(v);$s=12;case 12:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}if(!am){$s=10;continue;}$s=11;continue;case 10:an=u.NewErrorf("element types must all match for conversion to set",new AY([]));$s=13;case 13:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=[A.NilVal,an];$s=14;case 14:return ao;case 11:ap=A.SetVal(v);$s=15;case 15:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=[ap,$ifaceNil];$s=16;case 16:return aq;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};})(d,f);}return;}if($f===undefined){$f={$blk:AL};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};AM=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=[f];g=$clone(c,A.Type).TupleElementTypes();if(g.$length===0){$s=1;continue;}$s=2;continue;case 1:$s=-1;return(function(d,e,f){return function(h,i){var h,i;return[A.ListValEmpty($clone(d[0],A.Type)),$ifaceNil];};})(d,e,f);case 2:if($equal(d[0],A.DynamicPseudoType,A.Type)){$s=3;continue;}$s=4;continue;case 3:i=G(g,e[0]);$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;A.Type.copy(d[0],h[0]);if($equal(d[0],A.NilType,A.Type)){$s=-1;return $throwNilPointerError;}if($equal(d[0],A.DynamicPseudoType,A.Type)){$s=6;continue;}$s=7;continue;case 6:j=g;k=0;case 8:if(!(k<j.$length)){$s=9;continue;}l=$clone(((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]),A.Type);m=$clone(l,A.Type).Equals($clone(A.DynamicPseudoType,A.Type));$s=12;case 12:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(!m){$s=10;continue;}$s=11;continue;case 10:$s=-1;return $throwNilPointerError;case 11:k++;$s=8;continue;case 9:case 7:case 4:f[0]=$makeSlice(BF,g.$length);n=g;o=0;case 13:if(!(o<n.$length)){$s=14;continue;}p=o;q=$clone(((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]),A.Type);r=$clone(q,A.Type).Equals($clone(d[0],A.Type));$s=17;case 17:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(r){$s=15;continue;}$s=16;continue;case 15:o++;$s=13;continue;case 16:s=AU($clone(q,A.Type),$clone(d[0],A.Type),e[0]);$s=18;case 18:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}((p<0||p>=f[0].$length)?($throwRuntimeError("index out of range"),undefined):f[0].$array[f[0].$offset+p]=s);if(((p<0||p>=f[0].$length)?($throwRuntimeError("index out of range"),undefined):f[0].$array[f[0].$offset+p])===$throwNilPointerError){$s=-1;return $throwNilPointerError;}o++;$s=13;continue;case 14:$s=-1;return(function(d,e,f){return function $b(t,u){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:v=$makeSlice(BG,0,f[0].$length);w=$makeSlice(BA,0,v.$length);x=$append(u.Copy(),$ifaceNil);y=new $Int64(0,0);z=$clone(t,A.Value).ElementIterator();$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;case 2:ab=aa.Next();$s=4;case 4:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}if(!(ab)){$s=3;continue;}ad=aa.Element();$s=5;case 5:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;ae=$clone(ac[1],A.Value);af=$ifaceNil;ah=A.NumberIntVal(y);$s=6;case 6:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}(ai=x.$length-1>>0,((ai<0||ai>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+ai]=(ag=new A.IndexStep.ptr(new A.pathStepImpl.ptr(),$clone(ah,A.Value)),new ag.constructor.elem(ag))));aj=(($flatten64(y)<0||$flatten64(y)>=f[0].$length)?($throwRuntimeError("index out of range"),undefined):f[0].$array[f[0].$offset+$flatten64(y)]);if(!(aj===$throwNilPointerError)){$s=7;continue;}$s=8;continue;case 7:al=aj($clone(ae,A.Value),x);$s=9;case 9:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ak=al;A.Value.copy(ae,ak[0]);af=ak[1];if(!($interfaceIsEqual(af,$ifaceNil))){$s=-1;return[A.NilVal,af];}case 8:v=$append(v,ae);w=$append(w,$clone(ae,A.Value).Type());y=(am=new $Int64(0,1),new $Int64(y.$high+am.$high,y.$low+am.$low));$s=2;continue;case 3:ao=AQ(v,x,e[0]);$s=10;case 10:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}an=ao;v=an[0];ap=an[1];if(!($interfaceIsEqual(ap,$ifaceNil))){$s=-1;return[A.NilVal,ap];}aq=A.CanListVal(v);$s=13;case 13:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}if(!aq){$s=11;continue;}$s=12;continue;case 11:ar=u.NewErrorf("element types must all match for conversion to list",new AY([]));$s=14;case 14:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=[A.NilVal,ar];$s=15;case 15:return as;case 12:at=A.ListVal(v);$s=16;case 16:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=[at,$ifaceNil];$s=17;case 17:return au;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};})(d,e,f);}return;}if($f===undefined){$f={$blk:AM};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};AN=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=[f];g=$clone(c,A.Type).AttributeTypes();if($keys(g).length===0){$s=1;continue;}$s=2;continue;case 1:$s=-1;return(function(d,e,f){return function(h,i){var h,i;return[A.MapValEmpty($clone(d[0],A.Type)),$ifaceNil];};})(d,e,f);case 2:if($equal(d[0],A.DynamicPseudoType,A.Type)){$s=3;continue;}$s=4;continue;case 3:h=$makeSlice(BA,0,$keys(g).length);i=g;j=0;k=$keys(i);while(true){if(!(j<k.length)){break;}l=i[k[j]];if(l===undefined){j++;continue;}m=$clone(l.v,A.Type);h=$append(h,m);j++;}o=G(h,e[0]);$s=5;case 5:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;A.Type.copy(d[0],n[0]);if($equal(d[0],A.NilType,A.Type)){$s=-1;return $throwNilPointerError;}case 4:f[0]=(p=$keys(g).length,((p<0||p>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));q=g;r=0;s=$keys(q);case 6:if(!(r<s.length)){$s=7;continue;}t=q[s[r]];if(t===undefined){r++;$s=6;continue;}u=t.k;v=$clone(t.v,A.Type);w=$clone(v,A.Type).Equals($clone(d[0],A.Type));$s=10;case 10:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}if(w){$s=8;continue;}$s=9;continue;case 8:r++;$s=6;continue;case 9:y=AU($clone(v,A.Type),$clone(d[0],A.Type),e[0]);$s=11;case 11:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=u;(f[0]||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(x)]={k:x,v:y};if((z=f[0][$String.keyFor(u)],z!==undefined?z.v:$throwNilPointerError)===$throwNilPointerError){$s=-1;return $throwNilPointerError;}r++;$s=6;continue;case 7:$s=-1;return(function(d,e,f){return function $b(aa,ab){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ad=(ac=$keys(f[0]).length,((ac<0||ac>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));ae=$append(ab.Copy(),$ifaceNil);af=$clone(aa,A.Value).ElementIterator();$s=1;case 1:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;case 2:ah=ag.Next();$s=4;case 4:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}if(!(ah)){$s=3;continue;}aj=ag.Element();$s=5;case 5:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;ak=$clone(ai[0],A.Value);al=$clone(ai[1],A.Value);am=$ifaceNil;(ao=ae.$length-1>>0,((ao<0||ao>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+ao]=(an=new A.IndexStep.ptr(new A.pathStepImpl.ptr(),$clone(ak,A.Value)),new an.constructor.elem(an))));aq=(ap=f[0][$String.keyFor($clone(ak,A.Value).AsString())],ap!==undefined?ap.v:$throwNilPointerError);if(!(aq===$throwNilPointerError)){$s=6;continue;}$s=7;continue;case 6:as=aq($clone(al,A.Value),ae);$s=8;case 8:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as;A.Value.copy(al,ar[0]);am=ar[1];if(!($interfaceIsEqual(am,$ifaceNil))){$s=-1;return[A.NilVal,am];}case 7:at=$clone(ak,A.Value).AsString();(ad||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(at)]={k:at,v:$clone(al,A.Value)};$s=2;continue;case 3:if($clone(d[0],A.Type).IsCollectionType()||$clone(d[0],A.Type).IsObjectType()){$s=9;continue;}$s=10;continue;case 9:au=$ifaceNil;aw=AP(ad,ab,e[0]);$s=11;case 11:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}av=aw;ad=av[0];au=av[1];if(!($interfaceIsEqual(au,$ifaceNil))){$s=-1;return[A.NilVal,au];}case 10:ax=A.CanMapVal(ad);$s=14;case 14:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}if(!ax){$s=12;continue;}$s=13;continue;case 12:ay=ab.NewErrorf("attribute types must all match for conversion to map",new AY([]));$s=15;case 15:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=[A.NilVal,ay];$s=16;case 16:return az;case 13:ba=A.MapVal(ad);$s=17;case 17:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=[ba,$ifaceNil];$s=18;case 18:return bb;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.$s=$s;$f.$r=$r;return $f;};})(d,e,f);}return;}if($f===undefined){$f={$blk:AN};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AO=function(c,d,e){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];f=[f];g=[g];g[0]=$clone(d[0],A.Type).AttributeTypes();h=$clone(c,A.Type).ElementType();$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=$clone(h,A.Type);f[0]=(j=$keys(g[0]).length,((j<0||j>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));k=g[0];l=0;m=$keys(k);case 2:if(!(l<m.length)){$s=3;continue;}n=k[m[l]];if(n===undefined){l++;$s=2;continue;}o=n.k;p=$clone(n.v,A.Type);q=$clone(p,A.Type).Equals($clone(i,A.Type));$s=6;case 6:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}if(q){$s=4;continue;}$s=5;continue;case 4:l++;$s=2;continue;case 5:s=AU($clone(i,A.Type),$clone(p,A.Type),e);$s=7;case 7:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=o;(f[0]||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(r)]={k:r,v:s};if((t=f[0][$String.keyFor(o)],t!==undefined?t.v:$throwNilPointerError)===$throwNilPointerError){$s=-1;return $throwNilPointerError;}l++;$s=2;continue;case 3:$s=-1;return(function(d,f,g){return function $b(u,v){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:x=(w=$keys(f[0]).length,((w<0||w>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));y=$append(v.Copy(),$ifaceNil);z=$clone(u,A.Value).ElementIterator();$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;case 2:ab=aa.Next();$s=4;case 4:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}if(!(ab)){$s=3;continue;}ad=aa.Element();$s=5;case 5:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;ae=$clone(ac[0],A.Value);af=$clone(ac[1],A.Value);ag=(ah=g[0][$String.keyFor($clone(ae,A.Value).AsString())],ah!==undefined?[ah.v,true]:[new A.Type.ptr($ifaceNil),false]);ai=ag[1];if(!ai){$s=2;continue;}aj=$ifaceNil;(al=y.$length-1>>0,((al<0||al>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+al]=(ak=new A.IndexStep.ptr(new A.pathStepImpl.ptr(),$clone(ae,A.Value)),new ak.constructor.elem(ak))));an=(am=f[0][$String.keyFor($clone(ae,A.Value).AsString())],am!==undefined?am.v:$throwNilPointerError);if(!(an===$throwNilPointerError)){$s=6;continue;}$s=7;continue;case 6:ap=an($clone(af,A.Value),y);$s=8;case 8:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;A.Value.copy(af,ao[0]);aj=ao[1];if(!($interfaceIsEqual(aj,$ifaceNil))){$s=-1;return[A.NilVal,aj];}case 7:aq=$clone(ae,A.Value).AsString();(x||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(aq)]={k:aq,v:$clone(af,A.Value)};$s=2;continue;case 3:ar=g[0];as=0;at=$keys(ar);case 9:if(!(as<at.length)){$s=10;continue;}au=ar[at[as]];if(au===undefined){as++;$s=9;continue;}av=au.k;aw=$clone(au.v,A.Type);ax=(ay=x[$String.keyFor(av)],ay!==undefined?[ay.v,true]:[new A.Value.ptr(new A.Type.ptr($ifaceNil),$ifaceNil),false]);az=ax[1];if(!az){$s=11;continue;}$s=12;continue;case 11:ba=$clone(d[0],A.Type).AttributeOptional(av);$s=13;case 13:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=ba;if(bb){$s=14;continue;}$s=15;continue;case 14:bc=av;(x||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(bc)]={k:bc,v:$clone(A.NullVal($clone(aw,A.Type)),A.Value)};$s=16;continue;case 15:bd=v.NewErrorf("map has no element for required attribute %q",new AY([new $String(av)]));$s=17;case 17:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}be=[A.NilVal,bd];$s=18;case 18:return be;case 16:case 12:as++;$s=9;continue;case 10:bf=A.ObjectVal(x);$s=19;case 19:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}bg=[bf,$ifaceNil];$s=20;case 20:return bg;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};})(d,f,g);}return;}if($f===undefined){$f={$blk:AO};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};AP=function(c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=$makeSlice(BA,0,$keys(c).length);g=c;h=0;i=$keys(g);while(true){if(!(h<i.length)){break;}j=g[i[h]];if(j===undefined){h++;continue;}k=$clone(j.v,A.Value);f=$append(f,$clone(k,A.Value).Type());h++;}m=G(f,e);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=$clone(l[0],A.Type);if($equal(n,A.NilType,A.Type)){$s=2;continue;}$s=3;continue;case 2:o=d.NewErrorf("cannot find a common base type for all elements",new AY([]));$s=4;case 4:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=[false,o];$s=5;case 5:return p;case 3:q={};r=$append(d.Copy(),$ifaceNil);s=c;t=0;u=$keys(s);case 6:if(!(t<u.length)){$s=7;continue;}v=s[u[t]];if(v===undefined){t++;$s=6;continue;}w=v.k;x=$clone(v.v,A.Value);y=$clone($clone(x,A.Value).Type(),A.Type).Equals($clone(n,A.Type));$s=10;case 10:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}if(y){$s=8;continue;}$s=9;continue;case 8:z=w;(q||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(z)]={k:z,v:$clone(x,A.Value)};t++;$s=6;continue;case 9:aa=AU($clone($clone(x,A.Value).Type(),A.Type),$clone(n,A.Type),e);$s=11;case 11:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;if(ab===$throwNilPointerError){}ad=A.StringVal(w);$s=12;case 12:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}(ae=r.$length-1>>0,((ae<0||ae>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+ae]=(ac=new A.IndexStep.ptr(new A.pathStepImpl.ptr(),$clone(ad,A.Value)),new ac.constructor.elem(ac))));ag=ab($clone(x,A.Value),r);$s=13;case 13:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;ah=$clone(af[0],A.Value);ai=af[1];if(!($interfaceIsEqual(ai,$ifaceNil))){$s=-1;return[false,ai];}aj=w;(q||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(aj)]={k:aj,v:$clone(ah,A.Value)};t++;$s=6;continue;case 7:$s=-1;return[q,$ifaceNil];}return;}if($f===undefined){$f={$blk:AP};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AQ=function(c,d,e){var aa,ab,ac,ad,ae,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=$makeSlice(BA,c.$length);g=c;h=0;while(true){if(!(h<g.$length)){break;}i=h;j=$clone(((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]),A.Value);A.Type.copy(((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]),$clone(j,A.Value).Type());h++;}l=G(f,e);$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=$clone(k[0],A.Type);if($equal(m,A.NilType,A.Type)){$s=2;continue;}$s=3;continue;case 2:n=d.NewErrorf("cannot find a common base type for all elements",new AY([]));$s=4;case 4:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=[BG.nil,n];$s=5;case 5:return o;case 3:p=$makeSlice(BG,c.$length);q=$append(d.Copy(),$ifaceNil);r=c;s=0;case 6:if(!(s<r.$length)){$s=7;continue;}t=s;u=$clone(((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]),A.Value);v=$clone($clone(u,A.Value).Type(),A.Type).Equals($clone(m,A.Type));$s=10;case 10:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}if(v){$s=8;continue;}$s=9;continue;case 8:A.Value.copy(((t<0||t>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+t]),u);s++;$s=6;continue;case 9:w=AU($clone($clone(u,A.Value).Type(),A.Type),$clone(m,A.Type),e);$s=11;case 11:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;if(x===$throwNilPointerError){}z=A.NumberIntVal((new $Int64(0,t)));$s=12;case 12:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}(aa=q.$length-1>>0,((aa<0||aa>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+aa]=(y=new A.IndexStep.ptr(new A.pathStepImpl.ptr(),$clone(z,A.Value)),new y.constructor.elem(y))));ac=x($clone(u,A.Value),q);$s=13;case 13:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=$clone(ab[0],A.Value);ae=ab[1];if(!($interfaceIsEqual(ae,$ifaceNil))){$s=-1;return[BG.nil,ae];}A.Value.copy(((t<0||t>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+t]),ad);s++;$s=6;continue;case 7:$s=-1;return[p,$ifaceNil];}return;}if($f===undefined){$f={$blk:AQ};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AR=function(c,d,e){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];f=[f];g=e($clone(c,A.Type));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f[0]=g;if(f[0]===$throwNilPointerError){$s=-1;return $throwNilPointerError;}$s=-1;return(function(d,f){return function $b(h,i){var h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=f[0]($clone(h,A.Value),i);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];if(!($interfaceIsEqual(m,$ifaceNil))){$s=-1;return[A.NilVal,m];}n=A.CapsuleVal($clone(d[0],A.Type),l);$s=2;case 2:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=[n,$ifaceNil];$s=3;case 3:return o;}return;}if($f===undefined){$f={$blk:$b};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};})(d,f);}return;}if($f===undefined){$f={$blk:AR};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AS=function(c,d,e){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=[f];g=e($clone(d,A.Type));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f[0]=g;if(f[0]===$throwNilPointerError){$s=-1;return $throwNilPointerError;}$s=-1;return(function(f){return function $b(h,i){var h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=f[0]($clone(h,A.Value).EncapsulatedValue(),i);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=2;case 2:return k;}return;}if($f===undefined){$f={$blk:$b};}$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};})(f);}return;}if($f===undefined){$f={$blk:AS};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AU=function(c,d,e){var c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];f=[f];g=[g];h=AV($clone(c,A.Type),$clone(d[0],A.Type),e);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}f[0]=h;if(f[0]===$throwNilPointerError){$s=-1;return $throwNilPointerError;}g[0]=$throwNilPointerError;g[0]=(function(d,f,g){return function $b(i,j){var i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($clone(i,A.Value).IsMarked()){$s=1;continue;}$s=2;continue;case 1:k=$clone(i,A.Value).Unmark();l=$clone(k[0],A.Value);m=k[1];o=g[0]($clone(l,A.Value),j);$s=3;case 3:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=$clone(n[0],A.Value);q=n[1];if(!($equal(p,A.NilVal,A.Value))){A.Value.copy(p,$clone(p,A.Value).WithMarks(new BJ([m])));}$s=-1;return[p,q];case 2:if($equal(d[0],A.DynamicPseudoType,A.Type)){$s=-1;return[i,$ifaceNil];}r=$clone(i,A.Value).IsKnown();s=$clone(i,A.Value).IsNull();t=r;u=s;if(!t||u){$s=4;continue;}$s=5;continue;case 4:v=$clone(d[0],A.Type).WithoutOptionalAttributesDeep();$s=6;case 6:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}A.Type.copy(d[0],v);if(!t){$s=-1;return[A.UnknownVal($clone(d[0],A.Type)),$ifaceNil];}if(u){$s=-1;return[A.NullVal($clone(d[0],A.Type)),$ifaceNil];}case 5:w=f[0]($clone(i,A.Value),j);$s=7;case 7:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;$s=8;case 8:return x;}return;}if($f===undefined){$f={$blk:$b};}$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};})(d,f,g);$s=-1;return g[0];}return;}if($f===undefined){$f={$blk:AU};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AV=function(c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($equal(d,A.DynamicPseudoType,A.Type)){$s=2;continue;}if(e&&$equal(c,A.DynamicPseudoType,A.Type)){$s=3;continue;}if($clone(c,A.Type).IsPrimitiveType()&&$clone(d,A.Type).IsPrimitiveType()){$s=4;continue;}if($clone(d,A.Type).IsObjectType()&&$clone(c,A.Type).IsObjectType()){$s=5;continue;}if($clone(d,A.Type).IsTupleType()&&$clone(c,A.Type).IsTupleType()){$s=6;continue;}if($clone(d,A.Type).IsListType()&&($clone(c,A.Type).IsListType()||$clone(c,A.Type).IsSetType())){$s=7;continue;}if($clone(d,A.Type).IsSetType()&&($clone(c,A.Type).IsListType()||$clone(c,A.Type).IsSetType())){$s=8;continue;}if($clone(d,A.Type).IsMapType()&&$clone(c,A.Type).IsMapType()){$s=9;continue;}if($clone(d,A.Type).IsListType()&&$clone(c,A.Type).IsTupleType()){$s=10;continue;}if($clone(d,A.Type).IsSetType()&&$clone(c,A.Type).IsTupleType()){$s=11;continue;}if($clone(d,A.Type).IsMapType()&&$clone(c,A.Type).IsObjectType()){$s=12;continue;}if($clone(d,A.Type).IsObjectType()&&$clone(c,A.Type).IsMapType()){$s=13;continue;}if($clone(c,A.Type).IsCapsuleType()||$clone(d,A.Type).IsCapsuleType()){$s=14;continue;}$s=15;continue;case 2:$s=-1;return AH;case 3:$s=-1;return AG($clone(d,A.Type));case 4:h=(f=(g=AD[A.Type.keyFor(c)],g!==undefined?g.v:false)[A.Type.keyFor(d)],f!==undefined?f.v:$throwNilPointerError);if(!(h===$throwNilPointerError)){$s=-1;return h;}if(e){$s=-1;return(i=(j=AE[A.Type.keyFor(c)],j!==undefined?j.v:false)[A.Type.keyFor(d)],i!==undefined?i.v:$throwNilPointerError);}$s=-1;return $throwNilPointerError;case 5:k=AF($clone(c,A.Type),$clone(d,A.Type),e);$s=17;case 17:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=18;case 18:return l;case 6:m=AA($clone(c,A.Type),$clone(d,A.Type),e);$s=19;case 19:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=20;case 20:return n;case 7:o=$clone(c,A.Type).ElementType();$s=21;case 21:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=$clone(o,A.Type);q=$clone(d,A.Type).ElementType();$s=22;case 22:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=$clone(q,A.Type);s=$clone(p,A.Type).Equals($clone(r,A.Type));$s=25;case 25:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}if(s){$s=23;continue;}$s=24;continue;case 23:$s=-1;return AI($clone(r,A.Type),$throwNilPointerError);case 24:t=AU($clone(p,A.Type),$clone(r,A.Type),e);$s=26;case 26:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t;if(u===$throwNilPointerError){$s=-1;return $throwNilPointerError;}$s=-1;return AI($clone(r,A.Type),u);case 8:if($clone(c,A.Type).IsListType()&&!e){$s=-1;return $throwNilPointerError;}v=$clone(c,A.Type).ElementType();$s=27;case 27:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=$clone(v,A.Type);x=$clone(d,A.Type).ElementType();$s=28;case 28:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=$clone(x,A.Type);z=AU($clone(w,A.Type),$clone(y,A.Type),e);$s=29;case 29:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;ab=$clone(w,A.Type).Equals($clone(y,A.Type));$s=32;case 32:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}if(ab){$s=30;continue;}$s=31;continue;case 30:$s=-1;return AJ($clone(y,A.Type),$throwNilPointerError);case 31:if(aa===$throwNilPointerError){$s=-1;return $throwNilPointerError;}$s=-1;return AJ($clone(y,A.Type),aa);case 9:ac=$clone(c,A.Type).ElementType();$s=33;case 33:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=$clone(ac,A.Type);ae=$clone(d,A.Type).ElementType();$s=34;case 34:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=$clone(ae,A.Type);ag=AU($clone(ad,A.Type),$clone(af,A.Type),e);$s=35;case 35:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=ag;if(ah===$throwNilPointerError){$s=-1;return $throwNilPointerError;}$s=-1;return AK($clone(af,A.Type),ah);case 10:ai=$clone(d,A.Type).ElementType();$s=36;case 36:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=$clone(ai,A.Type);ak=AM($clone(c,A.Type),$clone(aj,A.Type),e);$s=37;case 37:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=ak;$s=38;case 38:return al;case 11:am=$clone(d,A.Type).ElementType();$s=39;case 39:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=$clone(am,A.Type);ao=AL($clone(c,A.Type),$clone(an,A.Type),e);$s=40;case 40:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=ao;$s=41;case 41:return ap;case 12:aq=$clone(d,A.Type).ElementType();$s=42;case 42:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=$clone(aq,A.Type);as=AN($clone(c,A.Type),$clone(ar,A.Type),e);$s=43;case 43:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;$s=44;case 44:return at;case 13:if(!e){$s=-1;return $throwNilPointerError;}au=AO($clone(c,A.Type),$clone(d,A.Type),e);$s=45;case 45:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au;$s=46;case 46:return av;case 14:if(!e){$s=-1;return $throwNilPointerError;}aw=$clone(c,A.Type).Equals($clone(d,A.Type));$s=49;case 49:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}if(aw){$s=47;continue;}$s=48;continue;case 47:$s=-1;return $throwNilPointerError;case 48:if($clone(d,A.Type).IsCapsuleType()){$s=50;continue;}$s=51;continue;case 50:ax=$clone(d,A.Type).CapsuleOps().ConversionTo;if(!(ax===$throwNilPointerError)){$s=52;continue;}$s=53;continue;case 52:ay=AR($clone(c,A.Type),$clone(d,A.Type),ax);$s=54;case 54:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=ay;$s=55;case 55:return az;case 53:case 51:if($clone(c,A.Type).IsCapsuleType()){$s=56;continue;}$s=57;continue;case 56:ba=$clone(c,A.Type).CapsuleOps().ConversionFrom;if(!(ba===$throwNilPointerError)){$s=58;continue;}$s=59;continue;case 58:bb=AS($clone(c,A.Type),$clone(d,A.Type),ba);$s=60;case 60:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=bb;$s=61;case 61:return bc;case 59:case 57:$s=-1;return $throwNilPointerError;case 15:$s=-1;return $throwNilPointerError;case 16:case 1:$s=-1;return $throwNilPointerError;}return;}if($f===undefined){$f={$blk:AV};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AW=function(c){var c;if(c===$throwNilPointerError){return $throwNilPointerError;}return(function $b(d){var d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=c($clone(d,A.Value),(A.Path.nil));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;});};AX=function(c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($equal(c,A.DynamicPseudoType,A.Type)||$equal(d,A.DynamicPseudoType,A.Type)){if(!($equal(c,A.DynamicPseudoType,A.Type))){$s=-1;return-1;}if(!($equal(d,A.DynamicPseudoType,A.Type))){$s=-1;return 1;}$s=-1;return 0;}if($clone(c,A.Type).IsPrimitiveType()&&$clone(d,A.Type).IsPrimitiveType()){if($equal(c,A.String,A.Type)||$equal(d,A.String,A.Type)){if(!($equal(c,A.String,A.Type))){$s=-1;return 1;}if(!($equal(d,A.String,A.Type))){$s=-1;return-1;}$s=-1;return 0;}}if($clone(c,A.Type).IsListType()&&$clone(d,A.Type).IsListType()){$s=1;continue;}$s=2;continue;case 1:e=$clone(c,A.Type).ElementType();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$clone(e,A.Type);g=$clone(d,A.Type).ElementType();$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=$clone(g,A.Type);i=AX(f,h);$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=6;case 6:return j;case 2:if($clone(c,A.Type).IsSetType()&&$clone(d,A.Type).IsSetType()){$s=7;continue;}$s=8;continue;case 7:k=$clone(c,A.Type).ElementType();$s=9;case 9:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,A.Type);m=$clone(d,A.Type).ElementType();$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=$clone(m,A.Type);o=AX(l,n);$s=11;case 11:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;$s=12;case 12:return p;case 8:if($clone(c,A.Type).IsMapType()&&$clone(d,A.Type).IsMapType()){$s=13;continue;}$s=14;continue;case 13:q=$clone(c,A.Type).ElementType();$s=15;case 15:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=$clone(q,A.Type);s=$clone(d,A.Type).ElementType();$s=16;case 16:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=$clone(s,A.Type);u=AX(r,t);$s=17;case 17:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;$s=18;case 18:return v;case 14:w=1;if($clone(c,A.Type).IsTupleType()&&$clone(d,A.Type).IsListType()){x=$clone(d,A.Type);y=$clone(c,A.Type);A.Type.copy(c,x);A.Type.copy(d,y);w=-1;}else if($clone(c,A.Type).IsObjectType()&&$clone(d,A.Type).IsMapType()){z=$clone(d,A.Type);aa=$clone(c,A.Type);A.Type.copy(c,z);A.Type.copy(d,aa);w=-1;}else if($clone(c,A.Type).IsSetType()&&$clone(d,A.Type).IsTupleType()){ab=$clone(d,A.Type);ac=$clone(c,A.Type);A.Type.copy(c,ab);A.Type.copy(d,ac);w=-1;}else if($clone(c,A.Type).IsSetType()&&$clone(d,A.Type).IsListType()){ad=$clone(d,A.Type);ae=$clone(c,A.Type);A.Type.copy(c,ad);A.Type.copy(d,ae);w=-1;}if($clone(d,A.Type).IsSetType()&&($clone(c,A.Type).IsTupleType()||$clone(c,A.Type).IsListType())){$s=-1;return $imul(-1,w);}if($clone(c,A.Type).IsListType()&&$clone(d,A.Type).IsTupleType()){$s=-1;return $imul(-1,w);}if($clone(c,A.Type).IsMapType()&&$clone(d,A.Type).IsObjectType()){$s=-1;return $imul(-1,w);}if($clone(c,A.Type).IsObjectType()&&$clone(d,A.Type).IsObjectType()){$s=19;continue;}$s=20;continue;case 19:af=$clone(c,A.Type).AttributeTypes();ag=$clone(d,A.Type).AttributeTypes();if(!(($keys(af).length===$keys(ag).length))){$s=-1;return 0;}ah=false;ai=false;aj=af;ak=0;al=$keys(aj);case 21:if(!(ak<al.length)){$s=22;continue;}am=aj[al[ak]];if(am===undefined){ak++;$s=21;continue;}an=am.k;ao=(ap=ag[$String.keyFor(an)],ap!==undefined?[ap.v,true]:[new A.Type.ptr($ifaceNil),false]);aq=ao[1];if(!aq){$s=-1;return 0;}at=AX($clone((ar=af[$String.keyFor(an)],ar!==undefined?ar.v:new A.Type.ptr($ifaceNil)),A.Type),$clone((as=ag[$String.keyFor(an)],as!==undefined?as.v:new A.Type.ptr($ifaceNil)),A.Type));$s=23;case 23:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;if(au<0){ah=true;}else if(au>0){ai=true;}ak++;$s=21;continue;case 22:if(ah&&ai){$s=-1;return 0;}else if(ah){$s=-1;return $imul(-1,w);}else if(ai){$s=-1;return $imul(1,w);}else{$s=-1;return 0;}case 20:if($clone(c,A.Type).IsTupleType()&&$clone(d,A.Type).IsTupleType()){$s=24;continue;}$s=25;continue;case 24:av=$clone(c,A.Type).TupleElementTypes();aw=$clone(d,A.Type).TupleElementTypes();if(!((av.$length===aw.$length))){$s=-1;return 0;}ax=false;ay=false;az=av;ba=0;case 26:if(!(ba<az.$length)){$s=27;continue;}bb=ba;bc=AX($clone(((bb<0||bb>=av.$length)?($throwRuntimeError("index out of range"),undefined):av.$array[av.$offset+bb]),A.Type),$clone(((bb<0||bb>=aw.$length)?($throwRuntimeError("index out of range"),undefined):aw.$array[aw.$offset+bb]),A.Type));$s=28;case 28:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}bd=bc;if(bd<0){ax=true;}else if(bd>0){ay=true;}ba++;$s=26;continue;case 27:if(ax&&ay){$s=-1;return 0;}else if(ax){$s=-1;return $imul(-1,w);}else if(ay){$s=-1;return $imul(1,w);}else{$s=-1;return 0;}case 25:$s=-1;return 0;}return;}if($f===undefined){$f={$blk:AX};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Q.init([A.Value],[A.Value,$error],false);AT.init([A.Value,A.Path],[A.Value,$error],false);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a=A.StringVal("true");$s=7;case 7:if($c){$c=false;a=a.$blk();}if(a&&a.$blk!==undefined){break s;}AB=$clone(a,A.Value);b=A.StringVal("false");$s=8;case 8:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}AC=$clone(b,A.Value);AD=$makeMap(A.Type.keyFor,[{k:$clone(A.Number,A.Type),v:$makeMap(A.Type.keyFor,[{k:$clone(A.String,A.Type),v:(function $b(c,d){var c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$clone(c,A.Value).AsBigFloat();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=f.Text(102,-1);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=A.StringVal(g);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=[h,$ifaceNil];$s=4;case 4:return i;}return;}if($f===undefined){$f={$blk:$b};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;})}])},{k:$clone(A.Bool,A.Type),v:$makeMap(A.Type.keyFor,[{k:$clone(A.String,A.Type),v:(function $b(c,d){var c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$clone(c,A.Value).True();$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(e){$s=1;continue;}$s=2;continue;case 1:$s=-1;return[AB,$ifaceNil];case 2:$s=-1;return[AC,$ifaceNil];case 3:$s=-1;return[new A.Value.ptr(new A.Type.ptr($ifaceNil),$ifaceNil),$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;})}])}]);AE=$makeMap(A.Type.keyFor,[{k:$clone(A.String,A.Type),v:$makeMap(A.Type.keyFor,[{k:$clone(A.Number,A.Type),v:(function $b(c,d){var c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=A.ParseNumberVal($clone(c,A.Value).AsString());$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=$clone(e[0],A.Value);h=e[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:i=d.NewErrorf("a number is required",new AY([]));$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=[A.NilVal,i];$s=5;case 5:return j;case 3:$s=-1;return[g,$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;})},{k:$clone(A.Bool,A.Type),v:(function $b(c,d){var c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$clone(c,A.Value).AsString();if(e===("true")||e===("1")){$s=2;continue;}if(e===("false")||e===("0")){$s=3;continue;}$s=4;continue;case 2:$s=-1;return[A.True,$ifaceNil];case 3:$s=-1;return[A.False,$ifaceNil];case 4:f=F.ToLower($clone(c,A.Value).AsString());$s=7;case 7:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(g===("true")){$s=8;continue;}if(g===("false")){$s=9;continue;}$s=10;continue;case 8:h=d.NewErrorf("a bool is required; to convert from string, use lowercase \"true\"",new AY([]));$s=12;case 12:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=[A.NilVal,h];$s=13;case 13:return i;case 9:j=d.NewErrorf("a bool is required; to convert from string, use lowercase \"false\"",new AY([]));$s=14;case 14:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=[A.NilVal,j];$s=15;case 15:return k;case 10:l=d.NewErrorf("a bool is required",new AY([]));$s=16;case 16:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=[A.NilVal,l];$s=17;case 17:return m;case 11:case 6:case 5:case 1:$s=-1;return[new A.Value.ptr(new A.Type.ptr($ifaceNil),$ifaceNil),$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;})}])}]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["runtime/debug"]=(function(){var $pkg={},$init,B,C,E,D,A,AB,K;B=$packages["os"];C=$packages["runtime"];E=$packages["sort"];D=$packages["strings"];A=$packages["time"];AB=$sliceType($Uint8);K=function(){var c,d;c=$makeSlice(AB,1024);while(true){d=C.Stack(c,false);if(d<c.$length){return $subslice(c,0,d);}c=$makeSlice(AB,($imul(2,c.$length)));}};$pkg.Stack=K;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/zclconf/go-cty/cty/function"]=(function(){var $pkg={},$init,B,A,C,F,G,I,J,L,M,P,R,S,T,U,V,W,X,Y,Z,AA,H,K,N,O,Q;B=$packages["fmt"];A=$packages["github.com/zclconf/go-cty/cty"];C=$packages["runtime/debug"];F=$pkg.Function=$newType(0,$kindStruct,"function.Function",true,"github.com/zclconf/go-cty/cty/function",true,function(spec_){this.$val=this;if(arguments.length===0){this.spec=S.nil;return;}this.spec=spec_;});G=$pkg.Spec=$newType(0,$kindStruct,"function.Spec",true,"github.com/zclconf/go-cty/cty/function",true,function(Params_,VarParam_,Type_,Impl_){this.$val=this;if(arguments.length===0){this.Params=Y.nil;this.VarParam=U.nil;this.Type=$throwNilPointerError;this.Impl=$throwNilPointerError;return;}this.Params=Params_;this.VarParam=VarParam_;this.Type=Type_;this.Impl=Impl_;});I=$pkg.TypeFunc=$newType(4,$kindFunc,"function.TypeFunc",true,"github.com/zclconf/go-cty/cty/function",true,null);J=$pkg.ImplFunc=$newType(4,$kindFunc,"function.ImplFunc",true,"github.com/zclconf/go-cty/cty/function",true,null);L=$pkg.ProxyFunc=$newType(4,$kindFunc,"function.ProxyFunc",true,"github.com/zclconf/go-cty/cty/function",true,null);M=$pkg.ArgError=$newType(0,$kindStruct,"function.ArgError",true,"github.com/zclconf/go-cty/cty/function",true,function(error_,Index_){this.$val=this;if(arguments.length===0){this.error=$ifaceNil;this.Index=0;return;}this.error=error_;this.Index=Index_;});P=$pkg.PanicError=$newType(0,$kindStruct,"function.PanicError",true,"github.com/zclconf/go-cty/cty/function",true,function(Value_,Stack_){this.$val=this;if(arguments.length===0){this.Value=$ifaceNil;this.Stack=Z.nil;return;}this.Value=Value_;this.Stack=Stack_;});R=$pkg.Parameter=$newType(0,$kindStruct,"function.Parameter",true,"github.com/zclconf/go-cty/cty/function",true,function(Name_,Type_,AllowNull_,AllowUnknown_,AllowDynamicType_,AllowMarked_){this.$val=this;if(arguments.length===0){this.Name="";this.Type=new A.Type.ptr($ifaceNil);this.AllowNull=false;this.AllowUnknown=false;this.AllowDynamicType=false;this.AllowMarked=false;return;}this.Name=Name_;this.Type=Type_;this.AllowNull=AllowNull_;this.AllowUnknown=AllowUnknown_;this.AllowDynamicType=AllowDynamicType_;this.AllowMarked=AllowMarked_;});S=$ptrType(G);T=$sliceType(A.Value);U=$ptrType(R);V=$sliceType($emptyInterface);W=$sliceType($error);X=$sliceType(A.ValueMarks);Y=$sliceType(R);Z=$sliceType($Uint8);AA=$sliceType(A.Type);H=function(a){var a,b;b=new F.ptr(a);return b;};$pkg.New=H;K=function(a){var a;return(function(b){var b;return[a,$ifaceNil];});};$pkg.StaticReturnType=K;F.ptr.prototype.ReturnType=function(a){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$makeSlice(T,a.$length);d=a;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=$clone(((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]),A.Type);A.Value.copy(((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]),A.UnknownVal($clone(g,A.Type)));e++;}h=$clone(b,F).ReturnTypeForValues(c);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=2;case 2:return i;}return;}if($f===undefined){$f={$blk:F.ptr.prototype.ReturnType};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};F.prototype.ReturnType=function(a){return this.$val.ReturnType(a);};F.ptr.prototype.ReturnTypeForValues=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);b=[b];c=[c];c[0]=new A.Type.ptr($ifaceNil);b[0]=$ifaceNil;d=this;e=T.nil;f=T.nil;if(d.spec.VarParam===U.nil){$s=1;continue;}$s=2;continue;case 1:if(!((a.$length===d.spec.Params.$length))){$s=4;continue;}$s=5;continue;case 4:g=new A.Type.ptr($ifaceNil);i=B.Errorf("wrong number of arguments (%d required; %d given)",new V([new $Int(d.spec.Params.$length),new $Int(a.$length)]));$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;A.Type.copy(c[0],g);b[0]=h;j=[c[0],b[0]];$s=7;case 7:return j;case 5:e=a;f=T.nil;$s=3;continue;case 2:if(a.$length<d.spec.Params.$length){$s=8;continue;}$s=9;continue;case 8:k=new A.Type.ptr($ifaceNil);m=B.Errorf("wrong number of arguments (at least %d required; %d given)",new V([new $Int(d.spec.Params.$length),new $Int(a.$length)]));$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;A.Type.copy(c[0],k);b[0]=l;n=[c[0],b[0]];$s=11;case 11:return n;case 9:e=$subslice(a,0,d.spec.Params.$length);f=$subslice(a,d.spec.Params.$length);case 3:o=d.spec.Params;p=0;case 12:if(!(p<o.$length)){$s=13;continue;}q=p;r=$clone(((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]),R);s=$clone(((q<0||q>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+q]),A.Value);t=$clone(s,A.Value).ContainsMarked();$s=16;case 16:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}if(t&&!r.AllowMarked){$s=14;continue;}$s=15;continue;case 14:v=$clone(s,A.Value).UnmarkDeep();$s=17;case 17:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=$clone(u[0],A.Value);x=$makeSlice(T,a.$length);$copySlice(x,a);A.Value.copy(((q<0||q>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+q]),w);a=x;case 15:if($clone(s,A.Value).IsNull()&&!r.AllowNull){$s=18;continue;}$s=19;continue;case 18:y=new A.Type.ptr($ifaceNil);aa=N(q,"argument must not be null",new V([]));$s=20;case 20:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;A.Type.copy(c[0],y);b[0]=z;ab=[c[0],b[0]];$s=21;case 21:return ab;case 19:if($equal($clone(s,A.Value).Type(),A.DynamicPseudoType,A.Type)){$s=22;continue;}$s=23;continue;case 22:if(!r.AllowDynamicType){$s=25;continue;}$s=26;continue;case 25:ac=$clone(A.DynamicPseudoType,A.Type);ad=$ifaceNil;A.Type.copy(c[0],ac);b[0]=ad;ae=[c[0],b[0]];$s=27;case 27:return ae;case 26:$s=24;continue;case 23:af=$clone($clone(s,A.Value).Type(),A.Type).TestConformance($clone(r.Type,A.Type));$s=28;case 28:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;if(!(ag===W.nil)){$s=29;continue;}$s=30;continue;case 29:ah=new A.Type.ptr($ifaceNil);ai=O(q,(0>=ag.$length?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+0]));A.Type.copy(c[0],ah);b[0]=ai;aj=[c[0],b[0]];$s=31;case 31:return aj;case 30:case 24:p++;$s=12;continue;case 13:if(!(f===T.nil)){$s=32;continue;}$s=33;continue;case 32:ak=d.spec.VarParam;al=f;am=0;case 34:if(!(am<al.$length)){$s=35;continue;}an=am;ao=$clone(((am<0||am>=al.$length)?($throwRuntimeError("index out of range"),undefined):al.$array[al.$offset+am]),A.Value);ap=an+e.$length>>0;aq=$clone(ao,A.Value).ContainsMarked();$s=38;case 38:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}if(aq&&!ak.AllowMarked){$s=36;continue;}$s=37;continue;case 36:as=$clone(ao,A.Value).UnmarkDeep();$s=39;case 39:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as;at=$clone(ar[0],A.Value);au=$makeSlice(T,a.$length);$copySlice(au,a);A.Value.copy(((ap<0||ap>=au.$length)?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+ap]),at);a=au;case 37:if($clone(ao,A.Value).IsNull()&&!ak.AllowNull){$s=40;continue;}$s=41;continue;case 40:av=new A.Type.ptr($ifaceNil);ax=N(ap,"argument must not be null",new V([]));$s=42;case 42:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}aw=ax;A.Type.copy(c[0],av);b[0]=aw;ay=[c[0],b[0]];$s=43;case 43:return ay;case 41:if($equal($clone(ao,A.Value).Type(),A.DynamicPseudoType,A.Type)){$s=44;continue;}$s=45;continue;case 44:if(!ak.AllowDynamicType){$s=47;continue;}$s=48;continue;case 47:az=$clone(A.DynamicPseudoType,A.Type);ba=$ifaceNil;A.Type.copy(c[0],az);b[0]=ba;bb=[c[0],b[0]];$s=49;case 49:return bb;case 48:$s=46;continue;case 45:bc=$clone($clone(ao,A.Value).Type(),A.Type).TestConformance($clone(ak.Type,A.Type));$s=50;case 50:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}bd=bc;if(!(bd===W.nil)){$s=51;continue;}$s=52;continue;case 51:be=new A.Type.ptr($ifaceNil);bf=O(an,(0>=bd.$length?($throwRuntimeError("index out of range"),undefined):bd.$array[bd.$offset+0]));A.Type.copy(c[0],be);b[0]=bf;bg=[c[0],b[0]];$s=53;case 53:return bg;case 52:case 46:am++;$s=34;continue;case 35:case 33:$deferred.push([(function(b,c){return function(){var bh;bh=$recover();if(!($interfaceIsEqual(bh,$ifaceNil))){A.Type.copy(c[0],A.NilType);b[0]=Q(bh);}};})(b,c),[]]);bi=d.spec.Type(a);$s=54;case 54:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}bh=bi;A.Type.copy(c[0],bh[0]);b[0]=bh[1];bj=[c[0],b[0]];$s=55;case 55:return bj;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[c[0],b[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:F.ptr.prototype.ReturnTypeForValues};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};F.prototype.ReturnTypeForValues=function(a){return this.$val.ReturnTypeForValues(a);};F.ptr.prototype.Call=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);b=[b];c=[c];c[0]=new A.Value.ptr(new A.Type.ptr($ifaceNil),$ifaceNil);b[0]=$ifaceNil;d=this;f=$clone(d,F).ReturnTypeForValues(a);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=$clone(e[0],A.Type);b[0]=e[1];if(!($interfaceIsEqual(b[0],$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:h=$clone(A.NilVal,A.Value);i=b[0];A.Value.copy(c[0],h);b[0]=i;j=[c[0],b[0]];$s=4;case 4:return j;case 3:k=$subslice(a,0,d.spec.Params.$length);l=$subslice(a,d.spec.Params.$length);m=X.nil;n=d.spec.Params;o=0;case 5:if(!(o<n.$length)){$s=6;continue;}p=o;q=$clone(((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]),R);r=$clone(((p<0||p>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+p]),A.Value);if(!$clone(r,A.Value).IsKnown()&&!q.AllowUnknown){$s=7;continue;}$s=8;continue;case 7:s=$clone(A.UnknownVal($clone(g,A.Type)),A.Value);t=$ifaceNil;A.Value.copy(c[0],s);b[0]=t;u=[c[0],b[0]];$s=9;case 9:return u;case 8:if(!q.AllowMarked){$s=10;continue;}$s=11;continue;case 10:w=$clone(r,A.Value).UnmarkDeep();$s=12;case 12:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;x=$clone(v[0],A.Value);y=v[1];if($keys(y).length>0){z=$makeSlice(T,a.$length);$copySlice(z,a);A.Value.copy(((p<0||p>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+p]),x);m=$append(m,y);a=z;}case 11:o++;$s=5;continue;case 6:if(!(d.spec.VarParam===U.nil)){$s=13;continue;}$s=14;continue;case 13:aa=d.spec.VarParam;ab=l;ac=0;case 15:if(!(ac<ab.$length)){$s=16;continue;}ad=ac;ae=$clone(((ac<0||ac>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+ac]),A.Value);if(!$clone(ae,A.Value).IsKnown()&&!aa.AllowUnknown){$s=17;continue;}$s=18;continue;case 17:af=$clone(A.UnknownVal($clone(g,A.Type)),A.Value);ag=$ifaceNil;A.Value.copy(c[0],af);b[0]=ag;ah=[c[0],b[0]];$s=19;case 19:return ah;case 18:if(!aa.AllowMarked){$s=20;continue;}$s=21;continue;case 20:aj=$clone(ae,A.Value).UnmarkDeep();$s=22;case 22:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;ak=$clone(ai[0],A.Value);al=ai[1];if($keys(al).length>0){am=$makeSlice(T,a.$length);$copySlice(am,a);A.Value.copy((an=k.$length+ad>>0,((an<0||an>=am.$length)?($throwRuntimeError("index out of range"),undefined):am.$array[am.$offset+an])),ak);m=$append(m,al);a=am;}case 21:ac++;$s=15;continue;case 16:case 14:ao=new A.Value.ptr(new A.Type.ptr($ifaceNil),$ifaceNil);$deferred.push([(function(b,c){return function(){var ap;ap=$recover();if(!($interfaceIsEqual(ap,$ifaceNil))){A.Value.copy(c[0],A.NilVal);b[0]=Q(ap);}};})(b,c),[]]);aq=d.spec.Impl(a,$clone(g,A.Type));$s=23;case 23:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;A.Value.copy(ao,ap[0]);b[0]=ap[1];if(!($interfaceIsEqual(b[0],$ifaceNil))){$s=24;continue;}$s=25;continue;case 24:ar=$clone(A.NilVal,A.Value);as=b[0];A.Value.copy(c[0],ar);b[0]=as;at=[c[0],b[0]];$s=26;case 26:return at;case 25:if(m.$length>0){A.Value.copy(ao,$clone(ao,A.Value).WithMarks(m));}au=$clone($clone(ao,A.Value).Type(),A.Type).TestConformance($clone(g,A.Type));$s=27;case 27:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au;if(!(av===W.nil)){$s=28;continue;}$s=29;continue;case 28:aw=B.Errorf("returned value %#v does not conform to expected return type %#v: %s",new V([new ao.constructor.elem(ao),new g.constructor.elem(g),(0>=av.$length?($throwRuntimeError("index out of range"),undefined):av.$array[av.$offset+0])]));$s=30;case 30:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}$panic(aw);case 29:ax=$clone(ao,A.Value);ay=$ifaceNil;A.Value.copy(c[0],ax);b[0]=ay;az=[c[0],b[0]];$s=31;case 31:return az;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[c[0],b[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:F.ptr.prototype.Call};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};F.prototype.Call=function(a){return this.$val.Call(a);};F.ptr.prototype.Proxy=function(){var a;a=this;return(function $b(b){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone(a,F).Call(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:$b};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;});};F.prototype.Proxy=function(){return this.$val.Proxy();};F.ptr.prototype.Params=function(){var a,b;a=this;b=$makeSlice(Y,a.spec.Params.$length);$copySlice(b,a.spec.Params);return b;};F.prototype.Params=function(){return this.$val.Params();};F.ptr.prototype.VarParam=function(){var a,b;a=this;if(a.spec.VarParam===U.nil){return U.nil;}b=$clone(a.spec.VarParam,R);return b;};F.prototype.VarParam=function(){return this.$val.VarParam();};N=function(a,b,c){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=B.Errorf(b,c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=(d=new M.ptr(e,a),new d.constructor.elem(d));$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:N};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NewArgErrorf=N;O=function(a,b){var a,b,c;return(c=new M.ptr(b,a),new c.constructor.elem(c));};$pkg.NewArgError=O;Q=function(a){var a,b;return(b=new P.ptr(a,C.Stack()),new b.constructor.elem(b));};P.ptr.prototype.Error=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=B.Sprintf("panic in function implementation: %s\n%s",new V([a.Value,a.Stack]));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.Error};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.Error=function(){return this.$val.Error();};F.methods=[{prop:"ReturnType",name:"ReturnType",pkg:"",typ:$funcType([AA],[A.Type,$error],false)},{prop:"ReturnTypeForValues",name:"ReturnTypeForValues",pkg:"",typ:$funcType([T],[A.Type,$error],false)},{prop:"Call",name:"Call",pkg:"",typ:$funcType([T],[A.Value,$error],false)},{prop:"Proxy",name:"Proxy",pkg:"",typ:$funcType([],[L],false)},{prop:"Params",name:"Params",pkg:"",typ:$funcType([],[Y],false)},{prop:"VarParam",name:"VarParam",pkg:"",typ:$funcType([],[U],false)}];P.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];F.init("github.com/zclconf/go-cty/cty/function",[{prop:"spec",name:"spec",embedded:false,exported:false,typ:S,tag:""}]);G.init("",[{prop:"Params",name:"Params",embedded:false,exported:true,typ:Y,tag:""},{prop:"VarParam",name:"VarParam",embedded:false,exported:true,typ:U,tag:""},{prop:"Type",name:"Type",embedded:false,exported:true,typ:I,tag:""},{prop:"Impl",name:"Impl",embedded:false,exported:true,typ:J,tag:""}]);I.init([T],[A.Type,$error],false);J.init([T,A.Type],[A.Value,$error],false);L.init([T],[A.Value,$error],true);M.init("github.com/zclconf/go-cty/cty/function",[{prop:"error",name:"error",embedded:true,exported:false,typ:$error,tag:""},{prop:"Index",name:"Index",embedded:false,exported:true,typ:$Int,tag:""}]);P.init("",[{prop:"Value",name:"Value",embedded:false,exported:true,typ:$emptyInterface,tag:""},{prop:"Stack",name:"Stack",embedded:false,exported:true,typ:Z,tag:""}]);R.init("",[{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"Type",name:"Type",embedded:false,exported:true,typ:A.Type,tag:""},{prop:"AllowNull",name:"AllowNull",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"AllowUnknown",name:"AllowUnknown",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"AllowDynamicType",name:"AllowDynamicType",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"AllowMarked",name:"AllowMarked",embedded:false,exported:true,typ:$Bool,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/hashicorp/hcl/v2"]=(function(){var $pkg={},$init,C,D,J,A,I,E,M,B,G,H,K,F,L,Q,S,T,U,V,W,X,Z,AA,AB,AC,AD,AE,AF,AG,AJ,AK,AL,AP,AQ,BB,BF,BI,BJ,BO,BP,BQ,BT,BX,CB,CE,CF,CG,CH,BU,BV,BW,BY,BZ,CA,CC,CD,CI,CJ,CK,CL,CM,CN,CO,CS,CV,CW,CZ,DA,DB,DC,DE,DF,N,P,R,AR,AT,AU,BD,BK;C=$packages["bufio"];D=$packages["bytes"];J=$packages["errors"];A=$packages["fmt"];I=$packages["github.com/agext/levenshtein"];E=$packages["github.com/apparentlymart/go-textseg/v13/textseg"];M=$packages["github.com/mitchellh/go-wordwrap"];B=$packages["github.com/zclconf/go-cty/cty"];G=$packages["github.com/zclconf/go-cty/cty/convert"];H=$packages["github.com/zclconf/go-cty/cty/function"];K=$packages["io"];F=$packages["math/big"];L=$packages["sort"];Q=$pkg.Traversal=$newType(12,$kindSlice,"hcl.Traversal",true,"github.com/hashicorp/hcl/v2",true,null);S=$pkg.TraversalSplit=$newType(0,$kindStruct,"hcl.TraversalSplit",true,"github.com/hashicorp/hcl/v2",true,function(Abs_,Rel_){this.$val=this;if(arguments.length===0){this.Abs=Q.nil;this.Rel=Q.nil;return;}this.Abs=Abs_;this.Rel=Rel_;});T=$pkg.Traverser=$newType(8,$kindInterface,"hcl.Traverser",true,"github.com/hashicorp/hcl/v2",true,null);U=$pkg.isTraverser=$newType(0,$kindStruct,"hcl.isTraverser",true,"github.com/hashicorp/hcl/v2",false,function(){this.$val=this;if(arguments.length===0){return;}});V=$pkg.TraverseRoot=$newType(0,$kindStruct,"hcl.TraverseRoot",true,"github.com/hashicorp/hcl/v2",true,function(isTraverser_,Name_,SrcRange_){this.$val=this;if(arguments.length===0){this.isTraverser=new U.ptr();this.Name="";this.SrcRange=new AQ.ptr("",new AP.ptr(0,0,0),new AP.ptr(0,0,0));return;}this.isTraverser=isTraverser_;this.Name=Name_;this.SrcRange=SrcRange_;});W=$pkg.TraverseAttr=$newType(0,$kindStruct,"hcl.TraverseAttr",true,"github.com/hashicorp/hcl/v2",true,function(isTraverser_,Name_,SrcRange_){this.$val=this;if(arguments.length===0){this.isTraverser=new U.ptr();this.Name="";this.SrcRange=new AQ.ptr("",new AP.ptr(0,0,0),new AP.ptr(0,0,0));return;}this.isTraverser=isTraverser_;this.Name=Name_;this.SrcRange=SrcRange_;});X=$pkg.TraverseIndex=$newType(0,$kindStruct,"hcl.TraverseIndex",true,"github.com/hashicorp/hcl/v2",true,function(isTraverser_,Key_,SrcRange_){this.$val=this;if(arguments.length===0){this.isTraverser=new U.ptr();this.Key=new B.Value.ptr(new B.Type.ptr($ifaceNil),$ifaceNil);this.SrcRange=new AQ.ptr("",new AP.ptr(0,0,0),new AP.ptr(0,0,0));return;}this.isTraverser=isTraverser_;this.Key=Key_;this.SrcRange=SrcRange_;});Z=$pkg.File=$newType(0,$kindStruct,"hcl.File",true,"github.com/hashicorp/hcl/v2",true,function(Body_,Bytes_,Nav_){this.$val=this;if(arguments.length===0){this.Body=$ifaceNil;this.Bytes=CK.nil;this.Nav=$ifaceNil;return;}this.Body=Body_;this.Bytes=Bytes_;this.Nav=Nav_;});AA=$pkg.Block=$newType(0,$kindStruct,"hcl.Block",true,"github.com/hashicorp/hcl/v2",true,function(Type_,Labels_,Body_,DefRange_,TypeRange_,LabelRanges_){this.$val=this;if(arguments.length===0){this.Type="";this.Labels=BZ.nil;this.Body=$ifaceNil;this.DefRange=new AQ.ptr("",new AP.ptr(0,0,0),new AP.ptr(0,0,0));this.TypeRange=new AQ.ptr("",new AP.ptr(0,0,0),new AP.ptr(0,0,0));this.LabelRanges=DA.nil;return;}this.Type=Type_;this.Labels=Labels_;this.Body=Body_;this.DefRange=DefRange_;this.TypeRange=TypeRange_;this.LabelRanges=LabelRanges_;});AB=$pkg.Blocks=$newType(12,$kindSlice,"hcl.Blocks",true,"github.com/hashicorp/hcl/v2",true,null);AC=$pkg.Attributes=$newType(4,$kindMap,"hcl.Attributes",true,"github.com/hashicorp/hcl/v2",true,null);AD=$pkg.Body=$newType(8,$kindInterface,"hcl.Body",true,"github.com/hashicorp/hcl/v2",true,null);AE=$pkg.BodyContent=$newType(0,$kindStruct,"hcl.BodyContent",true,"github.com/hashicorp/hcl/v2",true,function(Attributes_,Blocks_,MissingItemRange_){this.$val=this;if(arguments.length===0){this.Attributes=false;this.Blocks=AB.nil;this.MissingItemRange=new AQ.ptr("",new AP.ptr(0,0,0),new AP.ptr(0,0,0));return;}this.Attributes=Attributes_;this.Blocks=Blocks_;this.MissingItemRange=MissingItemRange_;});AF=$pkg.Attribute=$newType(0,$kindStruct,"hcl.Attribute",true,"github.com/hashicorp/hcl/v2",true,function(Name_,Expr_,Range_,NameRange_){this.$val=this;if(arguments.length===0){this.Name="";this.Expr=$ifaceNil;this.Range=new AQ.ptr("",new AP.ptr(0,0,0),new AP.ptr(0,0,0));this.NameRange=new AQ.ptr("",new AP.ptr(0,0,0),new AP.ptr(0,0,0));return;}this.Name=Name_;this.Expr=Expr_;this.Range=Range_;this.NameRange=NameRange_;});AG=$pkg.Expression=$newType(8,$kindInterface,"hcl.Expression",true,"github.com/hashicorp/hcl/v2",true,null);AJ=$pkg.BlockHeaderSchema=$newType(0,$kindStruct,"hcl.BlockHeaderSchema",true,"github.com/hashicorp/hcl/v2",true,function(Type_,LabelNames_){this.$val=this;if(arguments.length===0){this.Type="";this.LabelNames=BZ.nil;return;}this.Type=Type_;this.LabelNames=LabelNames_;});AK=$pkg.AttributeSchema=$newType(0,$kindStruct,"hcl.AttributeSchema",true,"github.com/hashicorp/hcl/v2",true,function(Name_,Required_){this.$val=this;if(arguments.length===0){this.Name="";this.Required=false;return;}this.Name=Name_;this.Required=Required_;});AL=$pkg.BodySchema=$newType(0,$kindStruct,"hcl.BodySchema",true,"github.com/hashicorp/hcl/v2",true,function(Attributes_,Blocks_){this.$val=this;if(arguments.length===0){this.Attributes=CM.nil;this.Blocks=CN.nil;return;}this.Attributes=Attributes_;this.Blocks=Blocks_;});AP=$pkg.Pos=$newType(0,$kindStruct,"hcl.Pos",true,"github.com/hashicorp/hcl/v2",true,function(Line_,Column_,Byte_){this.$val=this;if(arguments.length===0){this.Line=0;this.Column=0;this.Byte=0;return;}this.Line=Line_;this.Column=Column_;this.Byte=Byte_;});AQ=$pkg.Range=$newType(0,$kindStruct,"hcl.Range",true,"github.com/hashicorp/hcl/v2",true,function(Filename_,Start_,End_){this.$val=this;if(arguments.length===0){this.Filename="";this.Start=new AP.ptr(0,0,0);this.End=new AP.ptr(0,0,0);return;}this.Filename=Filename_;this.Start=Start_;this.End=End_;});BB=$pkg.unwrapExpression=$newType(8,$kindInterface,"hcl.unwrapExpression",true,"github.com/hashicorp/hcl/v2",false,null);BF=$pkg.KeyValuePair=$newType(0,$kindStruct,"hcl.KeyValuePair",true,"github.com/hashicorp/hcl/v2",true,function(Key_,Value_){this.$val=this;if(arguments.length===0){this.Key=$ifaceNil;this.Value=$ifaceNil;return;}this.Key=Key_;this.Value=Value_;});BI=$pkg.StaticCall=$newType(0,$kindStruct,"hcl.StaticCall",true,"github.com/hashicorp/hcl/v2",true,function(Name_,NameRange_,Arguments_,ArgsRange_){this.$val=this;if(arguments.length===0){this.Name="";this.NameRange=new AQ.ptr("",new AP.ptr(0,0,0),new AP.ptr(0,0,0));this.Arguments=CS.nil;this.ArgsRange=new AQ.ptr("",new AP.ptr(0,0,0),new AP.ptr(0,0,0));return;}this.Name=Name_;this.NameRange=NameRange_;this.Arguments=Arguments_;this.ArgsRange=ArgsRange_;});BJ=$pkg.EvalContext=$newType(0,$kindStruct,"hcl.EvalContext",true,"github.com/hashicorp/hcl/v2",true,function(Variables_,Functions_,parent_){this.$val=this;if(arguments.length===0){this.Variables=false;this.Functions=false;this.parent=BW.nil;return;}this.Variables=Variables_;this.Functions=Functions_;this.parent=parent_;});BO=$pkg.DiagnosticSeverity=$newType(4,$kindInt,"hcl.DiagnosticSeverity",true,"github.com/hashicorp/hcl/v2",true,null);BP=$pkg.Diagnostic=$newType(0,$kindStruct,"hcl.Diagnostic",true,"github.com/hashicorp/hcl/v2",true,function(Severity_,Summary_,Detail_,Subject_,Context_,Expression_,EvalContext_){this.$val=this;if(arguments.length===0){this.Severity=0;this.Summary="";this.Detail="";this.Subject=BV.nil;this.Context=BV.nil;this.Expression=$ifaceNil;this.EvalContext=BW.nil;return;}this.Severity=Severity_;this.Summary=Summary_;this.Detail=Detail_;this.Subject=Subject_;this.Context=Context_;this.Expression=Expression_;this.EvalContext=EvalContext_;});BQ=$pkg.Diagnostics=$newType(12,$kindSlice,"hcl.Diagnostics",true,"github.com/hashicorp/hcl/v2",true,null);BT=$newType(8,$kindInterface,"hcl.asTraversal",true,"github.com/hashicorp/hcl/v2",false,null);BX=$newType(8,$kindInterface,"hcl.asTraversal",true,"github.com/hashicorp/hcl/v2",false,null);CB=$newType(8,$kindInterface,"hcl.Interface",true,"github.com/hashicorp/hcl/v2",true,null);CE=$newType(8,$kindInterface,"hcl.Interface",true,"github.com/hashicorp/hcl/v2",true,null);CF=$newType(8,$kindInterface,"hcl.Interface",true,"github.com/hashicorp/hcl/v2",true,null);CG=$newType(8,$kindInterface,"hcl.Interface",true,"github.com/hashicorp/hcl/v2",true,null);CH=$newType(8,$kindInterface,"hcl.Interface",true,"github.com/hashicorp/hcl/v2",true,null);BU=$ptrType(BP);BV=$ptrType(AQ);BW=$ptrType(BJ);BY=$sliceType(BU);BZ=$sliceType($String);CA=$sliceType($emptyInterface);CC=$ptrType(AA);CD=$sliceType(CC);CI=$ptrType(AF);CJ=$sliceType(Q);CK=$sliceType($Uint8);CL=$ptrType(F.Int);CM=$sliceType(AK);CN=$sliceType(AJ);CO=$ptrType(AE);CS=$sliceType(AG);CV=$ptrType(I.Params);CW=$ptrType(Z);CZ=$sliceType($error);DA=$sliceType(AQ);DB=$mapType($String,AB);DC=$ptrType(AL);DE=$mapType($String,B.Value);DF=$mapType($String,H.Function);N=function(a){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=BD(a,(function(b){var b,c,d;c=$assertType(b,BT,true);d=c[1];return d;}));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;d=$assertType(c,BT,true);e=d[0];f=d[1];if(f){$s=2;continue;}$s=3;continue;case 2:g=e.AsTraversal();$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!(h===Q.nil)){$s=-1;return[h,BQ.nil];}case 3:i=a.Range();$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=$clone(i,AQ).Ptr();$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=[Q.nil,new BQ([new BP.ptr(1,"Invalid expression","A single static variable reference is required: only attribute access and indexing with constant keys. No calculations, function calls, template expressions, etc are allowed here.",j,BV.nil,$ifaceNil,BW.nil)])];$s=7;case 7:return k;}return;}if($f===undefined){$f={$blk:N};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};$pkg.AbsTraversalForExpr=N;P=function(a){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=BD(a,(function(b){var b,c,d;c=$assertType(b,BX,true);d=c[1];return d;}));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;d=$assertType(c,BX,true);e=d[0];f=d[1];if(f){$s=2;continue;}$s=3;continue;case 2:g=e.AsTraversal();$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(h.$length===1){$s=-1;return h.RootName();}case 3:$s=-1;return"";}return;}if($f===undefined){$f={$blk:P};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ExprAsKeyword=P;R=function(a,b){var a,b,c;if(a.IsRelative()){$panic(new $String("first argument to TraversalJoin must be absolute"));}if(!b.IsRelative()){$panic(new $String("second argument to TraversalJoin must be relative"));}c=$makeSlice(Q,(a.$length+b.$length>>0));$copySlice(c,a);$copySlice($subslice(c,a.$length),b);return c;};$pkg.TraversalJoin=R;Q.prototype.TraverseRel=function(a){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(!b.IsRelative()){$panic(new $String("can't use TraverseRel on an absolute traversal"));}c=$clone(a,B.Value);d=BQ.nil;e=b;f=0;case 1:if(!(f<e.$length)){$s=2;continue;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);h=BQ.nil;j=g.TraversalStep($clone(c,B.Value));$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;B.Value.copy(c,i[0]);h=i[1];d=$appendSlice(d,$convertSliceType(h,BY));if(h.HasErrors()){$s=-1;return[B.DynamicVal,d];}f++;$s=1;continue;case 2:$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:Q.prototype.TraverseRel};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(Q).prototype.TraverseRel=function(a){return this.$get().TraverseRel(a);};Q.prototype.TraverseAbs=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(b.IsRelative()){$panic(new $String("can't use TraverseAbs on a relative traversal"));}c=$clone(b.SimpleSplit(),S);e=$clone($assertType((d=c.Abs,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])),V),V);f=e.Name;g=a;h=false;case 1:if(!(!(g===BW.nil))){$s=2;continue;}if(g.Variables===false){g=g.parent;$s=1;continue;}h=true;i=(j=g.Variables[$String.keyFor(f)],j!==undefined?[j.v,true]:[new B.Value.ptr(new B.Type.ptr($ifaceNil),$ifaceNil),false]);k=$clone(i[0],B.Value);l=i[1];if(l){$s=3;continue;}$s=4;continue;case 3:m=c.Rel.TraverseRel($clone(k,B.Value));$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=6;case 6:return n;case 4:g=g.parent;$s=1;continue;case 2:if(!h){$s=-1;return[B.DynamicVal,new BQ([new BP.ptr(1,"Variables not allowed","Variables may not be used here.",e.SrcRange,BV.nil,$ifaceNil,BW.nil)])];}o=$makeSlice(BZ,0,$keys(a.Variables).length);g=a;while(true){if(!(!(g===BW.nil))){break;}p=g.Variables;q=0;r=$keys(p);while(true){if(!(q<r.length)){break;}s=p[r[q]];if(s===undefined){q++;continue;}t=s.k;o=$append(o,t);q++;}g=g.parent;}u=BK(f,o);if(!(u==="")){$s=7;continue;}$s=8;continue;case 7:v=A.Sprintf(" Did you mean %q?",new CA([new $String(u)]));$s=9;case 9:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;case 8:w=A.Sprintf("There is no variable named %q.%s",new CA([new $String(f),new $String(u)]));$s=10;case 10:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=[B.DynamicVal,new BQ([new BP.ptr(1,"Unknown variable",w,e.SrcRange,BV.nil,$ifaceNil,BW.nil)])];$s=11;case 11:return x;}return;}if($f===undefined){$f={$blk:Q.prototype.TraverseAbs};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(Q).prototype.TraverseAbs=function(a){return this.$get().TraverseAbs(a);};Q.prototype.IsRelative=function(){var a,b,c;a=this;if(a.$length===0){return true;}b=$assertType((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),V,true);c=b[1];if(c){return false;}return true;};$ptrType(Q).prototype.IsRelative=function(){return this.$get().IsRelative();};Q.prototype.SimpleSplit=function(){var a;a=this;if(a.IsRelative()){$panic(new $String("can't use SimpleSplit on a relative traversal"));}return new S.ptr($subslice(a,0,1),$subslice(a,1));};$ptrType(Q).prototype.SimpleSplit=function(){return this.$get().SimpleSplit();};Q.prototype.RootName=function(){var a;a=this;if(a.IsRelative()){$panic(new $String("can't use RootName on a relative traversal"));}return $assertType((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),V).Name;};$ptrType(Q).prototype.RootName=function(){return this.$get().RootName();};Q.prototype.SourceRange=function(){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.$length===0){$s=-1;return new AQ.ptr("",new AP.ptr(0,0,0),new AP.ptr(0,0,0));}b=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]).SourceRange();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=$clone(b,AQ);e=(d=a.$length-1>>0,((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d])).SourceRange();$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$clone(e,AQ);g=AR(c,f);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=4;case 4:return h;}return;}if($f===undefined){$f={$blk:Q.prototype.SourceRange};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(Q).prototype.SourceRange=function(){return this.$get().SourceRange();};S.ptr.prototype.TraverseAbs=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Abs.TraverseAbs(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.TraverseAbs};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.TraverseAbs=function(a){return this.$val.TraverseAbs(a);};S.ptr.prototype.TraverseRel=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Rel.TraverseRel($clone(a,B.Value));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.TraverseRel};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.TraverseRel=function(a){return this.$val.TraverseRel(a);};S.ptr.prototype.Traverse=function(a){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=$clone(b,S).TraverseAbs(a);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=$clone(c[0],B.Value);f=c[1];if(f.HasErrors()){$s=-1;return[B.DynamicVal,f];}h=$clone(b,S).TraverseRel($clone(e,B.Value));$s=2;case 2:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=$clone(g[0],B.Value);j=g[1];f=$appendSlice(f,$convertSliceType(j,BY));$s=-1;return[i,f];}return;}if($f===undefined){$f={$blk:S.ptr.prototype.Traverse};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.Traverse=function(a){return this.$val.Traverse(a);};S.ptr.prototype.Join=function(){var a;a=this;return R(a.Abs,a.Rel);};S.prototype.Join=function(){return this.$val.Join();};S.ptr.prototype.RootName=function(){var a;a=this;return a.Abs.RootName();};S.prototype.RootName=function(){return this.$val.RootName();};V.ptr.prototype.TraversalStep=function(a){var a,b;b=this;$panic(new $String("Cannot traverse an absolute traversal"));};V.prototype.TraversalStep=function(a){return this.$val.TraversalStep(a);};V.ptr.prototype.SourceRange=function(){var a;a=this;return a.SrcRange;};V.prototype.SourceRange=function(){return this.$val.SourceRange();};W.ptr.prototype.TraversalStep=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=AU($clone(a,B.Value),b.Name,b.SrcRange);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:W.ptr.prototype.TraversalStep};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};W.prototype.TraversalStep=function(a){return this.$val.TraversalStep(a);};W.ptr.prototype.SourceRange=function(){var a;a=this;return a.SrcRange;};W.prototype.SourceRange=function(){return this.$val.SourceRange();};X.ptr.prototype.TraversalStep=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=AT($clone(a,B.Value),$clone(b.Key,B.Value),b.SrcRange);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:X.ptr.prototype.TraversalStep};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};X.prototype.TraversalStep=function(a){return this.$val.TraversalStep(a);};X.ptr.prototype.SourceRange=function(){var a;a=this;return a.SrcRange;};X.prototype.SourceRange=function(){return this.$val.SourceRange();};Z.ptr.prototype.BlocksAtPos=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$assertType(b.Body,CB,true);d=c[0];e=c[1];if(!e){$s=-1;return CD.nil;}f=d.BlocksAtPos($clone(a,AP));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:Z.ptr.prototype.BlocksAtPos};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};Z.prototype.BlocksAtPos=function(a){return this.$val.BlocksAtPos(a);};Z.ptr.prototype.OutermostBlockAtPos=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$assertType(b.Body,CE,true);d=c[0];e=c[1];if(!e){$s=-1;return CC.nil;}f=d.OutermostBlockAtPos($clone(a,AP));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:Z.ptr.prototype.OutermostBlockAtPos};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};Z.prototype.OutermostBlockAtPos=function(a){return this.$val.OutermostBlockAtPos(a);};Z.ptr.prototype.InnermostBlockAtPos=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$assertType(b.Body,CF,true);d=c[0];e=c[1];if(!e){$s=-1;return CC.nil;}f=d.InnermostBlockAtPos($clone(a,AP));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:Z.ptr.prototype.InnermostBlockAtPos};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};Z.prototype.InnermostBlockAtPos=function(a){return this.$val.InnermostBlockAtPos(a);};Z.ptr.prototype.OutermostExprAtPos=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$assertType(b.Body,CG,true);d=c[0];e=c[1];if(!e){$s=-1;return $ifaceNil;}f=d.OutermostExprAtPos($clone(a,AP));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:Z.ptr.prototype.OutermostExprAtPos};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};Z.prototype.OutermostExprAtPos=function(a){return this.$val.OutermostExprAtPos(a);};Z.ptr.prototype.AttributeAtPos=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$assertType(b.Body,CH,true);d=c[0];e=c[1];if(!e){$s=-1;return CI.nil;}f=d.AttributeAtPos($clone(a,AP));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:Z.ptr.prototype.AttributeAtPos};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};Z.prototype.AttributeAtPos=function(a){return this.$val.AttributeAtPos(a);};AB.prototype.OfType=function(a){var a,b,c,d,e,f;b=this;c=$makeSlice(AB,0);d=b;e=0;while(true){if(!(e<d.$length)){break;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(f.Type===a){c=$append(c,f);}e++;}return c;};$ptrType(AB).prototype.OfType=function(a){return this.$get().OfType(a);};AB.prototype.ByType=function(){var a,b,c,d,e,f,g,h,i,j;a=this;b={};c=a;d=0;while(true){if(!(d<c.$length)){break;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);f=e.Type;if((g=b[$String.keyFor(f)],g!==undefined?g.v:AB.nil)===AB.nil){h=f;(b||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(h)]={k:h,v:$makeSlice(AB,0,1)};}i=f;(b||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(i)]={k:i,v:$append((j=b[$String.keyFor(f)],j!==undefined?j.v:AB.nil),e)};d++;}return b;};$ptrType(AB).prototype.ByType=function(){return this.$get().ByType();};AR=function(a,b){var a,b;return new AQ.ptr(a.Filename,$clone(a.Start,AP),$clone(b.End,AP));};$pkg.RangeBetween=AR;AQ.ptr.prototype.ContainsPos=function(a){var a,b;b=this;return $clone(b,AQ).ContainsOffset(a.Byte);};AQ.prototype.ContainsPos=function(a){return this.$val.ContainsPos(a);};AQ.ptr.prototype.ContainsOffset=function(a){var a,b;b=this;return a>=b.Start.Byte&&a<b.End.Byte;};AQ.prototype.ContainsOffset=function(a){return this.$val.ContainsOffset(a);};AQ.ptr.prototype.Ptr=function(){var a;a=this;return a;};AQ.prototype.Ptr=function(){return this.$val.Ptr();};AQ.ptr.prototype.String=function(){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.Start.Line===a.End.Line){$s=1;continue;}$s=2;continue;case 1:b=A.Sprintf("%s:%d,%d-%d",new CA([new $String(a.Filename),new $Int(a.Start.Line),new $Int(a.Start.Column),new $Int(a.End.Column)]));$s=4;case 4:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=5;case 5:return c;case 2:d=A.Sprintf("%s:%d,%d-%d,%d",new CA([new $String(a.Filename),new $Int(a.Start.Line),new $Int(a.Start.Column),new $Int(a.End.Line),new $Int(a.End.Column)]));$s=6;case 6:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=7;case 7:return e;case 3:$s=-1;return"";}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.String};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.String=function(){return this.$val.String();};AQ.ptr.prototype.Empty=function(){var a;a=this;return a.Start.Byte===a.End.Byte;};AQ.prototype.Empty=function(){return this.$val.Empty();};AQ.ptr.prototype.CanSliceBytes=function(a){var a,b;b=this;if(b.Start.Byte<0||b.Start.Byte>a.$length){return false;}else if(b.End.Byte<0||b.End.Byte>a.$length){return false;}else if(b.End.Byte<b.Start.Byte){return false;}else{return true;}};AQ.prototype.CanSliceBytes=function(a){return this.$val.CanSliceBytes(a);};AQ.ptr.prototype.SliceBytes=function(a){var a,b,c,d;b=this;c=b.Start.Byte;d=b.End.Byte;if(c<0){c=0;}else if(c>a.$length){c=a.$length;}if(d<0){d=0;}else if(d>a.$length){d=a.$length;}if(d<c){d=c;}return $subslice(a,c,d);};AQ.prototype.SliceBytes=function(a){return this.$val.SliceBytes(a);};AQ.ptr.prototype.Overlaps=function(a){var a,b;b=this;if(!(b.Filename===a.Filename)){return false;}else if($clone(b,AQ).Empty()||$clone(a,AQ).Empty()){return false;}else if($clone(b,AQ).ContainsOffset(a.Start.Byte)||$clone(b,AQ).ContainsOffset(a.End.Byte)){return true;}else if($clone(a,AQ).ContainsOffset(b.Start.Byte)||$clone(a,AQ).ContainsOffset(b.End.Byte)){return true;}else{return false;}};AQ.prototype.Overlaps=function(a){return this.$val.Overlaps(a);};AQ.ptr.prototype.Overlap=function(a){var a,b,c,d,e,f;b=this;if(!$clone(b,AQ).Overlaps($clone(a,AQ))){return new AQ.ptr(b.Filename,$clone(b.Start,AP),$clone(b.Start,AP));}c=new AP.ptr(0,0,0);d=new AP.ptr(0,0,0);e=$clone(c,AP);f=$clone(d,AP);if(b.Start.Byte>a.Start.Byte){AP.copy(e,b.Start);}else{AP.copy(e,a.Start);}if(b.End.Byte<a.End.Byte){AP.copy(f,b.End);}else{AP.copy(f,a.End);}return new AQ.ptr(b.Filename,$clone(e,AP),$clone(f,AP));};AQ.prototype.Overlap=function(a){return this.$val.Overlap(a);};AQ.ptr.prototype.PartitionAround=function(a){var a,b,c,d,e,f,g,h,i,j,k;b=new AQ.ptr("",new AP.ptr(0,0,0),new AP.ptr(0,0,0));c=new AQ.ptr("",new AP.ptr(0,0,0),new AP.ptr(0,0,0));d=new AQ.ptr("",new AP.ptr(0,0,0),new AP.ptr(0,0,0));e=this;AQ.copy(c,$clone(e,AQ).Overlap($clone(a,AQ)));if($clone(c,AQ).Empty()){f=$clone(c,AQ);g=$clone(c,AQ);h=$clone(c,AQ);AQ.copy(b,f);AQ.copy(c,g);AQ.copy(d,h);return[b,c,d];}AQ.copy(b,new AQ.ptr(e.Filename,$clone(e.Start,AP),$clone(c.Start,AP)));AQ.copy(d,new AQ.ptr(e.Filename,$clone(c.End,AP),$clone(e.End,AP)));i=$clone(b,AQ);j=$clone(c,AQ);k=$clone(d,AQ);AQ.copy(b,i);AQ.copy(c,j);AQ.copy(d,k);return[b,c,d];};AQ.prototype.PartitionAround=function(a){return this.$val.PartitionAround(a);};AT=function(a,b,c){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($clone(a,B.Value).IsNull()){$s=-1;return[B.DynamicVal,new BQ([new BP.ptr(1,"Attempt to index null value","This value is null, so it does not have any indices.",c,BV.nil,$ifaceNil,BW.nil)])];}if($clone(b,B.Value).IsNull()){$s=-1;return[B.DynamicVal,new BQ([new BP.ptr(1,"Invalid index","Can't use a null value as an indexing key.",c,BV.nil,$ifaceNil,BW.nil)])];}d=$clone($clone(a,B.Value).Type(),B.Type);e=$clone($clone(b,B.Value).Type(),B.Type);if($equal(e,B.DynamicPseudoType,B.Type)||$equal(d,B.DynamicPseudoType,B.Type)){$s=-1;return[B.DynamicVal,BQ.nil];}if($clone(d,B.Type).IsListType()||$clone(d,B.Type).IsTupleType()||$clone(d,B.Type).IsMapType()){$s=2;continue;}if($clone(d,B.Type).IsObjectType()){$s=3;continue;}if($clone(d,B.Type).IsSetType()){$s=4;continue;}$s=5;continue;case 2:f=new B.Type.ptr($ifaceNil);if($clone(d,B.Type).IsListType()||$clone(d,B.Type).IsTupleType()){B.Type.copy(f,B.Number);}else if($clone(d,B.Type).IsMapType()){B.Type.copy(f,B.String);}else{$panic(new $String("don't know what key type we want"));}h=G.Convert($clone(b,B.Value),$clone(f,B.Type));$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=$clone(g[0],B.Value);j=g[1];if(!($interfaceIsEqual(j,$ifaceNil))){$s=8;continue;}$s=9;continue;case 8:k=j.Error();$s=10;case 10:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=new $String(k);m=A.Sprintf("The given key does not identify an element in this collection value: %s.",new CA([l]));$s=11;case 11:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=[B.DynamicVal,new BQ([new BP.ptr(1,"Invalid index",m,c,BV.nil,$ifaceNil,BW.nil)])];$s=12;case 12:return n;case 9:p=$clone(a,B.Value).HasIndex($clone(i,B.Value));$s=13;case 13:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=$clone(p,B.Value).Unmark();$s=14;case 14:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}o=q;r=$clone(o[0],B.Value);if(!$clone(r,B.Value).IsKnown()){$s=15;continue;}$s=16;continue;case 15:if($clone(d,B.Type).IsTupleType()){$s=17;continue;}$s=18;continue;case 17:$s=-1;return[B.DynamicVal,BQ.nil];case 18:s=$clone(d,B.Type).ElementType();$s=20;case 20:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=B.UnknownVal($clone(s,B.Type));$s=21;case 21:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=[t,BQ.nil];$s=22;case 22:return u;case 19:case 16:v=$clone(r,B.Value).False();$s=25;case 25:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}if(v){$s=23;continue;}$s=24;continue;case 23:if(!($clone(d,B.Type).IsListType()||$clone(d,B.Type).IsTupleType())){w=false;$s=28;continue s;}x=$clone($clone(i,B.Value).Type(),B.Type).Equals($clone(B.Number,B.Type));$s=29;case 29:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;case 28:if(w){$s=26;continue;}$s=27;continue;case 26:if($clone(i,B.Value).IsKnown()&&!$clone(i,B.Value).IsNull()){$s=30;continue;}$s=31;continue;case 30:y=$clone(i,B.Value).Unmark();z=$clone(y[0],B.Value);aa=$clone(z,B.Value).AsBigFloat();$s=32;case 32:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;ad=ab.Int(CL.nil);$s=33;case 33:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;ae=ac[1];if(!((ae===0))){$s=-1;return[B.DynamicVal,new BQ([new BP.ptr(1,"Invalid index","The given key does not identify an element in this collection value: indexing a sequence requires a whole number, but the given index has a fractional part.",c,BV.nil,$ifaceNil,BW.nil)])];}af=ab.Sign();$s=36;case 36:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}if(af<0){$s=34;continue;}$s=35;continue;case 34:$s=-1;return[B.DynamicVal,new BQ([new BP.ptr(1,"Invalid index","The given key does not identify an element in this collection value: a negative number is not a valid index for a sequence.",c,BV.nil,$ifaceNil,BW.nil)])];case 35:ag=$clone(a,B.Value).Length();$s=37;case 37:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=$clone(ag,B.Value);if($clone(ah,B.Value).IsKnown()&&!$clone(ah,B.Value).IsMarked()){$s=38;continue;}$s=39;continue;case 38:ai=$clone(ah,B.Value).AsBigFloat();$s=40;case 40:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=ai;ak=new F.Float.ptr(0,0,0,0,false,F.nat.nil,0);al=ak.Sub(ab,aj);$s=41;case 41:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}al;am=ak.Sign();$s=44;case 44:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}if(am<1){$s=42;continue;}$s=43;continue;case 42:an=aj.Sign();$s=48;case 48:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}if(an===0){$s=45;continue;}$s=46;continue;case 45:$s=-1;return[B.DynamicVal,new BQ([new BP.ptr(1,"Invalid index","The given key does not identify an element in this collection value: the collection has no elements.",c,BV.nil,$ifaceNil,BW.nil)])];case 46:$s=-1;return[B.DynamicVal,new BQ([new BP.ptr(1,"Invalid index","The given key does not identify an element in this collection value: the given index is greater than or equal to the length of the collection.",c,BV.nil,$ifaceNil,BW.nil)])];case 47:case 43:case 39:case 31:case 27:$s=-1;return[B.DynamicVal,new BQ([new BP.ptr(1,"Invalid index","The given key does not identify an element in this collection value.",c,BV.nil,$ifaceNil,BW.nil)])];case 24:ao=$clone(a,B.Value).Index($clone(i,B.Value));$s=49;case 49:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=[ao,BQ.nil];$s=50;case 50:return ap;case 3:aq=$equal($clone(b,B.Value).Type(),B.Number,B.Type);as=G.Convert($clone(b,B.Value),$clone(B.String,B.Type));$s=51;case 51:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as;at=$clone(ar[0],B.Value);au=ar[1];if(!($interfaceIsEqual(au,$ifaceNil))){$s=52;continue;}$s=53;continue;case 52:av=au.Error();$s=54;case 54:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=new $String(av);ax=A.Sprintf("The given key does not identify an element in this collection value: %s.",new CA([aw]));$s=55;case 55:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ay=[B.DynamicVal,new BQ([new BP.ptr(1,"Invalid index",ax,c,BV.nil,$ifaceNil,BW.nil)])];$s=56;case 56:return ay;case 53:if(!$clone(a,B.Value).IsKnown()){$s=-1;return[B.DynamicVal,BQ.nil];}if(!$clone(at,B.Value).IsKnown()){$s=-1;return[B.DynamicVal,BQ.nil];}az=$clone(at,B.Value).Unmark();B.Value.copy(at,az[0]);ba=$clone(at,B.Value).AsString();bb=$clone(d,B.Type).HasAttribute(ba);$s=59;case 59:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}if(!bb){$s=57;continue;}$s=58;continue;case 57:bc="";if(aq){bc=" An object only supports looking up attributes by name, not by numeric index.";}bd=A.Sprintf("The given key does not identify an element in this collection value.%s",new CA([new $String(bc)]));$s=60;case 60:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}be=[B.DynamicVal,new BQ([new BP.ptr(1,"Invalid index",bd,c,BV.nil,$ifaceNil,BW.nil)])];$s=61;case 61:return be;case 58:bf=$clone(a,B.Value).GetAttr(ba);$s=62;case 62:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}bg=[bf,BQ.nil];$s=63;case 63:return bg;case 4:$s=-1;return[B.DynamicVal,new BQ([new BP.ptr(1,"Invalid index","Elements of a set are identified only by their value and don't have any separate index or key to select with, so it's only possible to perform operations across all elements of the set.",c,BV.nil,$ifaceNil,BW.nil)])];case 5:$s=-1;return[B.DynamicVal,new BQ([new BP.ptr(1,"Invalid index","This value does not have any indices.",c,BV.nil,$ifaceNil,BW.nil)])];case 6:case 1:$s=-1;return[new B.Value.ptr(new B.Type.ptr($ifaceNil),$ifaceNil),BQ.nil];}return;}if($f===undefined){$f={$blk:AT};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Index=AT;AU=function(a,b,c){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($clone(a,B.Value).IsNull()){$s=-1;return[B.DynamicVal,new BQ([new BP.ptr(1,"Attempt to get attribute from null value","This value is null, so it does not have any attributes.",c,BV.nil,$ifaceNil,BW.nil)])];}d=$clone($clone(a,B.Value).Type(),B.Type);if($clone(d,B.Type).IsObjectType()){$s=2;continue;}if($clone(d,B.Type).IsMapType()){$s=3;continue;}if($equal(d,B.DynamicPseudoType,B.Type)){$s=4;continue;}if(!($clone(d,B.Type).IsListType())){e=false;$s=10;continue s;}f=$clone(d,B.Type).ElementType();$s=11;case 11:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=$clone(f,B.Type).IsObjectType();$s=12;case 12:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}e=g;case 10:if(e){$s=5;continue;}if(!($clone(d,B.Type).IsSetType())){h=false;$s=13;continue s;}i=$clone(d,B.Type).ElementType();$s=14;case 14:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=$clone(i,B.Type).IsObjectType();$s=15;case 15:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}h=j;case 13:if(h){$s=6;continue;}if($clone(d,B.Type).IsPrimitiveType()){$s=7;continue;}$s=8;continue;case 2:k=$clone(d,B.Type).HasAttribute(b);$s=18;case 18:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(!k){$s=16;continue;}$s=17;continue;case 16:l=A.Sprintf("This object does not have an attribute named %q.",new CA([new $String(b)]));$s=19;case 19:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=[B.DynamicVal,new BQ([new BP.ptr(1,"Unsupported attribute",l,c,BV.nil,$ifaceNil,BW.nil)])];$s=20;case 20:return m;case 17:if(!$clone(a,B.Value).IsKnown()){$s=21;continue;}$s=22;continue;case 21:n=$clone(d,B.Type).AttributeType(b);$s=23;case 23:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=B.UnknownVal($clone(n,B.Type));$s=24;case 24:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=[o,BQ.nil];$s=25;case 25:return p;case 22:q=$clone(a,B.Value).GetAttr(b);$s=26;case 26:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=[q,BQ.nil];$s=27;case 27:return r;case 3:if(!$clone(a,B.Value).IsKnown()){$s=28;continue;}$s=29;continue;case 28:s=$clone(d,B.Type).ElementType();$s=30;case 30:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=B.UnknownVal($clone(s,B.Type));$s=31;case 31:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=[t,BQ.nil];$s=32;case 32:return u;case 29:v=B.StringVal(b);$s=33;case 33:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=$clone(v,B.Value);y=$clone(a,B.Value).HasIndex($clone(w,B.Value));$s=34;case 34:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=$clone(y,B.Value).Unmark();$s=35;case 35:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}x=z;aa=$clone(x[0],B.Value);ab=$clone(aa,B.Value).False();$s=38;case 38:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}if(ab){$s=36;continue;}$s=37;continue;case 36:ac=A.Sprintf("This map does not have an element with the key %q.",new CA([new $String(b)]));$s=39;case 39:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=[B.DynamicVal,new BQ([new BP.ptr(1,"Missing map element",ac,c,BV.nil,$ifaceNil,BW.nil)])];$s=40;case 40:return ad;case 37:ae=$clone(a,B.Value).Index($clone(w,B.Value));$s=41;case 41:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=[ae,BQ.nil];$s=42;case 42:return af;case 4:$s=-1;return[B.DynamicVal,BQ.nil];case 5:ag=$clone(d,B.Type).ElementType();$s=47;case 47:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=$clone(ag,B.Type).HasAttribute(b);$s=48;case 48:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}if(ah){$s=44;continue;}$s=45;continue;case 44:ai=A.Sprintf("Can't access attributes on a list of objects. Did you mean to access attribute %q for a specific element of the list, or across all elements of the list?",new CA([new $String(b)]));$s=49;case 49:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=[B.DynamicVal,new BQ([new BP.ptr(1,"Unsupported attribute",ai,c,BV.nil,$ifaceNil,BW.nil)])];$s=50;case 50:return aj;case 45:$s=-1;return[B.DynamicVal,new BQ([new BP.ptr(1,"Unsupported attribute","Can't access attributes on a list of objects. Did you mean to access an attribute for a specific element of the list, or across all elements of the list?",c,BV.nil,$ifaceNil,BW.nil)])];case 46:case 43:$s=9;continue;case 6:$s=-1;return[B.DynamicVal,new BQ([new BP.ptr(1,"Unsupported attribute","Can't access attributes on a set of objects. Did you mean to access an attribute across all elements of the set?",c,BV.nil,$ifaceNil,BW.nil)])];case 7:ak=$clone(d,B.Type).FriendlyName();$s=51;case 51:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=new $String(ak);am=A.Sprintf("Can't access attributes on a primitive-typed value (%s).",new CA([al]));$s=52;case 52:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=[B.DynamicVal,new BQ([new BP.ptr(1,"Unsupported attribute",am,c,BV.nil,$ifaceNil,BW.nil)])];$s=53;case 53:return an;case 8:$s=-1;return[B.DynamicVal,new BQ([new BP.ptr(1,"Unsupported attribute","This value does not have any attributes.",c,BV.nil,$ifaceNil,BW.nil)])];case 9:case 1:$s=-1;return[new B.Value.ptr(new B.Type.ptr($ifaceNil),$ifaceNil),BQ.nil];}return;}if($f===undefined){$f={$blk:AU};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.GetAttr=AU;BD=function(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:c=b(a);$s=5;case 5:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}if(c){$s=3;continue;}$s=4;continue;case 3:$s=-1;return a;case 4:d=$assertType(a,BB,true);e=d[0];f=d[1];if(!f){$s=-1;return $ifaceNil;}g=e.UnwrapExpression();$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}a=g;if($interfaceIsEqual(a,$ifaceNil)){$s=-1;return $ifaceNil;}$s=1;continue;case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:BD};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.UnwrapExpressionUntil=BD;BJ.ptr.prototype.NewChild=function(){var a;a=this;return new BJ.ptr(false,false,a);};BJ.prototype.NewChild=function(){return this.$val.NewChild();};BJ.ptr.prototype.Parent=function(){var a;a=this;return a.parent;};BJ.prototype.Parent=function(){return this.$val.Parent();};BK=function(a,b){var a,b,c,d,e,f;c=b;d=0;while(true){if(!(d<c.$length)){break;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);f=I.Distance(a,e,CV.nil);if(f<3){return e;}d++;}return"";};BP.ptr.prototype.Error=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=A.Sprintf("%s: %s; %s",new CA([a.Subject,new $String(a.Summary),new $String(a.Detail)]));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:BP.ptr.prototype.Error};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BP.prototype.Error=function(){return this.$val.Error();};BQ.prototype.Error=function(){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.$length;if((b===0)){$s=2;continue;}if((b===1)){$s=3;continue;}$s=4;continue;case 2:$s=-1;return"no diagnostics";case 3:c=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]).Error();$s=6;case 6:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=7;case 7:return d;case 4:e=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]).Error();$s=8;case 8:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=new $String(e);g=new $Int((b-1>>0));h=A.Sprintf("%s, and %d other diagnostic(s)",new CA([f,g]));$s=9;case 9:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=10;case 10:return i;case 5:case 1:$s=-1;return"";}return;}if($f===undefined){$f={$blk:BQ.prototype.Error};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(BQ).prototype.Error=function(){return this.$get().Error();};BQ.prototype.Append=function(a){var a,b;b=this;return $append(b,a);};$ptrType(BQ).prototype.Append=function(a){return this.$get().Append(a);};BQ.prototype.Extend=function(a){var a,b;b=this;return $appendSlice(b,$convertSliceType(a,BY));};$ptrType(BQ).prototype.Extend=function(a){return this.$get().Extend(a);};BQ.prototype.HasErrors=function(){var a,b,c,d;a=this;b=a;c=0;while(true){if(!(c<b.$length)){break;}d=((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]);if(d.Severity===1){return true;}c++;}return false;};$ptrType(BQ).prototype.HasErrors=function(){return this.$get().HasErrors();};BQ.prototype.Errs=function(){var a,b,c,d,e;a=this;b=CZ.nil;c=a;d=0;while(true){if(!(d<c.$length)){break;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);if(e.Severity===1){b=$append(b,e);}d++;}return b;};$ptrType(BQ).prototype.Errs=function(){return this.$get().Errs();};Q.methods=[{prop:"TraverseRel",name:"TraverseRel",pkg:"",typ:$funcType([B.Value],[B.Value,BQ],false)},{prop:"TraverseAbs",name:"TraverseAbs",pkg:"",typ:$funcType([BW],[B.Value,BQ],false)},{prop:"IsRelative",name:"IsRelative",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"SimpleSplit",name:"SimpleSplit",pkg:"",typ:$funcType([],[S],false)},{prop:"RootName",name:"RootName",pkg:"",typ:$funcType([],[$String],false)},{prop:"SourceRange",name:"SourceRange",pkg:"",typ:$funcType([],[AQ],false)}];S.methods=[{prop:"TraverseAbs",name:"TraverseAbs",pkg:"",typ:$funcType([BW],[B.Value,BQ],false)},{prop:"TraverseRel",name:"TraverseRel",pkg:"",typ:$funcType([B.Value],[B.Value,BQ],false)},{prop:"Traverse",name:"Traverse",pkg:"",typ:$funcType([BW],[B.Value,BQ],false)},{prop:"Join",name:"Join",pkg:"",typ:$funcType([],[Q],false)},{prop:"RootName",name:"RootName",pkg:"",typ:$funcType([],[$String],false)}];U.methods=[{prop:"isTraverserSigil",name:"isTraverserSigil",pkg:"github.com/hashicorp/hcl/v2",typ:$funcType([],[U],false)}];V.methods=[{prop:"TraversalStep",name:"TraversalStep",pkg:"",typ:$funcType([B.Value],[B.Value,BQ],false)},{prop:"SourceRange",name:"SourceRange",pkg:"",typ:$funcType([],[AQ],false)}];W.methods=[{prop:"TraversalStep",name:"TraversalStep",pkg:"",typ:$funcType([B.Value],[B.Value,BQ],false)},{prop:"SourceRange",name:"SourceRange",pkg:"",typ:$funcType([],[AQ],false)}];X.methods=[{prop:"TraversalStep",name:"TraversalStep",pkg:"",typ:$funcType([B.Value],[B.Value,BQ],false)},{prop:"SourceRange",name:"SourceRange",pkg:"",typ:$funcType([],[AQ],false)}];CW.methods=[{prop:"BlocksAtPos",name:"BlocksAtPos",pkg:"",typ:$funcType([AP],[CD],false)},{prop:"OutermostBlockAtPos",name:"OutermostBlockAtPos",pkg:"",typ:$funcType([AP],[CC],false)},{prop:"InnermostBlockAtPos",name:"InnermostBlockAtPos",pkg:"",typ:$funcType([AP],[CC],false)},{prop:"OutermostExprAtPos",name:"OutermostExprAtPos",pkg:"",typ:$funcType([AP],[AG],false)},{prop:"AttributeAtPos",name:"AttributeAtPos",pkg:"",typ:$funcType([AP],[CI],false)}];AB.methods=[{prop:"OfType",name:"OfType",pkg:"",typ:$funcType([$String],[AB],false)},{prop:"ByType",name:"ByType",pkg:"",typ:$funcType([],[DB],false)}];AQ.methods=[{prop:"ContainsPos",name:"ContainsPos",pkg:"",typ:$funcType([AP],[$Bool],false)},{prop:"ContainsOffset",name:"ContainsOffset",pkg:"",typ:$funcType([$Int],[$Bool],false)},{prop:"Ptr",name:"Ptr",pkg:"",typ:$funcType([],[BV],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Empty",name:"Empty",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"CanSliceBytes",name:"CanSliceBytes",pkg:"",typ:$funcType([CK],[$Bool],false)},{prop:"SliceBytes",name:"SliceBytes",pkg:"",typ:$funcType([CK],[CK],false)},{prop:"Overlaps",name:"Overlaps",pkg:"",typ:$funcType([AQ],[$Bool],false)},{prop:"Overlap",name:"Overlap",pkg:"",typ:$funcType([AQ],[AQ],false)},{prop:"PartitionAround",name:"PartitionAround",pkg:"",typ:$funcType([AQ],[AQ,AQ,AQ],false)}];BW.methods=[{prop:"NewChild",name:"NewChild",pkg:"",typ:$funcType([],[BW],false)},{prop:"Parent",name:"Parent",pkg:"",typ:$funcType([],[BW],false)}];BU.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];BQ.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Append",name:"Append",pkg:"",typ:$funcType([BU],[BQ],false)},{prop:"Extend",name:"Extend",pkg:"",typ:$funcType([BQ],[BQ],false)},{prop:"HasErrors",name:"HasErrors",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Errs",name:"Errs",pkg:"",typ:$funcType([],[CZ],false)}];Q.init(T);S.init("",[{prop:"Abs",name:"Abs",embedded:false,exported:true,typ:Q,tag:""},{prop:"Rel",name:"Rel",embedded:false,exported:true,typ:Q,tag:""}]);T.init([{prop:"SourceRange",name:"SourceRange",pkg:"",typ:$funcType([],[AQ],false)},{prop:"TraversalStep",name:"TraversalStep",pkg:"",typ:$funcType([B.Value],[B.Value,BQ],false)},{prop:"isTraverserSigil",name:"isTraverserSigil",pkg:"github.com/hashicorp/hcl/v2",typ:$funcType([],[U],false)}]);U.init("",[]);V.init("github.com/hashicorp/hcl/v2",[{prop:"isTraverser",name:"isTraverser",embedded:true,exported:false,typ:U,tag:""},{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:AQ,tag:""}]);W.init("github.com/hashicorp/hcl/v2",[{prop:"isTraverser",name:"isTraverser",embedded:true,exported:false,typ:U,tag:""},{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:AQ,tag:""}]);X.init("github.com/hashicorp/hcl/v2",[{prop:"isTraverser",name:"isTraverser",embedded:true,exported:false,typ:U,tag:""},{prop:"Key",name:"Key",embedded:false,exported:true,typ:B.Value,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:AQ,tag:""}]);Z.init("",[{prop:"Body",name:"Body",embedded:false,exported:true,typ:AD,tag:""},{prop:"Bytes",name:"Bytes",embedded:false,exported:true,typ:CK,tag:""},{prop:"Nav",name:"Nav",embedded:false,exported:true,typ:$emptyInterface,tag:""}]);AA.init("",[{prop:"Type",name:"Type",embedded:false,exported:true,typ:$String,tag:""},{prop:"Labels",name:"Labels",embedded:false,exported:true,typ:BZ,tag:""},{prop:"Body",name:"Body",embedded:false,exported:true,typ:AD,tag:""},{prop:"DefRange",name:"DefRange",embedded:false,exported:true,typ:AQ,tag:""},{prop:"TypeRange",name:"TypeRange",embedded:false,exported:true,typ:AQ,tag:""},{prop:"LabelRanges",name:"LabelRanges",embedded:false,exported:true,typ:DA,tag:""}]);AB.init(CC);AC.init($String,CI);AD.init([{prop:"Content",name:"Content",pkg:"",typ:$funcType([DC],[CO,BQ],false)},{prop:"JustAttributes",name:"JustAttributes",pkg:"",typ:$funcType([],[AC,BQ],false)},{prop:"MissingItemRange",name:"MissingItemRange",pkg:"",typ:$funcType([],[AQ],false)},{prop:"PartialContent",name:"PartialContent",pkg:"",typ:$funcType([DC],[CO,AD,BQ],false)}]);AE.init("",[{prop:"Attributes",name:"Attributes",embedded:false,exported:true,typ:AC,tag:""},{prop:"Blocks",name:"Blocks",embedded:false,exported:true,typ:AB,tag:""},{prop:"MissingItemRange",name:"MissingItemRange",embedded:false,exported:true,typ:AQ,tag:""}]);AF.init("",[{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"Expr",name:"Expr",embedded:false,exported:true,typ:AG,tag:""},{prop:"Range",name:"Range",embedded:false,exported:true,typ:AQ,tag:""},{prop:"NameRange",name:"NameRange",embedded:false,exported:true,typ:AQ,tag:""}]);AG.init([{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[AQ],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[AQ],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([BW],[B.Value,BQ],false)},{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[CJ],false)}]);AJ.init("",[{prop:"Type",name:"Type",embedded:false,exported:true,typ:$String,tag:""},{prop:"LabelNames",name:"LabelNames",embedded:false,exported:true,typ:BZ,tag:""}]);AK.init("",[{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"Required",name:"Required",embedded:false,exported:true,typ:$Bool,tag:""}]);AL.init("",[{prop:"Attributes",name:"Attributes",embedded:false,exported:true,typ:CM,tag:""},{prop:"Blocks",name:"Blocks",embedded:false,exported:true,typ:CN,tag:""}]);AP.init("",[{prop:"Line",name:"Line",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Column",name:"Column",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Byte",name:"Byte",embedded:false,exported:true,typ:$Int,tag:""}]);AQ.init("",[{prop:"Filename",name:"Filename",embedded:false,exported:true,typ:$String,tag:""},{prop:"Start",name:"Start",embedded:false,exported:true,typ:AP,tag:""},{prop:"End",name:"End",embedded:false,exported:true,typ:AP,tag:""}]);BB.init([{prop:"UnwrapExpression",name:"UnwrapExpression",pkg:"",typ:$funcType([],[AG],false)}]);BF.init("",[{prop:"Key",name:"Key",embedded:false,exported:true,typ:AG,tag:""},{prop:"Value",name:"Value",embedded:false,exported:true,typ:AG,tag:""}]);BI.init("",[{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"NameRange",name:"NameRange",embedded:false,exported:true,typ:AQ,tag:""},{prop:"Arguments",name:"Arguments",embedded:false,exported:true,typ:CS,tag:""},{prop:"ArgsRange",name:"ArgsRange",embedded:false,exported:true,typ:AQ,tag:""}]);BJ.init("github.com/hashicorp/hcl/v2",[{prop:"Variables",name:"Variables",embedded:false,exported:true,typ:DE,tag:""},{prop:"Functions",name:"Functions",embedded:false,exported:true,typ:DF,tag:""},{prop:"parent",name:"parent",embedded:false,exported:false,typ:BW,tag:""}]);BP.init("",[{prop:"Severity",name:"Severity",embedded:false,exported:true,typ:BO,tag:""},{prop:"Summary",name:"Summary",embedded:false,exported:true,typ:$String,tag:""},{prop:"Detail",name:"Detail",embedded:false,exported:true,typ:$String,tag:""},{prop:"Subject",name:"Subject",embedded:false,exported:true,typ:BV,tag:""},{prop:"Context",name:"Context",embedded:false,exported:true,typ:BV,tag:""},{prop:"Expression",name:"Expression",embedded:false,exported:true,typ:AG,tag:""},{prop:"EvalContext",name:"EvalContext",embedded:false,exported:true,typ:BW,tag:""}]);BQ.init(BU);BT.init([{prop:"AsTraversal",name:"AsTraversal",pkg:"",typ:$funcType([],[Q],false)}]);BX.init([{prop:"AsTraversal",name:"AsTraversal",pkg:"",typ:$funcType([],[Q],false)}]);CB.init([{prop:"BlocksAtPos",name:"BlocksAtPos",pkg:"",typ:$funcType([AP],[CD],false)}]);CE.init([{prop:"OutermostBlockAtPos",name:"OutermostBlockAtPos",pkg:"",typ:$funcType([AP],[CC],false)}]);CF.init([{prop:"InnermostBlockAtPos",name:"InnermostBlockAtPos",pkg:"",typ:$funcType([AP],[CC],false)}]);CG.init([{prop:"OutermostExprAtPos",name:"OutermostExprAtPos",pkg:"",typ:$funcType([AP],[AG],false)}]);CH.init([{prop:"AttributeAtPos",name:"AttributeAtPos",pkg:"",typ:$funcType([AP],[CI],false)}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/hashicorp/hcl/v2/ext/customdecode"]=(function(){var $pkg={},$init,A,C,D,B,G,K,L,N,O,P,Q,E,H,J,M;A=$packages["fmt"];C=$packages["github.com/hashicorp/hcl/v2"];D=$packages["github.com/zclconf/go-cty/cty"];B=$packages["reflect"];G=$pkg.ExpressionClosure=$newType(0,$kindStruct,"customdecode.ExpressionClosure",true,"github.com/hashicorp/hcl/v2/ext/customdecode",true,function(Expression_,EvalContext_){this.$val=this;if(arguments.length===0){this.Expression=$ifaceNil;this.EvalContext=Q.nil;return;}this.Expression=Expression_;this.EvalContext=EvalContext_;});K=$pkg.customDecoderImpl=$newType(4,$kindInt,"customdecode.customDecoderImpl",true,"github.com/hashicorp/hcl/v2/ext/customdecode",false,null);L=$pkg.CustomExpressionDecoderFunc=$newType(4,$kindFunc,"customdecode.CustomExpressionDecoderFunc",true,"github.com/hashicorp/hcl/v2/ext/customdecode",true,null);N=$ptrType(C.Expression);O=$ptrType(G);P=$sliceType($emptyInterface);Q=$ptrType(C.EvalContext);E=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=D.CapsuleVal($clone($pkg.ExpressionType,D.Type),(a.$ptr||(a.$ptr=new N(function(){return this.$target[0];},function($v){this.$target[0]=$v;},a))));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:E};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ExpressionVal=E;H=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=D.CapsuleVal($clone($pkg.ExpressionClosureType,D.Type),a);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:H};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ExpressionClosureVal=H;G.ptr.prototype.Value=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Expression.Value(a.EvalContext);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Value};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Value=function(){return this.$val.Value();};J=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=B.TypeOf((N.nil)).Elem();$s=1;case 1:if($c){$c=false;a=a.$blk();}if(a&&a.$blk!==undefined){break s;}b=a;D.Type.copy($pkg.ExpressionType,D.CapsuleWithOps("expression",b,new D.CapsuleOps.ptr((function $b(c){var c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=$assertType(c,N);e=A.Sprintf("customdecode.ExpressionVal(%#v)",new P([d.$get()]));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:$b};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;}),(function(c){var c;return"customdecode.ExpressionType";}),$throwNilPointerError,(function $b(c,d){var c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$assertType(c,N);f=$assertType(d,N);g=B.DeepEqual(e.$get(),f.$get());$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:$b};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;}),$throwNilPointerError,$throwNilPointerError,(function(c){var c,d;d=c;if($interfaceIsEqual(d,new K((1)))){return new L(((function $b(e,f){var e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=E(e);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=[g,C.Diagnostics.nil];$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:$b};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;})));}else{return $ifaceNil;}}))));D.Type.copy($pkg.ExpressionClosureType,D.CapsuleWithOps("expression closure",B.TypeOf((c=new G.ptr($ifaceNil,Q.nil),new c.constructor.elem(c))),new D.CapsuleOps.ptr((function $b(d){var d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$assertType(d,O);f=A.Sprintf("customdecode.ExpressionClosureVal(%#v)",new P([e]));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;}),(function(d){var d;return"customdecode.ExpressionClosureType";}),$throwNilPointerError,(function $b(d,e){var d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=$assertType(d,O);g=$assertType(e,O);if(!(f.EvalContext===g.EvalContext)){h=false;$s=1;continue s;}i=B.DeepEqual(f.Expression,g.Expression);$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;case 1:j=h;$s=3;case 3:return j;}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;}),$throwNilPointerError,$throwNilPointerError,(function(d){var d,e;e=d;if($interfaceIsEqual(e,new K((1)))){return new L(((function $b(f,g){var f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=H(new G.ptr(f,g));$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=[h,C.Diagnostics.nil];$s=2;case 2:return i;}return;}if($f===undefined){$f={$blk:$b};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;})));}else{return $ifaceNil;}}))));$s=-1;return;}return;}if($f===undefined){$f={$blk:J};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};M=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone(a,D.Type).IsCapsuleType()){$s=-1;return $throwNilPointerError;}c=$clone(a,D.Type).CapsuleExtensionData(new K(1));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=$assertType(c,L,true);d=b[0];e=b[1];if(e){$s=-1;return d;}$s=-1;return $throwNilPointerError;}return;}if($f===undefined){$f={$blk:M};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.CustomExpressionDecoderForType=M;O.methods=[{prop:"Value",name:"Value",pkg:"",typ:$funcType([],[D.Value,C.Diagnostics],false)}];G.init("",[{prop:"Expression",name:"Expression",embedded:false,exported:true,typ:C.Expression,tag:""},{prop:"EvalContext",name:"EvalContext",embedded:false,exported:true,typ:Q,tag:""}]);L.init([C.Expression,Q],[D.Value,C.Diagnostics],false);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ExpressionType=new D.Type.ptr($ifaceNil);$pkg.ExpressionClosureType=new D.Type.ptr($ifaceNil);$r=J();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["encoding/csv"]=(function(){var $pkg={},$init,A,F,G,H,B,C,D,E,K,N,P,T,U,V,W,X,Y,Z,AB,AC,L,M,O,Q,R;A=$packages["bufio"];F=$packages["bytes"];G=$packages["errors"];H=$packages["fmt"];B=$packages["io"];C=$packages["strings"];D=$packages["unicode"];E=$packages["unicode/utf8"];K=$pkg.ParseError=$newType(0,$kindStruct,"csv.ParseError",true,"encoding/csv",true,function(StartLine_,Line_,Column_,Err_){this.$val=this;if(arguments.length===0){this.StartLine=0;this.Line=0;this.Column=0;this.Err=$ifaceNil;return;}this.StartLine=StartLine_;this.Line=Line_;this.Column=Column_;this.Err=Err_;});N=$pkg.Reader=$newType(0,$kindStruct,"csv.Reader",true,"encoding/csv",true,function(Comma_,Comment_,FieldsPerRecord_,LazyQuotes_,TrimLeadingSpace_,ReuseRecord_,TrailingComma_,r_,numLine_,rawBuffer_,recordBuffer_,fieldIndexes_,fieldPositions_,lastRecord_){this.$val=this;if(arguments.length===0){this.Comma=0;this.Comment=0;this.FieldsPerRecord=0;this.LazyQuotes=false;this.TrimLeadingSpace=false;this.ReuseRecord=false;this.TrailingComma=false;this.r=V.nil;this.numLine=0;this.rawBuffer=T.nil;this.recordBuffer=T.nil;this.fieldIndexes=W.nil;this.fieldPositions=X.nil;this.lastRecord=Y.nil;return;}this.Comma=Comma_;this.Comment=Comment_;this.FieldsPerRecord=FieldsPerRecord_;this.LazyQuotes=LazyQuotes_;this.TrimLeadingSpace=TrimLeadingSpace_;this.ReuseRecord=ReuseRecord_;this.TrailingComma=TrailingComma_;this.r=r_;this.numLine=numLine_;this.rawBuffer=rawBuffer_;this.recordBuffer=recordBuffer_;this.fieldIndexes=fieldIndexes_;this.fieldPositions=fieldPositions_;this.lastRecord=lastRecord_;});P=$pkg.position=$newType(0,$kindStruct,"csv.position",true,"encoding/csv",false,function(line_,col_){this.$val=this;if(arguments.length===0){this.line=0;this.col=0;return;}this.line=line_;this.col=col_;});T=$sliceType($Uint8);U=$sliceType($emptyInterface);V=$ptrType(A.Reader);W=$sliceType($Int);X=$sliceType(P);Y=$sliceType($String);Z=$sliceType(Y);AB=$ptrType(K);AC=$ptrType(N);K.ptr.prototype.Error=function(){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if($interfaceIsEqual(a.Err,$pkg.ErrFieldCount)){$s=1;continue;}$s=2;continue;case 1:b=H.Sprintf("record on line %d: %v",new U([new $Int(a.Line),a.Err]));$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=4;case 4:return c;case 2:if(!((a.StartLine===a.Line))){$s=5;continue;}$s=6;continue;case 5:d=H.Sprintf("record on line %d; parse error on line %d, column %d: %v",new U([new $Int(a.StartLine),new $Int(a.Line),new $Int(a.Column),a.Err]));$s=7;case 7:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=8;case 8:return e;case 6:f=H.Sprintf("parse error on line %d, column %d: %v",new U([new $Int(a.Line),new $Int(a.Column),a.Err]));$s=9;case 9:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=10;case 10:return g;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Error};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Error=function(){return this.$val.Error();};K.ptr.prototype.Unwrap=function(){var a;a=this;return a.Err;};K.prototype.Unwrap=function(){return this.$val.Unwrap();};M=function(a){var a;return!((a===0))&&!((a===34))&&!((a===13))&&!((a===10))&&E.ValidRune(a)&&!((a===65533));};O=function(a){var a;return new N.ptr(44,0,0,false,false,false,false,A.NewReader(a),0,T.nil,T.nil,W.nil,X.nil,Y.nil);};$pkg.NewReader=O;N.ptr.prototype.Read=function(){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=Y.nil;b=$ifaceNil;c=this;if(c.ReuseRecord){$s=1;continue;}$s=2;continue;case 1:e=c.readRecord(c.lastRecord);$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;a=d[0];b=d[1];c.lastRecord=a;$s=3;continue;case 2:g=c.readRecord(Y.nil);$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;a=f[0];b=f[1];case 3:h=a;i=b;a=h;b=i;$s=-1;return[a,b];}return;}if($f===undefined){$f={$blk:N.ptr.prototype.Read};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.Read=function(){return this.$val.Read();};N.ptr.prototype.FieldPos=function(a){var a,b,c,d,e,f,g,h;b=0;c=0;d=this;if(a<0||a>=d.fieldPositions.$length){$panic(new $String("out of range index passed to FieldPos"));}f=(e=d.fieldPositions,((a<0||a>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+a]));g=f.line;h=f.col;b=g;c=h;return[b,c];};N.prototype.FieldPos=function(a){return this.$val.FieldPos(a);};N.ptr.prototype.ReadAll=function(){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=Z.nil;b=$ifaceNil;c=this;case 1:e=c.readRecord(Y.nil);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];if($interfaceIsEqual(g,B.EOF)){h=a;i=$ifaceNil;a=h;b=i;$s=-1;return[a,b];}if(!($interfaceIsEqual(g,$ifaceNil))){j=Z.nil;k=g;a=j;b=k;$s=-1;return[a,b];}a=$append(a,f);$s=1;continue;case 2:$s=-1;return[a,b];}return;}if($f===undefined){$f={$blk:N.ptr.prototype.ReadAll};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.ReadAll=function(){return this.$val.ReadAll();};N.ptr.prototype.readLine=function(){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=a.r.ReadSlice(10);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if($interfaceIsEqual(e,A.ErrBufferFull)){$s=2;continue;}$s=3;continue;case 2:a.rawBuffer=$appendSlice($subslice(a.rawBuffer,0,0),d);case 4:if(!($interfaceIsEqual(e,A.ErrBufferFull))){$s=5;continue;}g=a.r.ReadSlice(10);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;d=f[0];e=f[1];a.rawBuffer=$appendSlice(a.rawBuffer,d);$s=4;continue;case 5:d=a.rawBuffer;case 3:if(d.$length>0&&$interfaceIsEqual(e,B.EOF)){e=$ifaceNil;if((h=d.$length-1>>0,((h<0||h>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+h]))===13){d=$subslice(d,0,(d.$length-1>>0));}}a.numLine=a.numLine+(1)>>0;i=d.$length;if(i>=2&&((j=i-2>>0,((j<0||j>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+j]))===13)&&((k=i-1>>0,((k<0||k>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+k]))===10)){(l=i-2>>0,((l<0||l>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+l]=10));d=$subslice(d,0,(i-1>>0));}$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:N.ptr.prototype.readLine};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.readLine=function(){return this.$val.readLine();};Q=function(a){var a,b;if(a.$length>0&&((b=a.$length-1>>0,((b<0||b>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+b]))===10)){return 1;}return 0;};R=function(a){var a,b,c;b=E.DecodeRune(a);c=b[0];return c;};N.ptr.prototype.readRecord=function(a){var a,aa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if((b.Comma===b.Comment)||!M(b.Comma)||(!((b.Comment===0))&&!M(b.Comment))){$s=-1;return[Y.nil,L];}c=T.nil;d=$ifaceNil;case 1:if(!($interfaceIsEqual(d,$ifaceNil))){$s=2;continue;}f=b.readLine();$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;c=e[0];d=e[1];if(!((b.Comment===0))&&(R(c)===b.Comment)){c=T.nil;$s=1;continue;}if($interfaceIsEqual(d,$ifaceNil)&&(c.$length===Q(c))){c=T.nil;$s=1;continue;}$s=2;continue;case 2:if($interfaceIsEqual(d,B.EOF)){$s=-1;return[Y.nil,d];}g=$ifaceNil;h=E.RuneLen(b.Comma);i=b.numLine;b.recordBuffer=$subslice(b.recordBuffer,0,0);b.fieldIndexes=$subslice(b.fieldIndexes,0,0);b.fieldPositions=$subslice(b.fieldPositions,0,0);j=new P.ptr(b.numLine,1);case 4:if(b.TrimLeadingSpace){$s=6;continue;}$s=7;continue;case 6:k=F.IndexFunc(c,(function(k){var k;return!D.IsSpace(k);}));$s=8;case 8:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(l<0){l=c.$length;j.col=j.col-(Q(c))>>0;}c=$subslice(c,l);j.col=j.col+(l)>>0;case 7:if((c.$length===0)||!(((0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])===34))){$s=9;continue;}$s=10;continue;case 9:m=F.IndexRune(c,b.Comma);n=c;if(m>=0){n=$subslice(n,0,m);}else{n=$subslice(n,0,(n.$length-Q(n)>>0));}if(!b.LazyQuotes){o=F.IndexByte(n,34);if(o>=0){p=j.col+o>>0;g=new K.ptr(i,b.numLine,p,$pkg.ErrBareQuote);$s=5;continue s;}}b.recordBuffer=$appendSlice(b.recordBuffer,n);b.fieldIndexes=$append(b.fieldIndexes,b.recordBuffer.$length);b.fieldPositions=$append(b.fieldPositions,j);if(m>=0){c=$subslice(c,(m+h>>0));j.col=j.col+((m+h>>0))>>0;$s=4;continue s;}$s=5;continue s;$s=11;continue;case 10:q=$clone(j,P);c=$subslice(c,1);j.col=j.col+(1)>>0;case 12:r=F.IndexByte(c,34);if(r>=0){$s=14;continue;}if(c.$length>0){$s=15;continue;}$s=16;continue;case 14:b.recordBuffer=$appendSlice(b.recordBuffer,$subslice(c,0,r));c=$subslice(c,(r+1>>0));j.col=j.col+((r+1>>0))>>0;s=R(c);if((s===34)){b.recordBuffer=$append(b.recordBuffer,34);c=$subslice(c,1);j.col=j.col+(1)>>0;}else if((s===b.Comma)){c=$subslice(c,h);j.col=j.col+(h)>>0;b.fieldIndexes=$append(b.fieldIndexes,b.recordBuffer.$length);b.fieldPositions=$append(b.fieldPositions,q);$s=4;continue s;}else if((Q(c)===c.$length)){b.fieldIndexes=$append(b.fieldIndexes,b.recordBuffer.$length);b.fieldPositions=$append(b.fieldPositions,q);$s=5;continue s;}else if(b.LazyQuotes){b.recordBuffer=$append(b.recordBuffer,34);}else{g=new K.ptr(i,b.numLine,j.col-1>>0,$pkg.ErrQuote);$s=5;continue s;}$s=17;continue;case 15:b.recordBuffer=$appendSlice(b.recordBuffer,c);if(!($interfaceIsEqual(d,$ifaceNil))){$s=5;continue s;}j.col=j.col+(c.$length)>>0;u=b.readLine();$s=18;case 18:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;c=t[0];d=t[1];if(c.$length>0){j.line=j.line+(1)>>0;j.col=1;}if($interfaceIsEqual(d,B.EOF)){d=$ifaceNil;}$s=17;continue;case 16:if(!b.LazyQuotes&&$interfaceIsEqual(d,$ifaceNil)){g=new K.ptr(i,j.line,j.col,$pkg.ErrQuote);$s=5;continue s;}b.fieldIndexes=$append(b.fieldIndexes,b.recordBuffer.$length);b.fieldPositions=$append(b.fieldPositions,q);$s=5;continue s;case 17:$s=12;continue;case 13:case 11:$s=4;continue;case 5:if($interfaceIsEqual(g,$ifaceNil)){g=d;}v=($bytesToString(b.recordBuffer));a=$subslice(a,0,0);if(a.$capacity<b.fieldIndexes.$length){a=$makeSlice(Y,b.fieldIndexes.$length);}a=$subslice(a,0,b.fieldIndexes.$length);w=0;x=b.fieldIndexes;y=0;while(true){if(!(y<x.$length)){break;}z=y;aa=((y<0||y>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+y]);((z<0||z>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+z]=$substring(v,w,aa));w=aa;y++;}if(b.FieldsPerRecord>0){if(!((a.$length===b.FieldsPerRecord))&&$interfaceIsEqual(g,$ifaceNil)){g=new K.ptr(i,i,1,$pkg.ErrFieldCount);}}else if(b.FieldsPerRecord===0){b.FieldsPerRecord=a.$length;}$s=-1;return[a,g];}return;}if($f===undefined){$f={$blk:N.ptr.prototype.readRecord};}$f.a=a;$f.aa=aa;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.readRecord=function(a){return this.$val.readRecord(a);};AB.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Unwrap",name:"Unwrap",pkg:"",typ:$funcType([],[$error],false)}];AC.methods=[{prop:"Read",name:"Read",pkg:"",typ:$funcType([],[Y,$error],false)},{prop:"FieldPos",name:"FieldPos",pkg:"",typ:$funcType([$Int],[$Int,$Int],false)},{prop:"ReadAll",name:"ReadAll",pkg:"",typ:$funcType([],[Z,$error],false)},{prop:"readLine",name:"readLine",pkg:"encoding/csv",typ:$funcType([],[T,$error],false)},{prop:"readRecord",name:"readRecord",pkg:"encoding/csv",typ:$funcType([Y],[Y,$error],false)}];K.init("",[{prop:"StartLine",name:"StartLine",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Line",name:"Line",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Column",name:"Column",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Err",name:"Err",embedded:false,exported:true,typ:$error,tag:""}]);N.init("encoding/csv",[{prop:"Comma",name:"Comma",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Comment",name:"Comment",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"FieldsPerRecord",name:"FieldsPerRecord",embedded:false,exported:true,typ:$Int,tag:""},{prop:"LazyQuotes",name:"LazyQuotes",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"TrimLeadingSpace",name:"TrimLeadingSpace",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"ReuseRecord",name:"ReuseRecord",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"TrailingComma",name:"TrailingComma",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"r",name:"r",embedded:false,exported:false,typ:V,tag:""},{prop:"numLine",name:"numLine",embedded:false,exported:false,typ:$Int,tag:""},{prop:"rawBuffer",name:"rawBuffer",embedded:false,exported:false,typ:T,tag:""},{prop:"recordBuffer",name:"recordBuffer",embedded:false,exported:false,typ:T,tag:""},{prop:"fieldIndexes",name:"fieldIndexes",embedded:false,exported:false,typ:W,tag:""},{prop:"fieldPositions",name:"fieldPositions",embedded:false,exported:false,typ:X,tag:""},{prop:"lastRecord",name:"lastRecord",embedded:false,exported:false,typ:Y,tag:""}]);P.init("encoding/csv",[{prop:"line",name:"line",embedded:false,exported:false,typ:$Int,tag:""},{prop:"col",name:"col",embedded:false,exported:false,typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrTrailingComma=G.New("extra delimiter at end of line");$pkg.ErrBareQuote=G.New("bare \" in non-quoted-field");$pkg.ErrQuote=G.New("extraneous or missing \" in quoted-field");$pkg.ErrFieldCount=G.New("wrong number of fields");L=G.New("csv: invalid field or comment delimiter");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/zclconf/go-cty/cty/gocty"]=(function(){var $pkg={},$init,B,E,F,C,D,A,AW,AX,AO,AP,AQ,AR,AS,AT,AU,a,b,c,d,e,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AV;B=$packages["github.com/zclconf/go-cty/cty"];E=$packages["github.com/zclconf/go-cty/cty/convert"];F=$packages["github.com/zclconf/go-cty/cty/set"];C=$packages["math"];D=$packages["math/big"];A=$packages["reflect"];AW=$sliceType($emptyInterface);AX=$ptrType(D.Int);J=function(f,g){var f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=A.ValueOf(g);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;if(!(($clone(i,A.Value).Kind()===22))){$panic(new $String("target value is not a pointer"));}if($clone(i,A.Value).IsNil()){$panic(new $String("target value is nil pointer"));}j=$makeSlice(B.Path,0);k=K($clone(f,B.Value),$clone(i,A.Value),j);$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=3;case 3:return l;}return;}if($f===undefined){$f={$blk:J};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$pkg.FromCtyValue=J;K=function(f,g,h){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone($clone(f,B.Value).Type(),B.Type);j=Y($clone(g,A.Value),false);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(!($clone(k,A.Value).Kind()===25)){l=false;$s=4;continue s;}m=$clone(k,A.Value).Type().AssignableTo(AO);$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;case 4:if(l){$s=2;continue;}$s=3;continue;case 2:n=A.ValueOf(new f.constructor.elem(f));$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$r=$clone(k,A.Value).Set($clone(n,A.Value));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 3:if($clone(f,B.Value).IsNull()&&!$clone($clone(f,B.Value).Type(),B.Type).IsListType()&&!$clone($clone(f,B.Value).Type(),B.Type).IsMapType()&&!$clone($clone(f,B.Value).Type(),B.Type).IsCapsuleType()){$s=8;continue;}$s=9;continue;case 8:o=Y($clone(g,A.Value),true);$s=10;case 10:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}g=o;if(!(($clone(g,A.Value).Kind()===22))){$s=11;continue;}$s=12;continue;case 11:p=h.NewErrorf("null value is not allowed",new AW([]));$s=13;case 13:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;$s=14;case 14:return q;case 12:r=A.Zero($clone(g,A.Value).Type());$s=15;case 15:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}$r=$clone(g,A.Value).Set($clone(r,A.Value));$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 9:g=k;if(!$clone(f,B.Value).IsKnown()){$s=17;continue;}$s=18;continue;case 17:s=h.NewErrorf("value must be known",new AW([]));$s=19;case 19:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;$s=20;case 20:return t;case 18:u=$clone(i,B.Type);if($equal(u,(B.Bool),B.Type)){$s=22;continue;}if($equal(u,(B.Number),B.Type)){$s=23;continue;}if($equal(u,(B.String),B.Type)){$s=24;continue;}$s=25;continue;case 22:v=L($clone(f,B.Value),$clone(g,A.Value),h);$s=26;case 26:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v;$s=27;case 27:return w;case 23:x=M($clone(f,B.Value),$clone(g,A.Value),h);$s=28;case 28:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;$s=29;case 29:return y;case 24:z=R($clone(f,B.Value),$clone(g,A.Value),h);$s=30;case 30:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;$s=31;case 31:return aa;case 25:case 21:if($clone(i,B.Type).IsListType()){$s=33;continue;}if($clone(i,B.Type).IsMapType()){$s=34;continue;}if($clone(i,B.Type).IsSetType()){$s=35;continue;}if($clone(i,B.Type).IsObjectType()){$s=36;continue;}if($clone(i,B.Type).IsTupleType()){$s=37;continue;}if($clone(i,B.Type).IsCapsuleType()){$s=38;continue;}$s=39;continue;case 33:ab=S($clone(f,B.Value),$clone(g,A.Value),h);$s=40;case 40:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;$s=41;case 41:return ac;case 34:ad=T($clone(f,B.Value),$clone(g,A.Value),h);$s=42;case 42:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=43;case 43:return ae;case 35:af=U($clone(f,B.Value),$clone(g,A.Value),h);$s=44;case 44:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;$s=45;case 45:return ag;case 36:ah=V($clone(f,B.Value),$clone(g,A.Value),h);$s=46;case 46:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;$s=47;case 47:return ai;case 37:aj=W($clone(f,B.Value),$clone(g,A.Value),h);$s=48;case 48:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj;$s=49;case 49:return ak;case 38:al=X($clone(f,B.Value),$clone(g,A.Value),h);$s=50;case 50:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;$s=51;case 51:return am;case 39:case 32:an=h.NewErrorf("unsupported source type %#v",new AW([new i.constructor.elem(i)]));$s=52;case 52:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=an;$s=53;case 53:return ao;}return;}if($f===undefined){$f={$blk:K};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};L=function(f,g,h){var f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(g,A.Value).Kind();if(i===(1)){$s=2;continue;}$s=3;continue;case 2:j=$clone(f,B.Value).True();$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$r=$clone(g,A.Value).SetBool(j);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 3:k=Z(h,$clone(g,A.Value));$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=8;case 8:return l;case 4:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:L};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};M=function(f,g,h){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(f,B.Value).AsBigFloat();$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;k=$clone(g,A.Value).Kind();if((k===(2))||(k===(3))||(k===(4))||(k===(5))||(k===(6))){$s=3;continue;}if((k===(7))||(k===(8))||(k===(9))||(k===(10))||(k===(11))){$s=4;continue;}if((k===(13))||(k===(14))){$s=5;continue;}if(k===(25)){$s=6;continue;}$s=7;continue;case 3:l=N(j,$clone(g,A.Value),h);$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=10;case 10:return m;case 4:n=O(j,$clone(g,A.Value),h);$s=11;case 11:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;$s=12;case 12:return o;case 5:p=P(j,$clone(g,A.Value),h);$s=13;case 13:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;$s=14;case 14:return q;case 6:r=Q(j,$clone(g,A.Value),h);$s=15;case 15:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;$s=16;case 16:return s;case 7:t=Z(h,$clone(g,A.Value));$s=17;case 17:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t;$s=18;case 18:return u;case 8:case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:M};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};N=function(f,g,h){var f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=new $Int64(0,0);j=new $Int64(0,0);k=$clone(g,A.Value).Type().Bits();$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(l===(8)){i=new $Int64(-1,4294967168);j=new $Int64(0,127);}else if(l===(16)){i=new $Int64(-1,4294934528);j=new $Int64(0,32767);}else if(l===(32)){i=new $Int64(-1,2147483648);j=new $Int64(0,2147483647);}else if(l===(64)){i=new $Int64(-2147483648,0);j=new $Int64(2147483647,4294967295);}else{$panic(new $String("weird number of bits in target int"));}case 1:n=f.Int64();$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];if(!((p===0))||(o.$high<i.$high||(o.$high===i.$high&&o.$low<i.$low))||(o.$high>j.$high||(o.$high===j.$high&&o.$low>j.$low))){$s=4;continue;}$s=5;continue;case 4:q=h.NewErrorf("value must be a whole number, between %d and %d",new AW([i,j]));$s=6;case 6:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;$s=7;case 7:return r;case 5:$clone(g,A.Value).SetInt(o);$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:N};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};O=function(f,g,h){var f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=new $Uint64(0,0);j=$clone(g,A.Value).Type().Bits();$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(k===(8)){i=new $Uint64(0,255);}else if(k===(16)){i=new $Uint64(0,65535);}else if(k===(32)){i=new $Uint64(0,4294967295);}else if(k===(64)){i=new $Uint64(4294967295,4294967295);}else{$panic(new $String("weird number of bits in target uint"));}case 1:m=f.Uint64();$s=3;case 3:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];o=l[1];if(!((o===0))||(n.$high>i.$high||(n.$high===i.$high&&n.$low>i.$low))){$s=4;continue;}$s=5;continue;case 4:p=h.NewErrorf("value must be a whole number, between 0 and %d inclusive",new AW([i]));$s=6;case 6:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;$s=7;case 7:return q;case 5:$clone(g,A.Value).SetUint(n);$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:O};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};P=function(f,g,h){var f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(g,A.Value).Kind();if((i===(13))||(i===(14))){$s=2;continue;}$s=3;continue;case 2:k=f.Float64();$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];if(!((m===0))){$s=6;continue;}$s=7;continue;case 6:if(C.IsInf(l,0)){$s=8;continue;}$s=9;continue;case 8:n=h.NewErrorf("value must be between %f and %f inclusive",new AW([new $Float64(-1.7976931348623157e+308),new $Float64(1.7976931348623157e+308)]));$s=10;case 10:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;$s=11;case 11:return o;case 9:case 7:$clone(g,A.Value).SetFloat(l);$s=-1;return $ifaceNil;case 3:$panic(new $String("unsupported kind of float"));case 4:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:P};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};Q=function(f,g,h){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=AR.ConvertibleTo($clone(g,A.Value).Type());$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(i){$s=2;continue;}j=AS.ConvertibleTo($clone(g,A.Value).Type());$s=7;case 7:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(j){$s=3;continue;}$s=4;continue;case 2:k=A.ValueOf(f);$s=8;case 8:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,A.Value).Elem();$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=$clone(l,A.Value).Convert($clone(g,A.Value).Type());$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$r=$clone(g,A.Value).Set($clone(m,A.Value));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 3:o=f.Int(AX.nil);$s=12;case 12:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[1];if(!((q===0))){$s=13;continue;}$s=14;continue;case 13:r=h.NewErrorf("value must be a whole number",new AW([]));$s=15;case 15:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;$s=16;case 16:return s;case 14:t=A.ValueOf(p);$s=17;case 17:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=$clone(t,A.Value).Elem();$s=18;case 18:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=$clone(u,A.Value).Convert($clone(g,A.Value).Type());$s=19;case 19:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}$r=$clone(g,A.Value).Set($clone(v,A.Value));$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 4:w=Z(h,$clone(g,A.Value));$s=21;case 21:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;$s=22;case 22:return x;case 5:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:Q};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};R=function(f,g,h){var f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(g,A.Value).Kind();if(i===(24)){$s=2;continue;}$s=3;continue;case 2:$clone(g,A.Value).SetString($clone(f,B.Value).AsString());$s=-1;return $ifaceNil;case 3:j=Z(h,$clone(g,A.Value));$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=6;case 6:return k;case 4:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:R};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};S=function(f,g,h){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=[g];h=[h];i=[i];j=[j];k=[k];l=[l];m=[m];n=$clone(g[0],A.Value).Kind();if(n===(23)){$s=2;continue;}if(n===(17)){$s=3;continue;}$s=4;continue;case 2:if($clone(f,B.Value).IsNull()){$s=6;continue;}$s=7;continue;case 6:o=A.Zero($clone(g[0],A.Value).Type());$s=8;case 8:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}$r=$clone(g[0],A.Value).Set($clone(o,A.Value));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 7:p=$clone(f,B.Value).LengthInt();q=A.MakeSlice($clone(g[0],A.Value).Type(),p,p);$s=10;case 10:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}m[0]=q;h[0]=$append(h[0],$ifaceNil);k[0]=0;i[0]=$ifaceNil;r=$clone(f,B.Value).ForEachElement((function(g,h,i,j,k,l,m){return function $b(r,s){var r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:u=B.NumberIntVal((new $Int64(0,k[0])));$s=1;case 1:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}(v=h[0].$length-1>>0,((v<0||v>=h[0].$length)?($throwRuntimeError("index out of range"),undefined):h[0].$array[h[0].$offset+v]=(t=new B.IndexStep.ptr(new B.pathStepImpl.ptr(),$clone(u,B.Value)),new t.constructor.elem(t))));w=$clone(m[0],A.Value).Index(k[0]);$s=2;case 2:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;y=K($clone(s,B.Value),$clone(x,A.Value),h[0]);$s=3;case 3:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}i[0]=y;if(!($interfaceIsEqual(i[0],$ifaceNil))){$s=-1;return true;}k[0]=k[0]+(1)>>0;$s=-1;return false;}return;}if($f===undefined){$f={$blk:$b};}$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};})(g,h,i,j,k,l,m));$s=11;case 11:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;if(!($interfaceIsEqual(i[0],$ifaceNil))){$s=-1;return i[0];}h[0]=$subslice(h[0],0,(h[0].$length-1>>0));$r=$clone(g[0],A.Value).Set($clone(m[0],A.Value));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 3:if($clone(f,B.Value).IsNull()){$s=13;continue;}$s=14;continue;case 13:s=h[0].NewErrorf("null value is not allowed",new AW([]));$s=15;case 15:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;$s=16;case 16:return t;case 14:u=$clone(f,B.Value).LengthInt();if(!((u===$clone(g[0],A.Value).Len()))){$s=17;continue;}$s=18;continue;case 17:v=h[0].NewErrorf("must be a list of length %d",new AW([new $Int($clone(g[0],A.Value).Len())]));$s=19;case 19:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v;$s=20;case 20:return w;case 18:h[0]=$append(h[0],$ifaceNil);l[0]=0;j[0]=$ifaceNil;x=$clone(f,B.Value).ForEachElement((function(g,h,i,j,k,l,m){return function $b(x,y){var aa,ab,ac,ad,ae,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aa=B.NumberIntVal((new $Int64(0,l[0])));$s=1;case 1:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}(ab=h[0].$length-1>>0,((ab<0||ab>=h[0].$length)?($throwRuntimeError("index out of range"),undefined):h[0].$array[h[0].$offset+ab]=(z=new B.IndexStep.ptr(new B.pathStepImpl.ptr(),$clone(aa,B.Value)),new z.constructor.elem(z))));ac=$clone(g[0],A.Value).Index(l[0]);$s=2;case 2:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;ae=K($clone(y,B.Value),$clone(ad,A.Value),h[0]);$s=3;case 3:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}j[0]=ae;if(!($interfaceIsEqual(j[0],$ifaceNil))){$s=-1;return true;}l[0]=l[0]+(1)>>0;$s=-1;return false;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};})(g,h,i,j,k,l,m));$s=21;case 21:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;if(!($interfaceIsEqual(j[0],$ifaceNil))){$s=-1;return j[0];}h[0]=$subslice(h[0],0,(h[0].$length-1>>0));$s=-1;return $ifaceNil;case 4:y=Z(h[0],$clone(g[0],A.Value));$s=22;case 22:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;$s=23;case 23:return z;case 5:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:S};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};T=function(f,g,h){var f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=[h];i=[i];j=[j];k=[k];l=$clone(g,A.Value).Kind();if(l===(21)){$s=2;continue;}$s=3;continue;case 2:if($clone(f,B.Value).IsNull()){$s=5;continue;}$s=6;continue;case 5:m=A.Zero($clone(g,A.Value).Type());$s=7;case 7:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$r=$clone(g,A.Value).Set($clone(m,A.Value));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 6:n=A.MakeMap($clone(g,A.Value).Type());$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}k[0]=n;o=$clone(g,A.Value).Type().Elem();$s=10;case 10:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}j[0]=o;h[0]=$append(h[0],$ifaceNil);i[0]=$ifaceNil;p=$clone(f,B.Value).ForEachElement((function(h,i,j,k){return function $b(p,q){var p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:(s=h[0].$length-1>>0,((s<0||s>=h[0].$length)?($throwRuntimeError("index out of range"),undefined):h[0].$array[h[0].$offset+s]=(r=new B.IndexStep.ptr(new B.pathStepImpl.ptr(),$clone(p,B.Value)),new r.constructor.elem(r))));t=$clone(p,B.Value).AsString();u=A.New(j[0]);v=K($clone(q,B.Value),$clone(u,A.Value),h[0]);$s=1;case 1:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}i[0]=v;w=A.ValueOf(new $String(t));$s=2;case 2:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=$clone(w,A.Value);y=$clone(u,A.Value).Elem();$s=3;case 3:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=$clone(y,A.Value);$r=$clone(k[0],A.Value).SetMapIndex(x,z);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return!($interfaceIsEqual(i[0],$ifaceNil));}return;}if($f===undefined){$f={$blk:$b};}$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};})(h,i,j,k));$s=11;case 11:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;if(!($interfaceIsEqual(i[0],$ifaceNil))){$s=-1;return i[0];}h[0]=$subslice(h[0],0,(h[0].$length-1>>0));$r=$clone(g,A.Value).Set($clone(k[0],A.Value));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 3:q=Z(h[0],$clone(g,A.Value));$s=13;case 13:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;$s=14;case 14:return r;case 4:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:T};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};U=function(f,g,h){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=[g];h=[h];i=[i];j=[j];k=[k];l=[l];m=[m];n=$clone(g[0],A.Value).Kind();if(n===(23)){$s=2;continue;}if(n===(17)){$s=3;continue;}$s=4;continue;case 2:if($clone(f,B.Value).IsNull()){$s=6;continue;}$s=7;continue;case 6:o=A.Zero($clone(g[0],A.Value).Type());$s=8;case 8:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}$r=$clone(g[0],A.Value).Set($clone(o,A.Value));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 7:p=$clone(f,B.Value).LengthInt();q=A.MakeSlice($clone(g[0],A.Value).Type(),p,p);$s=10;case 10:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}m[0]=q;k[0]=0;i[0]=$ifaceNil;r=$clone(f,B.Value).ForEachElement((function(g,h,i,j,k,l,m){return function $b(r,s){var r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:t=$clone(m[0],A.Value).Index(k[0]);$s=1;case 1:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t;v=K($clone(s,B.Value),$clone(u,A.Value),h[0]);$s=2;case 2:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}i[0]=v;if(!($interfaceIsEqual(i[0],$ifaceNil))){$s=-1;return true;}k[0]=k[0]+(1)>>0;$s=-1;return false;}return;}if($f===undefined){$f={$blk:$b};}$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};})(g,h,i,j,k,l,m));$s=11;case 11:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;if(!($interfaceIsEqual(i[0],$ifaceNil))){$s=-1;return i[0];}$r=$clone(g[0],A.Value).Set($clone(m[0],A.Value));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 3:if($clone(f,B.Value).IsNull()){$s=13;continue;}$s=14;continue;case 13:s=h[0].NewErrorf("null value is not allowed",new AW([]));$s=15;case 15:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;$s=16;case 16:return t;case 14:u=$clone(f,B.Value).LengthInt();if(!((u===$clone(g[0],A.Value).Len()))){$s=17;continue;}$s=18;continue;case 17:v=h[0].NewErrorf("must be a set of length %d",new AW([new $Int($clone(g[0],A.Value).Len())]));$s=19;case 19:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v;$s=20;case 20:return w;case 18:l[0]=0;j[0]=$ifaceNil;x=$clone(f,B.Value).ForEachElement((function(g,h,i,j,k,l,m){return function $b(x,y){var aa,ab,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:z=$clone(g[0],A.Value).Index(l[0]);$s=1;case 1:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;ab=K($clone(y,B.Value),$clone(aa,A.Value),h[0]);$s=2;case 2:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}j[0]=ab;if(!($interfaceIsEqual(j[0],$ifaceNil))){$s=-1;return true;}l[0]=l[0]+(1)>>0;$s=-1;return false;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};})(g,h,i,j,k,l,m));$s=21;case 21:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;if(!($interfaceIsEqual(j[0],$ifaceNil))){$s=-1;return j[0];}$s=-1;return $ifaceNil;case 4:y=Z(h[0],$clone(g[0],A.Value));$s=22;case 22:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;$s=23;case 23:return z;case 5:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:U};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};V=function(f,g,h){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(g,A.Value).Kind();if(i===(25)){$s=2;continue;}$s=3;continue;case 2:j=$clone($clone(f,B.Value).Type(),B.Type).AttributeTypes();k=AV($clone(g,A.Value).Type());$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;h=$append(h,$ifaceNil);m=l;n=0;o=$keys(m);case 6:if(!(n<o.length)){$s=7;continue;}p=m[o[n]];if(p===undefined){n++;$s=6;continue;}q=p.k;r=p.v;s=(t=j[$String.keyFor(q)],t!==undefined?[t.v,true]:[new B.Type.ptr($ifaceNil),false]);u=s[1];if(!u){$s=8;continue;}$s=9;continue;case 8:v=$clone(g,A.Value).Field(r);$s=10;case 10:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=$clone(v,A.Value).Kind();$s=11;case 11:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;y=x;if((y===(22))||(y===(23))||(y===(21))||(y===(20))){$s=13;continue;}$s=14;continue;case 13:$s=15;continue;case 14:z=h.NewErrorf("missing required attribute %q",new AW([new $String(q)]));$s=16;case 16:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;$s=17;case 17:return aa;case 15:case 12:case 9:n++;$s=6;continue;case 7:ab=j;ac=0;ad=$keys(ab);case 18:if(!(ac<ad.length)){$s=19;continue;}ae=ab[ad[ac]];if(ae===undefined){ac++;$s=18;continue;}af=ae.k;(ah=h.$length-1>>0,((ah<0||ah>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+ah]=(ag=new B.GetAttrStep.ptr(new B.pathStepImpl.ptr(),af),new ag.constructor.elem(ag))));ai=(aj=l[$String.keyFor(af)],aj!==undefined?[aj.v,true]:[0,false]);ak=ai[0];al=ai[1];if(!al){$s=20;continue;}$s=21;continue;case 20:am=h.NewErrorf("unsupported attribute %q",new AW([new $String(af)]));$s=22;case 22:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=am;$s=23;case 23:return an;case 21:ao=$clone(f,B.Value).GetAttr(af);$s=24;case 24:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=$clone(ao,B.Value);aq=$clone(g,A.Value).Field(ak);$s=25;case 25:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=aq;as=K($clone(ap,B.Value),$clone(ar,A.Value),h);$s=26;case 26:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;if(!($interfaceIsEqual(at,$ifaceNil))){$s=-1;return at;}ac++;$s=18;continue;case 19:h=$subslice(h,0,(h.$length-1>>0));$s=-1;return $ifaceNil;case 3:au=Z(h,$clone(g,A.Value));$s=27;case 27:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au;$s=28;case 28:return av;case 4:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:V};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};W=function(f,g,h){var aa,ab,ac,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(g,A.Value).Kind();if(i===(25)){$s=2;continue;}$s=3;continue;case 2:j=$clone($clone(f,B.Value).Type(),B.Type).TupleElementTypes();k=$clone(g,A.Value).Type().NumField();$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(!((l===j.$length))){$s=6;continue;}$s=7;continue;case 6:m=h.NewErrorf("a tuple of %d elements is required",new AW([new $Int(l)]));$s=8;case 8:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=9;case 9:return n;case 7:h=$append(h,$ifaceNil);o=j;p=0;case 10:if(!(p<o.$length)){$s=11;continue;}q=p;s=B.NumberIntVal((new $Int64(0,q)));$s=12;case 12:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}(t=h.$length-1>>0,((t<0||t>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+t]=(r=new B.IndexStep.ptr(new B.pathStepImpl.ptr(),$clone(s,B.Value)),new r.constructor.elem(r))));u=B.NumberIntVal((new $Int64(0,q)));$s=13;case 13:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=$clone(f,B.Value).Index($clone(u,B.Value));$s=14;case 14:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=$clone(v,B.Value);x=$clone(g,A.Value).Field(q);$s=15;case 15:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;z=K($clone(w,B.Value),$clone(y,A.Value),h);$s=16;case 16:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;if(!($interfaceIsEqual(aa,$ifaceNil))){$s=-1;return aa;}p++;$s=10;continue;case 11:h=$subslice(h,0,(h.$length-1>>0));$s=-1;return $ifaceNil;case 3:ab=Z(h,$clone(g,A.Value));$s=17;case 17:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;$s=18;case 18:return ac;case 4:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:W};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};X=function(f,g,h){var aa,ab,ac,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($clone(g,A.Value).Kind()===22){$s=1;continue;}$s=2;continue;case 1:i=Y($clone(g,A.Value),true);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}g=i;if($clone(f,B.Value).IsNull()){$s=5;continue;}$s=6;continue;case 5:j=A.Zero($clone(g,A.Value).Type());$s=7;case 7:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$r=$clone(g,A.Value).Set($clone(j,A.Value));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 6:k=$clone($clone(f,B.Value).Type(),B.Type).EncapsulatedType();l=$clone(g,A.Value).Elem();$s=11;case 11:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=$clone(l,A.Value).Type();$s=12;case 12:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=k.AssignableTo(m);$s=13;case 13:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(!n){$s=9;continue;}$s=10;continue;case 9:o=$clone($clone(f,B.Value).Type(),B.Type).FriendlyName();$s=14;case 14:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=new $String(o);q=h.NewErrorf("incorrect type %s",new AW([p]));$s=15;case 15:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;$s=16;case 16:return r;case 10:s=A.ValueOf($clone(f,B.Value).EncapsulatedValue());$s=17;case 17:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}$r=$clone(g,A.Value).Set($clone(s,A.Value));$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 2:if($clone(f,B.Value).IsNull()){$s=19;continue;}$s=20;continue;case 19:t=h.NewErrorf("null value is not allowed",new AW([]));$s=21;case 21:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t;$s=22;case 22:return u;case 20:v=$clone($clone(f,B.Value).Type(),B.Type).EncapsulatedType();w=v.AssignableTo($clone(g,A.Value).Type());$s=25;case 25:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}if(!w){$s=23;continue;}$s=24;continue;case 23:x=$clone($clone(f,B.Value).Type(),B.Type).FriendlyName();$s=26;case 26:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=new $String(x);z=h.NewErrorf("incorrect type %s",new AW([y]));$s=27;case 27:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;$s=28;case 28:return aa;case 24:ab=A.ValueOf($clone(f,B.Value).EncapsulatedValue());$s=29;case 29:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,A.Value).Elem();$s=30;case 30:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}$r=$clone(g,A.Value).Set($clone(ac,A.Value));$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $ifaceNil;case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:X};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Y=function(f,g){var f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:if(($clone(f,A.Value).Kind()===20)&&!$clone(f,A.Value).IsNil()){$s=3;continue;}$s=4;continue;case 3:h=$clone(f,A.Value).Elem();$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;if(!(($clone(i,A.Value).Kind()===22)&&!$clone(i,A.Value).IsNil())){j=false;$s=8;continue s;}if(!g){k=true;$s=9;continue s;}l=$clone(i,A.Value).Elem();$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=$clone(l,A.Value).Kind();$s=11;case 11:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}k=m===22;case 9:j=k;case 8:if(j){$s=6;continue;}$s=7;continue;case 6:f=i;case 7:case 4:if(!(($clone(f,A.Value).Kind()===22))){$s=2;continue;}n=$clone(f,A.Value).Elem();$s=14;case 14:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=$clone(n,A.Value).Kind();$s=15;case 15:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}if(!((o===22))&&g&&$clone(f,A.Value).CanSet()){$s=12;continue;}$s=13;continue;case 12:$s=2;continue;case 13:if($clone(f,A.Value).IsNil()){$s=16;continue;}$s=17;continue;case 16:p=$clone(f,A.Value).Type().Elem();$s=18;case 18:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=A.New(p);$s=19;case 19:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}$r=$clone(f,A.Value).Set($clone(q,A.Value));$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 17:r=$clone(f,A.Value).Elem();$s=21;case 21:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}f=r;$s=1;continue;case 2:$s=-1;return f;}return;}if($f===undefined){$f={$blk:Y};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};Z=function(f,g){var aa,ab,ac,ad,ae,af,ag,ah,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=$clone(g,A.Value).Kind();if(h===(1)){$s=2;continue;}if(h===(24)){$s=3;continue;}if((h===(2))||(h===(3))||(h===(4))||(h===(5))||(h===(6))){$s=4;continue;}if((h===(7))||(h===(8))||(h===(9))||(h===(10))||(h===(11))){$s=5;continue;}if((h===(13))||(h===(14))){$s=6;continue;}if((h===(23))||(h===(17))){$s=7;continue;}if(h===(21)){$s=8;continue;}if(h===(25)){$s=9;continue;}$s=10;continue;case 2:i=f.NewErrorf("bool value is required",new AW([]));$s=12;case 12:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=13;case 13:return j;case 3:k=f.NewErrorf("string value is required",new AW([]));$s=14;case 14:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=15;case 15:return l;case 4:m=f.NewErrorf("number value is required",new AW([]));$s=16;case 16:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=17;case 17:return n;case 5:o=f.NewErrorf("number value is required",new AW([]));$s=18;case 18:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;$s=19;case 19:return p;case 6:q=f.NewErrorf("number value is required",new AW([]));$s=20;case 20:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;$s=21;case 21:return r;case 7:s=f.NewErrorf("list or set value is required",new AW([]));$s=22;case 22:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;$s=23;case 23:return t;case 8:u=f.NewErrorf("map or object value is required",new AW([]));$s=24;case 24:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;$s=25;case 25:return v;case 9:x=$clone(g,A.Value).Type().AssignableTo(AR);$s=32;case 32:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}if(x){w=true;$s=31;continue s;}y=$clone(g,A.Value).Type().AssignableTo(AS);$s=33;case 33:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}w=y;case 31:if(w){$s=27;continue;}z=$clone(g,A.Value).Type().AssignableTo(AQ);$s=34;case 34:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}if(z){$s=28;continue;}$s=29;continue;case 27:aa=f.NewErrorf("number value is required",new AW([]));$s=35;case 35:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;$s=36;case 36:return ab;case 28:ac=f.NewErrorf("set or list value is required",new AW([]));$s=37;case 37:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;$s=38;case 38:return ad;case 29:ae=f.NewErrorf("object or tuple value is required",new AW([]));$s=39;case 39:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=ae;$s=40;case 40:return af;case 30:case 26:$s=11;continue;case 10:ag=f.NewErrorf("incorrect type",new AW([]));$s=41;case 41:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=ag;$s=42;case 42:return ah;case 11:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:Z};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AV=function(f){var f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=f.NumField();$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=((h<0||h>2147483647)?$throwRuntimeError("makemap: size out of range"):{});j=0;case 2:if(!(j<h)){$s=3;continue;}k=f.Field(j);$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$clone(k,A.StructField);m=new A.StructTag(l.Tag).Get("cty");if(!(m==="")){n=m;(i||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(n)]={k:n,v:j};}j=j+(1)>>0;$s=2;continue;case 3:$s=-1;return i;}return;}if($f===undefined){$f={$blk:AV};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AO=A.TypeOf((a=new B.Value.ptr(new B.Type.ptr($ifaceNil),$ifaceNil),new a.constructor.elem(a)));AP=A.TypeOf((b=new B.Type.ptr($ifaceNil),new b.constructor.elem(b)));AQ=A.TypeOf((c=new F.Set.ptr(false,$ifaceNil),new c.constructor.elem(c)));AR=A.TypeOf((d=new D.Float.ptr(0,0,0,0,false,D.nat.nil,0),new d.constructor.elem(d)));AS=A.TypeOf((e=new D.Int.ptr(false,D.nat.nil),new e.constructor.elem(e)));AT=A.TypeOf(($ifaceNil));AU=A.TypeOf(new $String(""));}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/zclconf/go-cty/cty/json"]=(function(){var $pkg={},$init,A,D,E,B,C,F,G,AD,AG,AH,AI,AJ,AK,AL,AM,AN,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,AB,AE,AF;A=$packages["bytes"];D=$packages["encoding/json"];E=$packages["fmt"];B=$packages["github.com/zclconf/go-cty/cty"];C=$packages["github.com/zclconf/go-cty/cty/convert"];F=$packages["reflect"];G=$packages["sort"];AD=$pkg.SimpleJSONValue=$newType(0,$kindStruct,"json.SimpleJSONValue",true,"github.com/zclconf/go-cty/cty/json",true,function(Value_){this.$val=this;if(arguments.length===0){this.Value=new B.Value.ptr(new B.Type.ptr($ifaceNil),$ifaceNil);return;}this.Value=Value_;});AG=$sliceType($error);AH=$sliceType($Uint8);AI=$sliceType($emptyInterface);AJ=$sliceType(B.Value);AK=$ptrType(D.RawMessage);AL=$sliceType(B.Type);AM=$sliceType($String);AN=$ptrType(AD);H=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone($clone(a,B.Value).Type(),B.Type).TestConformance($clone(b,B.Type));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(!(d===AG.nil)){$s=2;continue;}$s=3;continue;case 2:e=$ifaceNil;g=C.Convert($clone(a,B.Value),$clone(b,B.Type));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;B.Value.copy(a,f[0]);e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[AH.nil,e];}case 3:h=new A.Buffer.ptr(AH.nil,0,0);i=B.Path.nil;j=AE($clone(a,B.Value),$clone(b,B.Type),i,h);$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return[AH.nil,k];}$s=-1;return[h.Bytes(),$ifaceNil];}return;}if($f===undefined){$f={$blk:H};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Marshal=H;I=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=B.Path.nil;d=J(a,$clone(b,B.Type),c);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:I};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Unmarshal=I;J=function(a,b,c){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=V(a);f=d.Token();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[B.NilVal,c.NewError(h)];}if($interfaceIsEqual(g,$ifaceNil)){$s=-1;return[B.NullVal($clone(b,B.Type)),$ifaceNil];}if($equal(b,B.DynamicPseudoType,B.Type)){$s=2;continue;}$s=3;continue;case 2:i=R(a,c);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=5;case 5:return j;case 3:if($clone(b,B.Type).IsPrimitiveType()){$s=7;continue;}if($clone(b,B.Type).IsListType()){$s=8;continue;}if($clone(b,B.Type).IsSetType()){$s=9;continue;}if($clone(b,B.Type).IsMapType()){$s=10;continue;}if($clone(b,B.Type).IsTupleType()){$s=11;continue;}if($clone(b,B.Type).IsObjectType()){$s=12;continue;}if($clone(b,B.Type).IsCapsuleType()){$s=13;continue;}$s=14;continue;case 7:l=K(g,$clone(b,B.Type),c);$s=16;case 16:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=$clone(k[0],B.Value);n=k[1];if(!($interfaceIsEqual(n,$ifaceNil))){$s=-1;return[B.NilVal,n];}$s=-1;return[m,$ifaceNil];case 8:o=a;p=$clone(b,B.Type).ElementType();$s=17;case 17:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=$clone(p,B.Type);r=c;s=L(o,q,r);$s=18;case 18:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;$s=19;case 19:return t;case 9:u=a;v=$clone(b,B.Type).ElementType();$s=20;case 20:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=$clone(v,B.Type);x=c;y=M(u,w,x);$s=21;case 21:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;$s=22;case 22:return z;case 10:aa=a;ab=$clone(b,B.Type).ElementType();$s=23;case 23:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,B.Type);ad=c;ae=N(aa,ac,ad);$s=24;case 24:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=ae;$s=25;case 25:return af;case 11:ag=O(a,$clone(b,B.Type).TupleElementTypes(),c);$s=26;case 26:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=ag;$s=27;case 27:return ah;case 12:ai=P(a,$clone(b,B.Type).AttributeTypes(),c);$s=28;case 28:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=ai;$s=29;case 29:return aj;case 13:ak=Q(a,$clone(b,B.Type),c);$s=30;case 30:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=ak;$s=31;case 31:return al;case 14:am=$clone(b,B.Type).FriendlyName();$s=32;case 32:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=new $String(am);ao=c.NewErrorf("unsupported type %s",new AI([an]));$s=33;case 33:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=[B.NilVal,ao];$s=34;case 34:return ap;case 15:case 6:$s=-1;return[new B.Value.ptr(new B.Type.ptr($ifaceNil),$ifaceNil),$ifaceNil];}return;}if($f===undefined){$f={$blk:J};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};K=function(a,b,c){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=$clone(b,B.Type);if($equal(d,(B.Bool),B.Type)){$s=2;continue;}if($equal(d,(B.Number),B.Type)){$s=3;continue;}if($equal(d,(B.String),B.Type)){$s=4;continue;}$s=5;continue;case 2:e=a;if($assertType(e,$Bool,true)[1]){$s=7;continue;}if($assertType(e,$String,true)[1]){$s=8;continue;}$s=9;continue;case 7:f=e.$val;$s=-1;return[B.BoolVal(f),$ifaceNil];case 8:g=e.$val;j=B.StringVal(g);$s=11;case 11:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=C.Convert($clone(j,B.Value),$clone(b,B.Type));$s=12;case 12:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}i=k;l=$clone(i[0],B.Value);m=i[1];if(!($interfaceIsEqual(m,$ifaceNil))){$s=-1;return[B.NilVal,c.NewError(m)];}$s=-1;return[l,$ifaceNil];case 9:h=e;n=c.NewErrorf("bool is required",new AI([]));$s=13;case 13:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=[B.NilVal,n];$s=14;case 14:return o;case 10:$s=6;continue;case 3:p=$assertType(a,D.Number,true);q=p[0];r=p[1];if(r){a=new $String((q));}s=a;if($assertType(s,$String,true)[1]){$s=15;continue;}$s=16;continue;case 15:t=s.$val;w=B.ParseNumberVal(t);$s=18;case 18:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;x=$clone(v[0],B.Value);y=v[1];if(!($interfaceIsEqual(y,$ifaceNil))){$s=-1;return[B.NilVal,c.NewError(y)];}$s=-1;return[x,$ifaceNil];case 16:u=s;z=c.NewErrorf("number is required",new AI([]));$s=19;case 19:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=[B.NilVal,z];$s=20;case 20:return aa;case 17:$s=6;continue;case 4:ab=a;if($assertType(ab,$String,true)[1]){$s=21;continue;}if($assertType(ab,D.Number,true)[1]){$s=22;continue;}if($assertType(ab,$Bool,true)[1]){$s=23;continue;}$s=24;continue;case 21:ac=ab.$val;ag=B.StringVal(ac);$s=26;case 26:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=[ag,$ifaceNil];$s=27;case 27:return ah;case 22:ad=ab.$val;ai=B.StringVal((ad));$s=28;case 28:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=[ai,$ifaceNil];$s=29;case 29:return aj;case 23:ae=ab.$val;al=C.Convert($clone(B.BoolVal(ae),B.Value),$clone(b,B.Type));$s=30;case 30:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ak=al;am=$clone(ak[0],B.Value);an=ak[1];if(!($interfaceIsEqual(an,$ifaceNil))){$s=-1;return[B.NilVal,c.NewError(an)];}$s=-1;return[am,$ifaceNil];case 24:af=ab;ao=c.NewErrorf("string is required",new AI([]));$s=31;case 31:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=[B.NilVal,ao];$s=32;case 32:return ap;case 25:$s=6;continue;case 5:$panic(new $String("unsupported primitive type"));case 6:case 1:$s=-1;return[new B.Value.ptr(new B.Type.ptr($ifaceNil),$ifaceNil),$ifaceNil];}return;}if($f===undefined){$f={$blk:K};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};L=function(a,b,c){var a,aa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=V(a);e=S(d,91);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[B.NilVal,c.NewError(f)];}g=AJ.nil;h=$append(c,$ifaceNil);i=new $Int64(0,0);case 2:j=d.More();$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(!(j)){$s=3;continue;}l=B.NumberIntVal(i);$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}(m=h.$length-1>>0,((m<0||m>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+m]=(k=new B.IndexStep.ptr(new B.pathStepImpl.ptr(),$clone(l,B.Value)),new k.constructor.elem(k))));i=(n=new $Int64(0,1),new $Int64(i.$high+n.$high,i.$low+n.$low));p=U(d);$s=6;case 6:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;q=o[0];r=o[1];if(!($interfaceIsEqual(r,$ifaceNil))){$s=7;continue;}$s=8;continue;case 7:s=h.NewErrorf("failed to read list value: %s",new AI([r]));$s=9;case 9:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=[B.NilVal,s];$s=10;case 10:return t;case 8:v=J(q,$clone(b,B.Type),h);$s=11;case 11:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=$clone(u[0],B.Value);r=u[1];if(!($interfaceIsEqual(r,$ifaceNil))){$s=-1;return[B.NilVal,r];}g=$append(g,w);$s=2;continue;case 3:x=S(d,93);$s=12;case 12:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;if(!($interfaceIsEqual(y,$ifaceNil))){$s=-1;return[B.NilVal,c.NewError(y)];}if(g.$length===0){$s=-1;return[B.ListValEmpty($clone(b,B.Type)),$ifaceNil];}z=B.ListVal(g);$s=13;case 13:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=[z,$ifaceNil];$s=14;case 14:return aa;}return;}if($f===undefined){$f={$blk:L};}$f.a=a;$f.aa=aa;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};M=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=V(a);e=S(d,91);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[B.NilVal,c.NewError(f)];}g=AJ.nil;h=$append(c,$ifaceNil);case 2:i=d.More();$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(!(i)){$s=3;continue;}(k=h.$length-1>>0,((k<0||k>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+k]=(j=new B.IndexStep.ptr(new B.pathStepImpl.ptr(),$clone(B.UnknownVal($clone(b,B.Type)),B.Value)),new j.constructor.elem(j))));m=U(d);$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];o=l[1];if(!($interfaceIsEqual(o,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:p=h.NewErrorf("failed to read set value: %s",new AI([o]));$s=8;case 8:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=[B.NilVal,p];$s=9;case 9:return q;case 7:s=J(n,$clone(b,B.Type),h);$s=10;case 10:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=$clone(r[0],B.Value);o=r[1];if(!($interfaceIsEqual(o,$ifaceNil))){$s=-1;return[B.NilVal,o];}g=$append(g,t);$s=2;continue;case 3:u=S(d,93);$s=11;case 11:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;if(!($interfaceIsEqual(v,$ifaceNil))){$s=-1;return[B.NilVal,c.NewError(v)];}if(g.$length===0){$s=-1;return[B.SetValEmpty($clone(b,B.Type)),$ifaceNil];}w=B.SetVal(g);$s=12;case 12:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=[w,$ifaceNil];$s=13;case 13:return x;}return;}if($f===undefined){$f={$blk:M};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};N=function(a,b,c){var a,aa,ab,ac,ad,ae,af,ag,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=V(a);e=S(d,123);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[B.NilVal,c.NewError(f)];}g={};h=$append(c,$ifaceNil);case 2:i=d.More();$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(!(i)){$s=3;continue;}(k=h.$length-1>>0,((k<0||k>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+k]=(j=new B.IndexStep.ptr(new B.pathStepImpl.ptr(),$clone(B.UnknownVal($clone(B.String,B.Type)),B.Value)),new j.constructor.elem(j))));l=$ifaceNil;n=T(d);$s=5;case 5:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];l=m[1];if(!($interfaceIsEqual(l,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:p=h.NewErrorf("failed to read map key: %s",new AI([l]));$s=8;case 8:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=[B.NilVal,p];$s=9;case 9:return q;case 7:s=B.StringVal(o);$s=10;case 10:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}(t=h.$length-1>>0,((t<0||t>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+t]=(r=new B.IndexStep.ptr(new B.pathStepImpl.ptr(),$clone(s,B.Value)),new r.constructor.elem(r))));v=U(d);$s=11;case 11:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=u[0];l=u[1];if(!($interfaceIsEqual(l,$ifaceNil))){$s=12;continue;}$s=13;continue;case 12:x=h.NewErrorf("failed to read map value: %s",new AI([l]));$s=14;case 14:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=[B.NilVal,x];$s=15;case 15:return y;case 13:aa=J(w,$clone(b,B.Type),h);$s=16;case 16:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;ab=$clone(z[0],B.Value);l=z[1];if(!($interfaceIsEqual(l,$ifaceNil))){$s=-1;return[B.NilVal,l];}ac=o;(g||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(ac)]={k:ac,v:$clone(ab,B.Value)};$s=2;continue;case 3:ad=S(d,125);$s=17;case 17:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;if(!($interfaceIsEqual(ae,$ifaceNil))){$s=-1;return[B.NilVal,c.NewError(ae)];}if($keys(g).length===0){$s=-1;return[B.MapValEmpty($clone(b,B.Type)),$ifaceNil];}af=B.MapVal(g);$s=18;case 18:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=[af,$ifaceNil];$s=19;case 19:return ag;}return;}if($f===undefined){$f={$blk:N};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};O=function(a,b,c){var a,aa,ab,ac,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=V(a);e=S(d,91);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[B.NilVal,c.NewError(f)];}g=AJ.nil;h=$append(c,$ifaceNil);i=0;case 2:j=d.More();$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(!(j)){$s=3;continue;}if(i>=b.$length){$s=5;continue;}$s=6;continue;case 5:k=$subslice(h,0,(h.$length-1>>0)).NewErrorf("too many tuple elements (need %d)",new AI([new $Int(b.$length)]));$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=[B.NilVal,k];$s=8;case 8:return l;case 6:n=B.NumberIntVal((new $Int64(0,i)));$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}(o=h.$length-1>>0,((o<0||o>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+o]=(m=new B.IndexStep.ptr(new B.pathStepImpl.ptr(),$clone(n,B.Value)),new m.constructor.elem(m))));p=$clone(((i<0||i>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+i]),B.Type);i=i+(1)>>0;r=U(d);$s=10;case 10:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];if(!($interfaceIsEqual(t,$ifaceNil))){$s=11;continue;}$s=12;continue;case 11:u=h.NewErrorf("failed to read tuple value: %s",new AI([t]));$s=13;case 13:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=[B.NilVal,u];$s=14;case 14:return v;case 12:x=J(s,$clone(p,B.Type),h);$s=15;case 15:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;y=$clone(w[0],B.Value);t=w[1];if(!($interfaceIsEqual(t,$ifaceNil))){$s=-1;return[B.NilVal,t];}g=$append(g,y);$s=2;continue;case 3:z=S(d,93);$s=16;case 16:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;if(!($interfaceIsEqual(aa,$ifaceNil))){$s=-1;return[B.NilVal,c.NewError(aa)];}if(!((g.$length===b.$length))){$s=17;continue;}$s=18;continue;case 17:ab=$subslice(c,0,(c.$length-1>>0)).NewErrorf("not enough tuple elements (need %d)",new AI([new $Int(b.$length)]));$s=19;case 19:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=[B.NilVal,ab];$s=20;case 20:return ac;case 18:if(g.$length===0){$s=-1;return[B.EmptyTupleVal,$ifaceNil];}$s=-1;return[B.TupleVal(g),$ifaceNil];}return;}if($f===undefined){$f={$blk:O};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};P=function(a,b,c){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=V(a);e=S(d,123);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[B.NilVal,c.NewError(f)];}g={};h=c;i=$append(c,$ifaceNil);case 2:j=d.More();$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(!(j)){$s=3;continue;}k=$ifaceNil;m=T(d);$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];k=l[1];if(!($interfaceIsEqual(k,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:o=i.NewErrorf("failed to read object key: %s",new AI([k]));$s=8;case 8:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=[B.NilVal,o];$s=9;case 9:return p;case 7:q=(r=b[$String.keyFor(n)],r!==undefined?[r.v,true]:[new B.Type.ptr($ifaceNil),false]);s=$clone(q[0],B.Type);t=q[1];if(!t){$s=10;continue;}$s=11;continue;case 10:u=h.NewErrorf("unsupported attribute %q",new AI([new $String(n)]));$s=12;case 12:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=[B.NilVal,u];$s=13;case 13:return v;case 11:(x=i.$length-1>>0,((x<0||x>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+x]=(w=new B.GetAttrStep.ptr(new B.pathStepImpl.ptr(),n),new w.constructor.elem(w))));z=U(d);$s=14;case 14:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;aa=y[0];k=y[1];if(!($interfaceIsEqual(k,$ifaceNil))){$s=15;continue;}$s=16;continue;case 15:ab=i.NewErrorf("failed to read object value: %s",new AI([k]));$s=17;case 17:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=[B.NilVal,ab];$s=18;case 18:return ac;case 16:ae=J(aa,$clone(s,B.Type),i);$s=19;case 19:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=ae;af=$clone(ad[0],B.Value);k=ad[1];if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return[B.NilVal,k];}ag=n;(g||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(ag)]={k:ag,v:$clone(af,B.Value)};$s=2;continue;case 3:ah=S(d,125);$s=20;case 20:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;if(!($interfaceIsEqual(ai,$ifaceNil))){$s=-1;return[B.NilVal,c.NewError(ai)];}aj=b;ak=0;al=$keys(aj);while(true){if(!(ak<al.length)){break;}am=aj[al[ak]];if(am===undefined){ak++;continue;}an=am.k;ao=$clone(am.v,B.Type);ap=(aq=g[$String.keyFor(an)],aq!==undefined?[aq.v,true]:[new B.Value.ptr(new B.Type.ptr($ifaceNil),$ifaceNil),false]);ar=ap[1];if(!ar){as=an;(g||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(as)]={k:as,v:$clone(B.NullVal($clone(ao,B.Type)),B.Value)};}ak++;}if($keys(g).length===0){$s=-1;return[B.EmptyObjectVal,$ifaceNil];}at=B.ObjectVal(g);$s=21;case 21:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=[at,$ifaceNil];$s=22;case 22:return au;}return;}if($f===undefined){$f={$blk:P};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Q=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=$clone(b,B.Type).EncapsulatedType();e=F.New(F.PtrTo(d));f=$clone(e,F.Value).Elem();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$r=$clone(f,F.Value).Set($clone(F.New(d),F.Value));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g=$clone(e,F.Value).Elem();$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=$clone(g,F.Value).Interface();$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;j=D.Unmarshal(a,i);$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return[B.NilVal,c.NewError(k)];}l=B.CapsuleVal($clone(b,B.Type),i);$s=6;case 6:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=[l,$ifaceNil];$s=7;case 7:return m;}return;}if($f===undefined){$f={$blk:Q};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};R=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=V(a);e=S(d,123);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[B.NilVal,b.NewError(f)];}c[0]=new B.Type.ptr($ifaceNil);g=AH.nil;case 2:h=d.More();$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(!(h)){$s=3;continue;}i=$ifaceNil;k=T(d);$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];i=j[1];if(!($interfaceIsEqual(i,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:m=b.NewErrorf("failed to read dynamic type descriptor key: %s",new AI([i]));$s=8;case 8:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=[B.NilVal,m];$s=9;case 9:return n;case 7:p=U(d);$s=10;case 10:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;q=o[0];i=o[1];if(!($interfaceIsEqual(i,$ifaceNil))){$s=11;continue;}$s=12;continue;case 11:r=b.NewErrorf("failed to read dynamic type descriptor value: %s",new AI([i]));$s=13;case 13:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=[B.NilVal,r];$s=14;case 14:return s;case 12:t=l;if(t===("type")){$s=16;continue;}if(t===("value")){$s=17;continue;}$s=18;continue;case 16:u=D.Unmarshal(q,c[0]);$s=20;case 20:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;if(!($interfaceIsEqual(v,$ifaceNil))){$s=21;continue;}$s=22;continue;case 21:w=b.NewErrorf("failed to decode type for dynamic value: %s",new AI([v]));$s=23;case 23:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=[B.NilVal,w];$s=24;case 24:return x;case 22:$s=19;continue;case 17:g=q;$s=19;continue;case 18:y=b.NewErrorf("invalid key %q in dynamically-typed value",new AI([new $String(l)]));$s=25;case 25:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=[B.NilVal,y];$s=26;case 26:return z;case 19:case 15:$s=2;continue;case 3:aa=S(d,125);$s=27;case 27:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;if(!($interfaceIsEqual(ab,$ifaceNil))){$s=-1;return[B.NilVal,b.NewError(ab)];}if($equal(c[0],B.NilType,B.Type)){$s=28;continue;}$s=29;continue;case 28:ac=b.NewErrorf("missing type in dynamically-typed value",new AI([]));$s=30;case 30:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=[B.NilVal,ac];$s=31;case 31:return ad;case 29:if(g===AH.nil){$s=32;continue;}$s=33;continue;case 32:ae=b.NewErrorf("missing value in dynamically-typed value",new AI([]));$s=34;case 34:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=[B.NilVal,ae];$s=35;case 35:return af;case 33:ah=I((g),$clone(c[0],B.Type));$s=36;case 36:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;ai=$clone(ag[0],B.Value);aj=ag[1];if(!($interfaceIsEqual(aj,$ifaceNil))){$s=-1;return[B.NilVal,b.NewError(aj)];}$s=-1;return[ai,$ifaceNil];}return;}if($f===undefined){$f={$blk:R};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};S=function(a,b){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=a.Token();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return f;}if(!($interfaceIsEqual(e,new D.Delim(((b>>0)))))){$s=2;continue;}$s=3;continue;case 2:g=E.Errorf("missing expected %c",new AI([new $Int32(b)]));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=5;case 5:return h;case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:S};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};T=function(a){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=a.Token();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return["",e];}f=$assertType(d,$String,true);g=f[0];h=f[1];if(h){$s=-1;return[g,$ifaceNil];}i=E.Errorf("missing expected object key",new AI([]));$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=["",i];$s=3;case 3:return j;}return;}if($f===undefined){$f={$blk:T};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};U=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];b[0]=D.RawMessage.nil;c=a.Decode((b.$ptr||(b.$ptr=new AK(function(){return this.$target[0];},function($v){this.$target[0]=$v;},b))));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(!($interfaceIsEqual(d,$ifaceNil))){$s=-1;return[AH.nil,d];}$s=-1;return[($convertSliceType(b[0],AH)),$ifaceNil];}return;}if($f===undefined){$f={$blk:U};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};V=function(a){var a,b,c;b=A.NewReader(a);c=D.NewDecoder(b);c.UseNumber();return c;};W=function(a){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=A.NewReader(a);c=D.NewDecoder(b);c.UseNumber();e=X(c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=$clone(d[0],B.Type);g=d[1];if(!($interfaceIsEqual(g,$ifaceNil))){$s=-1;return[B.NilType,g];}h=c.More();$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(h){$s=2;continue;}$s=3;continue;case 2:i=E.Errorf("extraneous data after JSON object",new AI([]));$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=[B.NilType,i];$s=6;case 6:return j;case 3:$s=-1;return[f,$ifaceNil];}return;}if($f===undefined){$f={$blk:W};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ImpliedType=W;X=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=a.Token();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[B.NilType,e];}f=Y(d,a);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=3;case 3:return g;}return;}if($f===undefined){$f={$blk:X};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};Y=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($interfaceIsEqual(a,$ifaceNil)){$s=-1;return[B.DynamicPseudoType,$ifaceNil];}c=a;if($assertType(c,$Bool,true)[1]){$s=1;continue;}if($assertType(c,D.Number,true)[1]){$s=2;continue;}if($assertType(c,$String,true)[1]){$s=3;continue;}if($assertType(c,D.Delim,true)[1]){$s=4;continue;}$s=5;continue;case 1:d=c.$val;$s=-1;return[B.Bool,$ifaceNil];case 2:e=c.$val;$s=-1;return[B.Number,$ifaceNil];case 3:f=c.$val;$s=-1;return[B.String,$ifaceNil];case 4:g=c.$val;i=((g>>0));if(i===(123)){$s=8;continue;}if(i===(91)){$s=9;continue;}$s=10;continue;case 8:j=Z(b);$s=12;case 12:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=13;case 13:return k;case 9:l=AA(b);$s=14;case 14:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;$s=15;case 15:return m;case 10:n=E.Errorf("unexpected token %q",new AI([new D.Delim(g)]));$s=16;case 16:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=[B.NilType,n];$s=17;case 17:return o;case 11:case 7:$s=6;continue;case 5:h=c;p=E.Errorf("unsupported JSON token %#v",new AI([a]));$s=18;case 18:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=[B.NilType,p];$s=19;case 19:return q;case 6:$s=-1;return[new B.Type.ptr($ifaceNil),$ifaceNil];}return;}if($f===undefined){$f={$blk:Y};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};Z=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=false;case 1:d=a.Token();$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[B.NilType,f];}g=$assertType(e,D.Delim,true);h=g[0];i=g[1];if(i){$s=4;continue;}$s=5;continue;case 4:if(!((((h>>0))===125))){$s=6;continue;}$s=7;continue;case 6:j=E.Errorf("unexpected delimiter %q",new AI([new D.Delim(h)]));$s=8;case 8:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=[B.NilType,j];$s=9;case 9:return k;case 7:$s=2;continue;case 5:l=$assertType(e,$String,true);m=l[0];n=l[1];if(!n){$s=10;continue;}$s=11;continue;case 10:o=E.Errorf("expected string but found %T",new AI([e]));$s=12;case 12:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=[B.NilType,o];$s=13;case 13:return p;case 11:r=a.Token();$s=14;case 14:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;e=q[0];f=q[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[B.NilType,f];}t=Y(e,a);$s=15;case 15:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=$clone(s[0],B.Type);f=s[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[B.NilType,f];}if(b===false){b={};}v=m;(b||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(v)]={k:v,v:$clone(u,B.Type)};$s=1;continue;case 2:if($keys(b).length===0){$s=-1;return[B.EmptyObject,$ifaceNil];}w=B.Object(b);$s=16;case 16:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=[w,$ifaceNil];$s=17;case 17:return x;}return;}if($f===undefined){$f={$blk:Z};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};AA=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=AL.nil;case 1:d=a.Token();$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[B.NilType,f];}g=$assertType(e,D.Delim,true);h=g[0];i=g[1];if(i){if(((h>>0))===93){$s=2;continue;}}k=Y(e,a);$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=$clone(j[0],B.Type);f=j[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[B.NilType,f];}b=$append(b,l);$s=1;continue;case 2:if(b.$length===0){$s=-1;return[B.EmptyTuple,$ifaceNil];}$s=-1;return[B.Tuple(b),$ifaceNil];}return;}if($f===undefined){$f={$blk:AA};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AB=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$clone(a,B.Type).MarshalJSON();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:AB};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$pkg.MarshalType=AB;AD.ptr.prototype.MarshalJSON=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=H($clone(a.Value,B.Value),$clone($clone(a.Value,B.Value).Type(),B.Type));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:AD.ptr.prototype.MarshalJSON};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AD.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};AD.ptr.prototype.UnmarshalJSON=function(a){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=W(a);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=$clone(c[0],B.Type);f=c[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return f;}h=I(a,$clone(e,B.Type));$s=2;case 2:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;B.Value.copy(b.Value,g[0]);f=g[1];$s=-1;return f;}return;}if($f===undefined){$f={$blk:AD.ptr.prototype.UnmarshalJSON};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AD.prototype.UnmarshalJSON=function(a){return this.$val.UnmarshalJSON(a);};AE=function(a,b,c,d){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,d,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,dp,dq,dr,ds,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;c=$f.c;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;cr=$f.cr;cs=$f.cs;ct=$f.ct;cu=$f.cu;cv=$f.cv;cw=$f.cw;cx=$f.cx;cy=$f.cy;cz=$f.cz;d=$f.d;da=$f.da;db=$f.db;dc=$f.dc;dd=$f.dd;de=$f.de;df=$f.df;dg=$f.dg;dh=$f.dh;di=$f.di;dj=$f.dj;dk=$f.dk;dl=$f.dl;dm=$f.dm;dn=$f.dn;dp=$f.dp;dq=$f.dq;dr=$f.dr;ds=$f.ds;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($clone(a,B.Value).IsMarked()){$s=1;continue;}$s=2;continue;case 1:e=c.NewErrorf("value has marks, so it cannot be serialized as JSON",new AI([]));$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=4;case 4:return f;case 2:if($equal(b,B.DynamicPseudoType,B.Type)&&!($equal($clone(a,B.Value).Type(),B.DynamicPseudoType,B.Type))){$s=5;continue;}$s=6;continue;case 5:g=AF($clone(a,B.Value),c,d);$s=7;case 7:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=8;case 8:return h;case 6:if($clone(a,B.Value).IsNull()){$s=9;continue;}$s=10;continue;case 9:i=d.WriteString("null");$s=11;case 11:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;$s=-1;return $ifaceNil;case 10:if(!$clone(a,B.Value).IsKnown()){$s=12;continue;}$s=13;continue;case 12:j=c.NewErrorf("value is not known",new AI([]));$s=14;case 14:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=15;case 15:return k;case 13:if($clone(b,B.Type).IsPrimitiveType()){$s=17;continue;}if(($clone(b,B.Type).IsListType())||($clone(b,B.Type).IsSetType())){$s=18;continue;}if($clone(b,B.Type).IsMapType()){$s=19;continue;}if($clone(b,B.Type).IsTupleType()){$s=20;continue;}if($clone(b,B.Type).IsObjectType()){$s=21;continue;}if($clone(b,B.Type).IsCapsuleType()){$s=22;continue;}$s=23;continue;case 17:l=$clone(b,B.Type);if($equal(l,(B.String),B.Type)){$s=26;continue;}if($equal(l,(B.Number),B.Type)){$s=27;continue;}if($equal(l,(B.Bool),B.Type)){$s=28;continue;}$s=29;continue;case 26:n=D.Marshal(new $String($clone(a,B.Value).AsString()));$s=31;case 31:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=32;continue;}$s=33;continue;case 32:q=c.NewErrorf("failed to serialize value: %s",new AI([p]));$s=34;case 34:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;$s=35;case 35:return r;case 33:s=d.Write(o);$s=36;case 36:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}s;$s=-1;return $ifaceNil;case 27:u=$clone(a,B.Value).RawEquals($clone(B.PositiveInfinity,B.Value));$s=40;case 40:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}if(u){t=true;$s=39;continue s;}v=$clone(a,B.Value).RawEquals($clone(B.NegativeInfinity,B.Value));$s=41;case 41:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}t=v;case 39:if(t){$s=37;continue;}$s=38;continue;case 37:w=c.NewErrorf("cannot serialize infinity as JSON",new AI([]));$s=42;case 42:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;$s=43;case 43:return x;case 38:y=$clone(a,B.Value).AsBigFloat();$s=44;case 44:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y.Text(102,-1);$s=45;case 45:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=d.WriteString(z);$s=46;case 46:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}aa;$s=-1;return $ifaceNil;case 28:ab=$clone(a,B.Value).True();$s=50;case 50:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}if(ab){$s=47;continue;}$s=48;continue;case 47:ac=d.WriteString("true");$s=51;case 51:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ac;$s=49;continue;case 48:ad=d.WriteString("false");$s=52;case 52:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ad;case 49:$s=-1;return $ifaceNil;case 29:$panic(new $String("unsupported primitive type"));case 30:case 25:$s=24;continue;case 18:ae=d.WriteRune(91);$s=53;case 53:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ae;af=true;ag=$clone(b,B.Type).ElementType();$s=54;case 54:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=$clone(ag,B.Type);ai=$clone(a,B.Value).ElementIterator();$s=55;case 55:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=ai;ak=$append(c,$ifaceNil);case 56:al=aj.Next();$s=58;case 58:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}if(!(al)){$s=57;continue;}if(!af){$s=59;continue;}$s=60;continue;case 59:am=d.WriteRune(44);$s=61;case 61:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}am;case 60:ao=aj.Element();$s=62;case 62:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}an=ao;ap=$clone(an[0],B.Value);aq=$clone(an[1],B.Value);(as=ak.$length-1>>0,((as<0||as>=ak.$length)?($throwRuntimeError("index out of range"),undefined):ak.$array[ak.$offset+as]=(ar=new B.IndexStep.ptr(new B.pathStepImpl.ptr(),$clone(ap,B.Value)),new ar.constructor.elem(ar))));at=AE($clone(aq,B.Value),$clone(ah,B.Type),ak,d);$s=63;case 63:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;if(!($interfaceIsEqual(au,$ifaceNil))){$s=-1;return au;}af=false;$s=56;continue;case 57:av=d.WriteRune(93);$s=64;case 64:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}av;$s=-1;return $ifaceNil;case 19:aw=d.WriteRune(123);$s=65;case 65:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}aw;ax=true;ay=$clone(b,B.Type).ElementType();$s=66;case 66:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=$clone(ay,B.Type);ba=$clone(a,B.Value).ElementIterator();$s=67;case 67:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=ba;bc=$append(c,$ifaceNil);case 68:bd=bb.Next();$s=70;case 70:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}if(!(bd)){$s=69;continue;}if(!ax){$s=71;continue;}$s=72;continue;case 71:be=d.WriteRune(44);$s=73;case 73:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}be;case 72:bg=bb.Element();$s=74;case 74:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bf=bg;bh=$clone(bf[0],B.Value);bi=$clone(bf[1],B.Value);(bk=bc.$length-1>>0,((bk<0||bk>=bc.$length)?($throwRuntimeError("index out of range"),undefined):bc.$array[bc.$offset+bk]=(bj=new B.IndexStep.ptr(new B.pathStepImpl.ptr(),$clone(bh,B.Value)),new bj.constructor.elem(bj))));bl=$ifaceNil;bm=AE($clone(bh,B.Value),$clone($clone(bh,B.Value).Type(),B.Type),bc,d);$s=75;case 75:if($c){$c=false;bm=bm.$blk();}if(bm&&bm.$blk!==undefined){break s;}bl=bm;if(!($interfaceIsEqual(bl,$ifaceNil))){$s=-1;return bl;}bn=d.WriteRune(58);$s=76;case 76:if($c){$c=false;bn=bn.$blk();}if(bn&&bn.$blk!==undefined){break s;}bn;bo=AE($clone(bi,B.Value),$clone(az,B.Type),bc,d);$s=77;case 77:if($c){$c=false;bo=bo.$blk();}if(bo&&bo.$blk!==undefined){break s;}bl=bo;if(!($interfaceIsEqual(bl,$ifaceNil))){$s=-1;return bl;}ax=false;$s=68;continue;case 69:bp=d.WriteRune(125);$s=78;case 78:if($c){$c=false;bp=bp.$blk();}if(bp&&bp.$blk!==undefined){break s;}bp;$s=-1;return $ifaceNil;case 20:bq=d.WriteRune(91);$s=79;case 79:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}bq;br=$clone(b,B.Type).TupleElementTypes();bs=$clone(a,B.Value).ElementIterator();$s=80;case 80:if($c){$c=false;bs=bs.$blk();}if(bs&&bs.$blk!==undefined){break s;}bt=bs;bu=$append(c,$ifaceNil);bv=0;case 81:bw=bt.Next();$s=83;case 83:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}if(!(bw)){$s=82;continue;}if(bv>0){$s=84;continue;}$s=85;continue;case 84:bx=d.WriteRune(44);$s=86;case 86:if($c){$c=false;bx=bx.$blk();}if(bx&&bx.$blk!==undefined){break s;}bx;case 85:by=$clone(((bv<0||bv>=br.$length)?($throwRuntimeError("index out of range"),undefined):br.$array[br.$offset+bv]),B.Type);ca=bt.Element();$s=87;case 87:if($c){$c=false;ca=ca.$blk();}if(ca&&ca.$blk!==undefined){break s;}bz=ca;cb=$clone(bz[0],B.Value);cc=$clone(bz[1],B.Value);(ce=bu.$length-1>>0,((ce<0||ce>=bu.$length)?($throwRuntimeError("index out of range"),undefined):bu.$array[bu.$offset+ce]=(cd=new B.IndexStep.ptr(new B.pathStepImpl.ptr(),$clone(cb,B.Value)),new cd.constructor.elem(cd))));cf=AE($clone(cc,B.Value),$clone(by,B.Type),bu,d);$s=88;case 88:if($c){$c=false;cf=cf.$blk();}if(cf&&cf.$blk!==undefined){break s;}cg=cf;if(!($interfaceIsEqual(cg,$ifaceNil))){$s=-1;return cg;}bv=bv+(1)>>0;$s=81;continue;case 82:ch=d.WriteRune(93);$s=89;case 89:if($c){$c=false;ch=ch.$blk();}if(ch&&ch.$blk!==undefined){break s;}ch;$s=-1;return $ifaceNil;case 21:ci=d.WriteRune(123);$s=90;case 90:if($c){$c=false;ci=ci.$blk();}if(ci&&ci.$blk!==undefined){break s;}ci;cj=$clone(b,B.Type).AttributeTypes();ck=$append(c,$ifaceNil);cl=$makeSlice(AM,0,$keys(cj).length);cm=cj;cn=0;co=$keys(cm);while(true){if(!(cn<co.length)){break;}cp=cm[co[cn]];if(cp===undefined){cn++;continue;}cq=cp.k;cl=$append(cl,cq);cn++;}$r=G.Strings(cl);$s=91;case 91:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}cr=cl;cs=0;case 92:if(!(cs<cr.$length)){$s=93;continue;}ct=cs;cu=((cs<0||cs>=cr.$length)?($throwRuntimeError("index out of range"),undefined):cr.$array[cr.$offset+cs]);cw=$clone((cv=cj[$String.keyFor(cu)],cv!==undefined?cv.v:new B.Type.ptr($ifaceNil)),B.Type);if(ct>0){$s=94;continue;}$s=95;continue;case 94:cx=d.WriteRune(44);$s=96;case 96:if($c){$c=false;cx=cx.$blk();}if(cx&&cx.$blk!==undefined){break s;}cx;case 95:cy=$clone(a,B.Value).GetAttr(cu);$s=97;case 97:if($c){$c=false;cy=cy.$blk();}if(cy&&cy.$blk!==undefined){break s;}cz=$clone(cy,B.Value);(db=ck.$length-1>>0,((db<0||db>=ck.$length)?($throwRuntimeError("index out of range"),undefined):ck.$array[ck.$offset+db]=(da=new B.GetAttrStep.ptr(new B.pathStepImpl.ptr(),cu),new da.constructor.elem(da))));dc=$ifaceNil;dd=B.StringVal(cu);$s=98;case 98:if($c){$c=false;dd=dd.$blk();}if(dd&&dd.$blk!==undefined){break s;}de=AE($clone(dd,B.Value),$clone(B.String,B.Type),ck,d);$s=99;case 99:if($c){$c=false;de=de.$blk();}if(de&&de.$blk!==undefined){break s;}dc=de;if(!($interfaceIsEqual(dc,$ifaceNil))){$s=-1;return dc;}df=d.WriteRune(58);$s=100;case 100:if($c){$c=false;df=df.$blk();}if(df&&df.$blk!==undefined){break s;}df;dg=AE($clone(cz,B.Value),$clone(cw,B.Type),ck,d);$s=101;case 101:if($c){$c=false;dg=dg.$blk();}if(dg&&dg.$blk!==undefined){break s;}dc=dg;if(!($interfaceIsEqual(dc,$ifaceNil))){$s=-1;return dc;}cs++;$s=92;continue;case 93:dh=d.WriteRune(125);$s=102;case 102:if($c){$c=false;dh=dh.$blk();}if(dh&&dh.$blk!==undefined){break s;}dh;$s=-1;return $ifaceNil;case 22:di=$clone(a,B.Value).EncapsulatedValue();dk=D.Marshal(di);$s=103;case 103:if($c){$c=false;dk=dk.$blk();}if(dk&&dk.$blk!==undefined){break s;}dj=dk;dl=dj[0];dm=dj[1];if(!($interfaceIsEqual(dm,$ifaceNil))){$s=-1;return c.NewError(dm);}dn=d.Write(dl);$s=104;case 104:if($c){$c=false;dn=dn.$blk();}if(dn&&dn.$blk!==undefined){break s;}dn;$s=-1;return $ifaceNil;case 23:dp=$clone(b,B.Type).FriendlyName();$s=105;case 105:if($c){$c=false;dp=dp.$blk();}if(dp&&dp.$blk!==undefined){break s;}dq=new $String(dp);dr=c.NewErrorf("cannot JSON-serialize %s",new AI([dq]));$s=106;case 106:if($c){$c=false;dr=dr.$blk();}if(dr&&dr.$blk!==undefined){break s;}ds=dr;$s=107;case 107:return ds;case 24:case 16:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AE};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.c=c;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.cr=cr;$f.cs=cs;$f.ct=ct;$f.cu=cu;$f.cv=cv;$f.cw=cw;$f.cx=cx;$f.cy=cy;$f.cz=cz;$f.d=d;$f.da=da;$f.db=db;$f.dc=dc;$f.dd=dd;$f.de=de;$f.df=df;$f.dg=dg;$f.dh=dh;$f.di=di;$f.dj=dj;$f.dk=dk;$f.dl=dl;$f.dm=dm;$f.dn=dn;$f.dp=dp;$f.dq=dq;$f.dr=dr;$f.ds=ds;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AF=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=AB($clone($clone(a,B.Value).Type(),B.Type));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];if(!($interfaceIsEqual(g,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:h=b.NewErrorf("failed to serialize type: %s",new AI([g]));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=5;case 5:return i;case 3:j=c.WriteString("{\"value\":");$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;k=AE($clone(a,B.Value),$clone($clone(a,B.Value).Type(),B.Type),b,c);$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;l=c.WriteString(",\"type\":");$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}l;m=c.Write(f);$s=9;case 9:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;n=c.WriteRune(125);$s=10;case 10:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n;$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AF};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AD.methods=[{prop:"MarshalJSON",name:"MarshalJSON",pkg:"",typ:$funcType([],[AH,$error],false)}];AN.methods=[{prop:"UnmarshalJSON",name:"UnmarshalJSON",pkg:"",typ:$funcType([AH],[$error],false)}];AD.init("",[{prop:"Value",name:"Value",embedded:true,exported:true,typ:B.Value,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["regexp/syntax"]=(function(){var $pkg={},$init,D,A,B,C,E,G,H,K,L,N,Q,AO,AP,AQ,AR,BB,BO,BU,BW,BX,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,M,V,W,X,Y,Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,BC,BT,BZ,CA,F,I,J,P,R,S,T,U,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BP,BQ,BR,BS,BV,BY;D=$packages["sort"];A=$packages["strconv"];B=$packages["strings"];C=$packages["unicode"];E=$packages["unicode/utf8"];G=$pkg.Regexp=$newType(0,$kindStruct,"syntax.Regexp",true,"regexp/syntax",true,function(Op_,Flags_,Sub_,Sub0_,Rune_,Rune0_,Min_,Max_,Cap_,Name_){this.$val=this;if(arguments.length===0){this.Op=0;this.Flags=0;this.Sub=CG.nil;this.Sub0=CH.zero();this.Rune=CC.nil;this.Rune0=CI.zero();this.Min=0;this.Max=0;this.Cap=0;this.Name="";return;}this.Op=Op_;this.Flags=Flags_;this.Sub=Sub_;this.Sub0=Sub0_;this.Rune=Rune_;this.Rune0=Rune0_;this.Min=Min_;this.Max=Max_;this.Cap=Cap_;this.Name=Name_;});H=$pkg.Op=$newType(1,$kindUint8,"syntax.Op",true,"regexp/syntax",true,null);K=$pkg.Prog=$newType(0,$kindStruct,"syntax.Prog",true,"regexp/syntax",true,function(Inst_,Start_,NumCap_){this.$val=this;if(arguments.length===0){this.Inst=CO.nil;this.Start=0;this.NumCap=0;return;}this.Inst=Inst_;this.Start=Start_;this.NumCap=NumCap_;});L=$pkg.InstOp=$newType(1,$kindUint8,"syntax.InstOp",true,"regexp/syntax",true,null);N=$pkg.EmptyOp=$newType(1,$kindUint8,"syntax.EmptyOp",true,"regexp/syntax",true,null);Q=$pkg.Inst=$newType(0,$kindStruct,"syntax.Inst",true,"regexp/syntax",true,function(Op_,Out_,Arg_,Rune_){this.$val=this;if(arguments.length===0){this.Op=0;this.Out=0;this.Arg=0;this.Rune=CC.nil;return;}this.Op=Op_;this.Out=Out_;this.Arg=Arg_;this.Rune=Rune_;});AO=$pkg.Error=$newType(0,$kindStruct,"syntax.Error",true,"regexp/syntax",true,function(Code_,Expr_){this.$val=this;if(arguments.length===0){this.Code="";this.Expr="";return;}this.Code=Code_;this.Expr=Expr_;});AP=$pkg.ErrorCode=$newType(8,$kindString,"syntax.ErrorCode",true,"regexp/syntax",true,null);AQ=$pkg.Flags=$newType(2,$kindUint16,"syntax.Flags",true,"regexp/syntax",true,null);AR=$pkg.parser=$newType(0,$kindStruct,"syntax.parser",true,"regexp/syntax",false,function(flags_,stack_,free_,numCap_,wholeRegexp_,tmpClass_){this.$val=this;if(arguments.length===0){this.flags=0;this.stack=CG.nil;this.free=CF.nil;this.numCap=0;this.wholeRegexp="";this.tmpClass=CC.nil;return;}this.flags=flags_;this.stack=stack_;this.free=free_;this.numCap=numCap_;this.wholeRegexp=wholeRegexp_;this.tmpClass=tmpClass_;});BB=$pkg.charGroup=$newType(0,$kindStruct,"syntax.charGroup",true,"regexp/syntax",false,function(sign_,class$1_){this.$val=this;if(arguments.length===0){this.sign=0;this.class$1=CC.nil;return;}this.sign=sign_;this.class$1=class$1_;});BO=$pkg.ranges=$newType(0,$kindStruct,"syntax.ranges",true,"regexp/syntax",false,function(p_){this.$val=this;if(arguments.length===0){this.p=CL.nil;return;}this.p=p_;});BU=$pkg.patchList=$newType(0,$kindStruct,"syntax.patchList",true,"regexp/syntax",false,function(head_,tail_){this.$val=this;if(arguments.length===0){this.head=0;this.tail=0;return;}this.head=head_;this.tail=tail_;});BW=$pkg.frag=$newType(0,$kindStruct,"syntax.frag",true,"regexp/syntax",false,function(i_,out_,nullable_){this.$val=this;if(arguments.length===0){this.i=0;this.out=new BU.ptr(0,0);this.nullable=false;return;}this.i=i_;this.out=out_;this.nullable=nullable_;});BX=$pkg.compiler=$newType(0,$kindStruct,"syntax.compiler",true,"regexp/syntax",false,function(p_){this.$val=this;if(arguments.length===0){this.p=CN.nil;return;}this.p=p_;});CB=$sliceType($String);CC=$sliceType($Int32);CD=$sliceType(C.Range16);CE=$sliceType(C.Range32);CF=$ptrType(G);CG=$sliceType(CF);CH=$arrayType(CF,1);CI=$arrayType($Int32,2);CJ=$ptrType(B.Builder);CK=$sliceType($Uint8);CL=$ptrType(CC);CM=$ptrType(C.RangeTable);CN=$ptrType(K);CO=$sliceType(Q);CP=$ptrType(Q);CQ=$ptrType(AO);CR=$ptrType(AR);CS=$ptrType(BX);G.ptr.prototype.Simplify=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;a=this;if(a===CF.nil){return CF.nil;}b=a.Op;if((b===(13))||(b===(18))||(b===(19))){c=a;d=a.Sub;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);h=g.Simplify();if(c===a&&!(h===g)){c=new G.ptr(0,0,CG.nil,CH.zero(),CC.nil,CI.zero(),0,0,0,"");G.copy(c,a);c.Rune=CC.nil;c.Sub=$appendSlice($subslice(new CG(c.Sub0),0,0),$subslice(a.Sub,0,f));}if(!(c===a)){c.Sub=$append(c.Sub,h);}e++;}return c;}else if((b===(14))||(b===(15))||(b===(16))){j=(i=a.Sub,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0])).Simplify();return F(a.Op,a.Flags,j,a);}else if(b===(17)){if((a.Min===0)&&(a.Max===0)){return new G.ptr(2,0,CG.nil,CH.zero(),CC.nil,CI.zero(),0,0,0,"");}l=(k=a.Sub,(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0])).Simplify();if(a.Max===-1){if(a.Min===0){return F(14,a.Flags,l,CF.nil);}if(a.Min===1){return F(15,a.Flags,l,CF.nil);}m=new G.ptr(18,0,CG.nil,CH.zero(),CC.nil,CI.zero(),0,0,0,"");m.Sub=$subslice(new CG(m.Sub0),0,0);n=0;while(true){if(!(n<(a.Min-1>>0))){break;}m.Sub=$append(m.Sub,l);n=n+(1)>>0;}m.Sub=$append(m.Sub,F(15,a.Flags,l,CF.nil));return m;}if((a.Min===1)&&(a.Max===1)){return l;}o=CF.nil;if(a.Min>0){o=new G.ptr(18,0,CG.nil,CH.zero(),CC.nil,CI.zero(),0,0,0,"");o.Sub=$subslice(new CG(o.Sub0),0,0);p=0;while(true){if(!(p<a.Min)){break;}o.Sub=$append(o.Sub,l);p=p+(1)>>0;}}if(a.Max>a.Min){q=F(16,a.Flags,l,CF.nil);r=a.Min+1>>0;while(true){if(!(r<a.Max)){break;}s=new G.ptr(18,0,CG.nil,CH.zero(),CC.nil,CI.zero(),0,0,0,"");s.Sub=$append($subslice(new CG(s.Sub0),0,0),l,q);q=F(16,a.Flags,s,CF.nil);r=r+(1)>>0;}if(o===CF.nil){return q;}o.Sub=$append(o.Sub,q);}if(!(o===CF.nil)){return o;}return new G.ptr(1,0,CG.nil,CH.zero(),CC.nil,CI.zero(),0,0,0,"");}return a;};G.prototype.Simplify=function(){return this.$val.Simplify();};F=function(a,b,c,d){var a,b,c,d,e;if(c.Op===2){return c;}if((a===c.Op)&&(((b&32)>>>0)===((c.Flags&32)>>>0))){return c;}if(!(d===CF.nil)&&(d.Op===a)&&(((d.Flags&32)>>>0)===((b&32)>>>0))&&c===(e=d.Sub,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]))){return d;}d=new G.ptr(a,b,CG.nil,CH.zero(),CC.nil,CI.zero(),0,0,0,"");d.Sub=$append($subslice(new CG(d.Sub0),0,0),c);return d;};G.ptr.prototype.Equal=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;b=this;if(b===CF.nil||a===CF.nil){return b===a;}if(!((b.Op===a.Op))){return false;}c=b.Op;if(c===(10)){if(!((((b.Flags&256)>>>0)===((a.Flags&256)>>>0)))){return false;}}else if((c===(3))||(c===(4))){if(!((b.Rune.$length===a.Rune.$length))){return false;}d=b.Rune;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(!((g===(h=a.Rune,((f<0||f>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+f]))))){return false;}e++;}}else if((c===(19))||(c===(18))){if(!((b.Sub.$length===a.Sub.$length))){return false;}i=b.Sub;j=0;while(true){if(!(j<i.$length)){break;}k=j;l=((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);if(!l.Equal((m=a.Sub,((k<0||k>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+k])))){return false;}j++;}}else if((c===(14))||(c===(15))||(c===(16))){if(!((((b.Flags&32)>>>0)===((a.Flags&32)>>>0)))||!(n=b.Sub,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0])).Equal((o=a.Sub,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])))){return false;}}else if(c===(17)){if(!((((b.Flags&32)>>>0)===((a.Flags&32)>>>0)))||!((b.Min===a.Min))||!((b.Max===a.Max))||!(p=b.Sub,(0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0])).Equal((q=a.Sub,(0>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+0])))){return false;}}else if(c===(13)){if(!((b.Cap===a.Cap))||!(b.Name===a.Name)||!(r=b.Sub,(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0])).Equal((s=a.Sub,(0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0])))){return false;}}return true;};G.prototype.Equal=function(a){return this.$val.Equal(a);};I=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;switch(0){default:c=b.Op;if(c===(1)){a.WriteString("[^\\x00-\\x{10FFFF}]");}else if(c===(2)){a.WriteString("(?:)");}else if(c===(3)){if(!((((b.Flags&1)>>>0)===0))){a.WriteString("(?i:");}d=b.Rune;e=0;while(true){if(!(e<d.$length)){break;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);J(a,f,false);e++;}if(!((((b.Flags&1)>>>0)===0))){a.WriteString(")");}}else if(c===(4)){if(!(((g=b.Rune.$length%2,g===g?g:$throwRuntimeError("integer divide by zero"))===0))){a.WriteString("[invalid char class]");break;}a.WriteRune(91);if(b.Rune.$length===0){a.WriteString("^\\x00-\\x{10FFFF}");}else if(((h=b.Rune,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))===0)&&((i=b.Rune,j=b.Rune.$length-1>>0,((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]))===1114111)&&b.Rune.$length>2){a.WriteRune(94);k=1;while(true){if(!(k<(b.Rune.$length-1>>0))){break;}l=(m=b.Rune,((k<0||k>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+k]))+1>>0;n=(o=b.Rune,p=k+1>>0,((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]))-1>>0;q=l;r=n;J(a,q,q===45);if(!((q===r))){a.WriteRune(45);J(a,r,r===45);}k=k+(2)>>0;}}else{s=0;while(true){if(!(s<b.Rune.$length)){break;}t=(u=b.Rune,((s<0||s>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+s]));v=(w=b.Rune,x=s+1>>0,((x<0||x>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+x]));y=t;z=v;J(a,y,y===45);if(!((y===z))){a.WriteRune(45);J(a,z,z===45);}s=s+(2)>>0;}}a.WriteRune(93);}else if(c===(5)){a.WriteString("(?-s:.)");}else if(c===(6)){a.WriteString("(?s:.)");}else if(c===(7)){a.WriteString("(?m:^)");}else if(c===(8)){a.WriteString("(?m:$)");}else if(c===(9)){a.WriteString("\\A");}else if(c===(10)){if(!((((b.Flags&256)>>>0)===0))){a.WriteString("(?-m:$)");}else{a.WriteString("\\z");}}else if(c===(11)){a.WriteString("\\b");}else if(c===(12)){a.WriteString("\\B");}else if(c===(13)){if(!(b.Name==="")){a.WriteString("(?P<");a.WriteString(b.Name);a.WriteRune(62);}else{a.WriteRune(40);}if(!(((aa=b.Sub,(0>=aa.$length?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+0])).Op===2))){I(a,(ab=b.Sub,(0>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0])));}a.WriteRune(41);}else if((c===(14))||(c===(15))||(c===(16))||(c===(17))){ad=(ac=b.Sub,(0>=ac.$length?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+0]));if(ad.Op>13||(ad.Op===3)&&ad.Rune.$length>1){a.WriteString("(?:");I(a,ad);a.WriteString(")");}else{I(a,ad);}ae=b.Op;if(ae===(14)){a.WriteRune(42);}else if(ae===(15)){a.WriteRune(43);}else if(ae===(16)){a.WriteRune(63);}else if(ae===(17)){a.WriteRune(123);a.WriteString(A.Itoa(b.Min));if(!((b.Max===b.Min))){a.WriteRune(44);if(b.Max>=0){a.WriteString(A.Itoa(b.Max));}}a.WriteRune(125);}if(!((((b.Flags&32)>>>0)===0))){a.WriteRune(63);}}else if(c===(18)){af=b.Sub;ag=0;while(true){if(!(ag<af.$length)){break;}ah=((ag<0||ag>=af.$length)?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+ag]);if(ah.Op===19){a.WriteString("(?:");I(a,ah);a.WriteString(")");}else{I(a,ah);}ag++;}}else if(c===(19)){ai=b.Sub;aj=0;while(true){if(!(aj<ai.$length)){break;}ak=aj;al=((aj<0||aj>=ai.$length)?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+aj]);if(ak>0){a.WriteRune(124);}I(a,al);aj++;}}else{a.WriteString("<invalid op"+A.Itoa(((b.Op>>0)))+">");}}};G.ptr.prototype.String=function(){var a,b;a=this;b=new B.Builder.ptr(CJ.nil,CK.nil);I(b,a);return b.String();};G.prototype.String=function(){return this.$val.String();};J=function(a,b,c){var a,b,c,d,e;if(C.IsPrint(b)){if(B.ContainsRune("\\.+*?()|[]{}^$",b)||c){a.WriteRune(92);}a.WriteRune(b);return;}switch(0){default:d=b;if(d===(7)){a.WriteString("\\a");}else if(d===(12)){a.WriteString("\\f");}else if(d===(10)){a.WriteString("\\n");}else if(d===(13)){a.WriteString("\\r");}else if(d===(9)){a.WriteString("\\t");}else if(d===(11)){a.WriteString("\\v");}else{if(b<256){a.WriteString("\\x");e=A.FormatInt((new $Int64(0,b)),16);if(e.length===1){a.WriteRune(48);}a.WriteString(e);break;}a.WriteString("\\x{");a.WriteString(A.FormatInt((new $Int64(0,b)),16));a.WriteString("}");}}};G.ptr.prototype.MaxCap=function(){var a,b,c,d,e,f;a=this;b=0;if(a.Op===13){b=a.Cap;}c=a.Sub;d=0;while(true){if(!(d<c.$length)){break;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);f=e.MaxCap();if(b<f){b=f;}d++;}return b;};G.prototype.MaxCap=function(){return this.$val.MaxCap();};G.ptr.prototype.CapNames=function(){var a,b;a=this;b=$makeSlice(CB,(a.MaxCap()+1>>0));a.capNames(b);return b;};G.prototype.CapNames=function(){return this.$val.CapNames();};G.ptr.prototype.capNames=function(a){var a,b,c,d,e,f;b=this;if(b.Op===13){(c=b.Cap,((c<0||c>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+c]=b.Name));}d=b.Sub;e=0;while(true){if(!(e<d.$length)){break;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);f.capNames(a);e++;}};G.prototype.capNames=function(a){return this.$val.capNames(a);};L.prototype.String=function(){var a;a=this.$val;if(((a>>>0))>=((M.$length>>>0))){return"";}return((a<0||a>=M.$length)?($throwRuntimeError("index out of range"),undefined):M.$array[M.$offset+a]);};$ptrType(L).prototype.String=function(){return new L(this.$get()).String();};P=function(a){var a;return 65<=a&&a<=90||97<=a&&a<=122||48<=a&&a<=57||(a===95);};$pkg.IsWordChar=P;K.ptr.prototype.String=function(){var a,b;a=this;b=new B.Builder.ptr(CJ.nil,CK.nil);S(b,a);return b.String();};K.prototype.String=function(){return this.$val.String();};K.ptr.prototype.skipNop=function(a){var a,b,c,d,e,f;b=this;d=(c=b.Inst,((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]));while(true){if(!((d.Op===6)||(d.Op===2))){break;}d=(e=b.Inst,f=d.Out,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));}return d;};K.prototype.skipNop=function(a){return this.$val.skipNop(a);};Q.ptr.prototype.op=function(){var a,b,c;a=this;b=a.Op;c=b;if((c===(8))||(c===(9))||(c===(10))){b=7;}return b;};Q.prototype.op=function(){return this.$val.op();};K.ptr.prototype.Prefix=function(){var a,b,c,d,e,f,g,h,i,j;a="";b=false;c=this;d=c.skipNop(((c.Start>>>0)));if(!((d.op()===7))||!((d.Rune.$length===1))){e="";f=d.Op===4;a=e;b=f;return[a,b];}g=new B.Builder.ptr(CJ.nil,CK.nil);while(true){if(!((d.op()===7)&&(d.Rune.$length===1)&&(((((d.Arg<<16>>>16))&1)>>>0)===0))){break;}g.WriteRune((h=d.Rune,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0])));d=c.skipNop(d.Out);}i=g.String();j=d.Op===4;a=i;b=j;return[a,b];};K.prototype.Prefix=function(){return this.$val.Prefix();};K.ptr.prototype.StartCond=function(){var a,b,c,d,e,f,g;a=this;b=0;c=((a.Start>>>0));e=(d=a.Inst,((c<0||c>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+c]));Loop:while(true){f=e.Op;if(f===(3)){b=(b|(((e.Arg<<24>>>24))))>>>0;}else if(f===(5)){return 255;}else if((f===(2))||(f===(6))){}else{break Loop;}c=e.Out;e=(g=a.Inst,((c<0||c>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+c]));}return b;};K.prototype.StartCond=function(){return this.$val.StartCond();};Q.ptr.prototype.MatchRune=function(a){var a,b;b=this;return!((b.MatchRunePos(a)===-1));};Q.prototype.MatchRune=function(a){return this.$val.MatchRune(a);};Q.ptr.prototype.MatchRunePos=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;b=this;c=b.Rune;d=c.$length;if(d===(0)){return-1;}else if(d===(1)){e=(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]);if(a===e){return 0;}if(!((((((b.Arg<<16>>>16))&1)>>>0)===0))){f=C.SimpleFold(e);while(true){if(!(!((f===e)))){break;}if(a===f){return 0;}f=C.SimpleFold(f);}}return-1;}else if(d===(2)){if(a>=(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])&&a<=(1>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+1])){return 0;}return-1;}else if((d===(4))||(d===(6))||(d===(8))){g=0;while(true){if(!(g<c.$length)){break;}if(a<((g<0||g>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+g])){return-1;}if(a<=(h=g+1>>0,((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]))){return(i=g/2,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero"));}g=g+(2)>>0;}return-1;}j=0;l=(k=c.$length/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"));while(true){if(!(j<l)){break;}n=j+(m=((l-j>>0))/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0;p=(o=$imul(2,n),((o<0||o>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+o]));if(p<=a){if(a<=(q=($imul(2,n))+1>>0,((q<0||q>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+q]))){return n;}j=n+1>>0;}else{l=n;}}return-1;};Q.prototype.MatchRunePos=function(a){return this.$val.MatchRunePos(a);};Q.ptr.prototype.MatchEmptyWidth=function(a,b){var a,b,c,d;c=this;d=((c.Arg<<24>>>24));if(d===(1)){return(a===10)||(a===-1);}else if(d===(2)){return(b===10)||(b===-1);}else if(d===(4)){return a===-1;}else if(d===(8)){return b===-1;}else if(d===(16)){return!(P(a)===P(b));}else if(d===(32)){return P(a)===P(b);}$panic(new $String("unknown empty width arg"));};Q.prototype.MatchEmptyWidth=function(a,b){return this.$val.MatchEmptyWidth(a,b);};Q.ptr.prototype.String=function(){var a,b;a=this;b=new B.Builder.ptr(CJ.nil,CK.nil);U(b,a);return b.String();};Q.prototype.String=function(){return this.$val.String();};R=function(a,b){var a,b,c,d,e;c=b;d=0;while(true){if(!(d<c.$length)){break;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);a.WriteString(e);d++;}};S=function(a,b){var a,b,c,d,e,f,g,h;c=b.Inst;d=0;while(true){if(!(d<c.$length)){break;}e=d;g=(f=b.Inst,((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]));h=A.Itoa(e);if(h.length<3){a.WriteString($substring(" ",h.length));}if(e===b.Start){h=h+("*");}R(a,new CB([h,"\t"]));U(a,g);R(a,new CB(["\n"]));d++;}};T=function(a){var a;return A.FormatUint((new $Uint64(0,a)),10);};U=function(a,b){var a,b,c;c=b.Op;if(c===(0)){R(a,new CB(["alt -> ",T(b.Out),", ",T(b.Arg)]));}else if(c===(1)){R(a,new CB(["altmatch -> ",T(b.Out),", ",T(b.Arg)]));}else if(c===(2)){R(a,new CB(["cap ",T(b.Arg)," -> ",T(b.Out)]));}else if(c===(3)){R(a,new CB(["empty ",T(b.Arg)," -> ",T(b.Out)]));}else if(c===(4)){R(a,new CB(["match"]));}else if(c===(5)){R(a,new CB(["fail"]));}else if(c===(6)){R(a,new CB(["nop -> ",T(b.Out)]));}else if(c===(7)){if(b.Rune===CC.nil){R(a,new CB(["rune <nil>"]));}R(a,new CB(["rune ",A.QuoteToASCII(($runesToString(b.Rune)))]));if(!((((((b.Arg<<16>>>16))&1)>>>0)===0))){R(a,new CB(["/i"]));}R(a,new CB([" -> ",T(b.Out)]));}else if(c===(8)){R(a,new CB(["rune1 ",A.QuoteToASCII(($runesToString(b.Rune)))," -> ",T(b.Out)]));}else if(c===(9)){R(a,new CB(["any -> ",T(b.Out)]));}else if(c===(10)){R(a,new CB(["anynotnl -> ",T(b.Out)]));}};AO.ptr.prototype.Error=function(){var a;a=this;return"error parsing regexp: "+new AP(a.Code).String()+": `"+a.Expr+"`";};AO.prototype.Error=function(){return this.$val.Error();};AP.prototype.String=function(){var a;a=this.$val;return(a);};$ptrType(AP).prototype.String=function(){return new AP(this.$get()).String();};AR.ptr.prototype.newRegexp=function(a){var a,b,c;b=this;c=b.free;if(!(c===CF.nil)){b.free=c.Sub0[0];G.copy(c,new G.ptr(0,0,CG.nil,CH.zero(),CC.nil,CI.zero(),0,0,0,""));}else{c=new G.ptr(0,0,CG.nil,CH.zero(),CC.nil,CI.zero(),0,0,0,"");}c.Op=a;return c;};AR.prototype.newRegexp=function(a){return this.$val.newRegexp(a);};AR.ptr.prototype.reuse=function(a){var a,b;b=this;a.Sub0[0]=b.free;b.free=a;};AR.prototype.reuse=function(a){return this.$val.reuse(a);};AR.ptr.prototype.push=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;b=this;if((a.Op===4)&&(a.Rune.$length===2)&&((c=a.Rune,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]))===(d=a.Rune,(1>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+1])))){if(b.maybeConcat((s=a.Rune,(0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0])),(b.flags&~1)<<16>>>16)){return CF.nil;}a.Op=3;a.Rune=$subslice(a.Rune,0,1);a.Flags=(b.flags&~1)<<16>>>16;}else if((a.Op===4)&&(a.Rune.$length===4)&&((e=a.Rune,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]))===(f=a.Rune,(1>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+1])))&&((g=a.Rune,(2>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+2]))===(h=a.Rune,(3>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+3])))&&(C.SimpleFold((i=a.Rune,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0])))===(j=a.Rune,(2>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+2])))&&(C.SimpleFold((k=a.Rune,(2>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+2])))===(l=a.Rune,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])))||(a.Op===4)&&(a.Rune.$length===2)&&(((m=a.Rune,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]))+1>>0)===(n=a.Rune,(1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1])))&&(C.SimpleFold((o=a.Rune,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])))===(p=a.Rune,(1>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+1])))&&(C.SimpleFold((q=a.Rune,(1>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+1])))===(r=a.Rune,(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0])))){if(b.maybeConcat((t=a.Rune,(0>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+0])),(b.flags|1)>>>0)){return CF.nil;}a.Op=3;a.Rune=$subslice(a.Rune,0,1);a.Flags=(b.flags|1)>>>0;}else{b.maybeConcat(-1,0);}b.stack=$append(b.stack,a);return a;};AR.prototype.push=function(a){return this.$val.push(a);};AR.ptr.prototype.maybeConcat=function(a,b){var a,b,c,d,e,f,g,h,i,j,k;c=this;d=c.stack.$length;if(d<2){return false;}g=(e=c.stack,f=d-1>>0,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));j=(h=c.stack,i=d-2>>0,((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]));if(!((g.Op===3))||!((j.Op===3))||!((((g.Flags&1)>>>0)===((j.Flags&1)>>>0)))){return false;}j.Rune=$appendSlice(j.Rune,g.Rune);if(a>=0){g.Rune=$subslice(new CC(g.Rune0),0,1);(k=g.Rune,(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0]=a));g.Flags=b;return true;}c.stack=$subslice(c.stack,0,(d-1>>0));c.reuse(g);return false;};AR.prototype.maybeConcat=function(a,b){return this.$val.maybeConcat(a,b);};AR.ptr.prototype.literal=function(a){var a,b,c;b=this;c=b.newRegexp(3);c.Flags=b.flags;if(!((((b.flags&1)>>>0)===0))){a=AS(a);}c.Rune0[0]=a;c.Rune=$subslice(new CC(c.Rune0),0,1);b.push(c);};AR.prototype.literal=function(a){return this.$val.literal(a);};AS=function(a){var a,b,c;if(a<65||a>125251){return a;}b=a;c=a;a=C.SimpleFold(a);while(true){if(!(!((a===c)))){break;}if(b>a){b=a;}a=C.SimpleFold(a);}return b;};AR.ptr.prototype.op=function(a){var a,b,c;b=this;c=b.newRegexp(a);c.Flags=b.flags;return b.push(c);};AR.prototype.op=function(a){return this.$val.op(a);};AR.ptr.prototype.repeat=function(a,b,c,d,e,f){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;g=this;h=g.flags;if(!((((g.flags&64)>>>0)===0))){if(e.length>0&&(e.charCodeAt(0)===63)){e=$substring(e,1);h=(h^(32))<<16>>>16;}if(!(f==="")){return["",new AO.ptr("invalid nested repetition operator",$substring(f,0,(f.length-e.length>>0)))];}}i=g.stack.$length;if(i===0){return["",new AO.ptr("missing argument to repetition operator",$substring(d,0,(d.length-e.length>>0)))];}l=(j=g.stack,k=i-1>>0,((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]));if(l.Op>=128){return["",new AO.ptr("missing argument to repetition operator",$substring(d,0,(d.length-e.length>>0)))];}m=g.newRegexp(a);m.Min=b;m.Max=c;m.Flags=h;m.Sub=$subslice(new CG(m.Sub0),0,1);(n=m.Sub,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0]=l));(o=g.stack,p=i-1>>0,((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]=m));if((a===17)&&(b>=2||c>=2)&&!AT(m,1000)){return["",new AO.ptr("invalid repeat count",$substring(d,0,(d.length-e.length>>0)))];}return[e,$ifaceNil];};AR.prototype.repeat=function(a,b,c,d,e,f){return this.$val.repeat(a,b,c,d,e,f);};AT=function(a,b){var a,b,c,d,e,f,g;if(a.Op===17){c=a.Max;if(c===0){return true;}if(c<0){c=a.Min;}if(c>b){return false;}if(c>0){b=(d=b/(c),(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero"));}}e=a.Sub;f=0;while(true){if(!(f<e.$length)){break;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if(!AT(g,b)){return false;}f++;}return true;};AR.ptr.prototype.concat=function(){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;a.maybeConcat(-1,0);b=a.stack.$length;while(true){if(!(b>0&&(c=a.stack,d=b-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).Op<128)){break;}b=b-(1)>>0;}e=$subslice(a.stack,b);a.stack=$subslice(a.stack,0,b);if(e.$length===0){$s=-1;return a.push(a.newRegexp(2));}f=a.collapse(e,18);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=a.push(f);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=3;case 3:return h;}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.concat};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.concat=function(){return this.$val.concat();};AR.ptr.prototype.alternate=function(){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.stack.$length;while(true){if(!(b>0&&(c=a.stack,d=b-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).Op<128)){break;}b=b-(1)>>0;}e=$subslice(a.stack,b);a.stack=$subslice(a.stack,0,b);if(e.$length>0){$s=1;continue;}$s=2;continue;case 1:$r=AU((f=e.$length-1>>0,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f])));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(e.$length===0){$s=-1;return a.push(a.newRegexp(1));}g=a.collapse(e,19);$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=a.push(g);$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=6;case 6:return i;}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.alternate};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.alternate=function(){return this.$val.alternate();};AU=function(a){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.Op;if(b===(4)){$s=2;continue;}$s=3;continue;case 2:c=BE((a.$ptr_Rune||(a.$ptr_Rune=new CL(function(){return this.$target.Rune;},function($v){this.$target.Rune=$v;},a))));$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}a.Rune=c;if((a.Rune.$length===2)&&((d=a.Rune,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]))===0)&&((e=a.Rune,(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]))===1114111)){a.Rune=CC.nil;a.Op=6;$s=-1;return;}if((a.Rune.$length===4)&&((f=a.Rune,(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]))===0)&&((g=a.Rune,(1>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+1]))===9)&&((h=a.Rune,(2>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+2]))===11)&&((i=a.Rune,(3>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+3]))===1114111)){a.Rune=CC.nil;a.Op=5;$s=-1;return;}if((a.Rune.$capacity-a.Rune.$length>>0)>100){a.Rune=$appendSlice($subslice(new CC(a.Rune0),0,0),a.Rune);}case 3:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:AU};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AR.ptr.prototype.collapse=function(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(a.$length===1){$s=-1;return(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]);}d=c.newRegexp(b);d.Sub=$subslice(new CG(d.Sub0),0,0);e=a;f=0;while(true){if(!(f<e.$length)){break;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if(g.Op===b){d.Sub=$appendSlice(d.Sub,g.Sub);c.reuse(g);}else{d.Sub=$append(d.Sub,g);}f++;}if(b===19){$s=1;continue;}$s=2;continue;case 1:h=c.factor(d.Sub);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}d.Sub=h;if(d.Sub.$length===1){i=d;d=(j=d.Sub,(0>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+0]));c.reuse(i);}case 2:$s=-1;return d;}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.collapse};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.collapse=function(a,b){return this.$val.collapse(a,b);};AR.ptr.prototype.factor=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a.$length<2){$s=-1;return a;}c=CC.nil;d=0;e=0;f=$subslice(a,0,0);g=0;case 1:if(!(g<=a.$length)){$s=2;continue;}h=CC.nil;i=0;if(g<a.$length){j=b.leadingString(((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]));h=j[0];i=j[1];if(i===d){k=0;while(true){if(!(k<c.$length&&k<h.$length&&(((k<0||k>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+k])===((k<0||k>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+k])))){break;}k=k+(1)>>0;}if(k>0){c=$subslice(c,0,k);g=g+(1)>>0;$s=1;continue;}}}if(g===e){$s=3;continue;}if(g===(e+1>>0)){$s=4;continue;}$s=5;continue;case 3:$s=6;continue;case 4:f=$append(f,((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]));$s=6;continue;case 5:l=b.newRegexp(3);l.Flags=d;l.Rune=$appendSlice($subslice(l.Rune,0,0),c);m=e;while(true){if(!(m<g)){break;}((m<0||m>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+m]=b.removeLeadingString(((m<0||m>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+m]),c.$length));m=m+(1)>>0;}n=b.collapse($subslice(a,e,g),19);$s=7;case 7:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;p=b.newRegexp(18);p.Sub=$append($subslice(p.Sub,0,0),l,o);f=$append(f,p);case 6:e=g;c=h;d=i;g=g+(1)>>0;$s=1;continue;case 2:a=f;e=0;f=$subslice(a,0,0);q=CF.nil;r=0;case 8:if(!(r<=a.$length)){$s=9;continue;}s=CF.nil;if(r<a.$length){s=b.leadingRegexp(((r<0||r>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+r]));if(!(q===CF.nil)&&q.Equal(s)&&(AY(q)||((q.Op===17)&&(q.Min===q.Max)&&AY((t=q.Sub,(0>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+0])))))){r=r+(1)>>0;$s=8;continue;}}if(r===e){$s=10;continue;}if(r===(e+1>>0)){$s=11;continue;}$s=12;continue;case 10:$s=13;continue;case 11:f=$append(f,((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]));$s=13;continue;case 12:u=q;v=e;while(true){if(!(v<r)){break;}w=!((v===e));((v<0||v>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+v]=b.removeLeadingRegexp(((v<0||v>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+v]),w));v=v+(1)>>0;}x=b.collapse($subslice(a,e,r),19);$s=14;case 14:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;z=b.newRegexp(18);z.Sub=$append($subslice(z.Sub,0,0),u,y);f=$append(f,z);case 13:e=r;q=s;r=r+(1)>>0;$s=8;continue;case 9:a=f;e=0;f=$subslice(a,0,0);aa=0;case 15:if(!(aa<=a.$length)){$s=16;continue;}if(aa<a.$length&&AY(((aa<0||aa>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+aa]))){aa=aa+(1)>>0;$s=15;continue;}if(aa===e){$s=17;continue;}if(aa===(e+1>>0)){$s=18;continue;}$s=19;continue;case 17:$s=20;continue;case 18:f=$append(f,((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]));$s=20;continue;case 19:ab=e;ac=e+1>>0;while(true){if(!(ac<aa)){break;}if(((ab<0||ab>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ab]).Op<((ac<0||ac>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ac]).Op||(((ab<0||ab>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ab]).Op===((ac<0||ac>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ac]).Op)&&((ab<0||ab>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ab]).Rune.$length<((ac<0||ac>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ac]).Rune.$length){ab=ac;}ac=ac+(1)>>0;}ad=((ab<0||ab>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ab]);ae=((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]);((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]=ad);((ab<0||ab>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ab]=ae);af=e+1>>0;while(true){if(!(af<aa)){break;}BA(((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]),((af<0||af>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+af]));b.reuse(((af<0||af>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+af]));af=af+(1)>>0;}$r=AU(((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]));$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=$append(f,((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]));case 20:if(aa<a.$length){f=$append(f,((aa<0||aa>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+aa]));}e=aa+1>>0;aa=aa+(1)>>0;$s=15;continue;case 16:a=f;e=0;f=$subslice(a,0,0);ag=a;ah=0;while(true){if(!(ah<ag.$length)){break;}ai=ah;if((ai+1>>0)<a.$length&&(((ai<0||ai>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ai]).Op===2)&&((aj=ai+1>>0,((aj<0||aj>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+aj])).Op===2)){ah++;continue;}f=$append(f,((ai<0||ai>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ai]));ah++;}a=f;$s=-1;return a;}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.factor};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.factor=function(a){return this.$val.factor(a);};AR.ptr.prototype.leadingString=function(a){var a,b,c;b=this;if((a.Op===18)&&a.Sub.$length>0){a=(c=a.Sub,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]));}if(!((a.Op===3))){return[CC.nil,0];}return[a.Rune,(a.Flags&1)>>>0];};AR.prototype.leadingString=function(a){return this.$val.leadingString(a);};AR.ptr.prototype.removeLeadingString=function(a,b){var a,b,c,d,e,f,g,h,i;c=this;if((a.Op===18)&&a.Sub.$length>0){e=(d=a.Sub,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]));e=c.removeLeadingString(e,b);(f=a.Sub,(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]=e));if(e.Op===2){c.reuse(e);g=a.Sub.$length;if((g===(0))||(g===(1))){a.Op=2;a.Sub=CG.nil;}else if(g===(2)){h=a;a=(i=a.Sub,(1>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+1]));c.reuse(h);}else{$copySlice(a.Sub,$subslice(a.Sub,1));a.Sub=$subslice(a.Sub,0,(a.Sub.$length-1>>0));}}return a;}if(a.Op===3){a.Rune=$subslice(a.Rune,0,$copySlice(a.Rune,$subslice(a.Rune,b)));if(a.Rune.$length===0){a.Op=2;}}return a;};AR.prototype.removeLeadingString=function(a,b){return this.$val.removeLeadingString(a,b);};AR.ptr.prototype.leadingRegexp=function(a){var a,b,c,d;b=this;if(a.Op===2){return CF.nil;}if((a.Op===18)&&a.Sub.$length>0){d=(c=a.Sub,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]));if(d.Op===2){return CF.nil;}return d;}return a;};AR.prototype.leadingRegexp=function(a){return this.$val.leadingRegexp(a);};AR.ptr.prototype.removeLeadingRegexp=function(a,b){var a,b,c,d,e,f,g;c=this;if((a.Op===18)&&a.Sub.$length>0){if(b){c.reuse((d=a.Sub,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])));}a.Sub=$subslice(a.Sub,0,$copySlice(a.Sub,$subslice(a.Sub,1)));e=a.Sub.$length;if(e===(0)){a.Op=2;a.Sub=CG.nil;}else if(e===(1)){f=a;a=(g=a.Sub,(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]));c.reuse(f);}return a;}if(b){c.reuse(a);}return c.newRegexp(2);};AR.prototype.removeLeadingRegexp=function(a,b){return this.$val.removeLeadingRegexp(a,b);};AV=function(a,b){var a,b,c,d,e,f,g;c=new G.ptr(3,0,CG.nil,CH.zero(),CC.nil,CI.zero(),0,0,0,"");c.Flags=b;c.Rune=$subslice(new CC(c.Rune0),0,0);d=a;e=0;while(true){if(!(e<d.length)){break;}f=$decodeRune(d,e);g=f[0];if(c.Rune.$length>=c.Rune.$capacity){c.Rune=(new CC($stringToRunes(a)));break;}c.Rune=$append(c.Rune,g);e+=f[1];}return c;};AW=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!((((b&2)>>>0)===0))){c=BP(a);if(!($interfaceIsEqual(c,$ifaceNil))){$s=-1;return[CF.nil,c];}$s=-1;return[AV(a,b),$ifaceNil];}d=new AR.ptr(0,CG.nil,CF.nil,0,"",CC.nil);e=$ifaceNil;f=0;g=0;h="";d.flags=b;d.wholeRegexp=a;i=a;case 1:if(!(!(i===""))){$s=2;continue;}j="";k=i.charCodeAt(0);if(k===(40)){$s=4;continue;}if(k===(124)){$s=5;continue;}if(k===(41)){$s=6;continue;}if(k===(94)){$s=7;continue;}if(k===(36)){$s=8;continue;}if(k===(46)){$s=9;continue;}if(k===(91)){$s=10;continue;}if((k===(42))||(k===(43))||(k===(63))){$s=11;continue;}if(k===(123)){$s=12;continue;}if(k===(92)){$s=13;continue;}$s=14;continue;case 4:if(!((((d.flags&64)>>>0)===0))&&i.length>=2&&(i.charCodeAt(1)===63)){l=d.parsePerlFlags(i);i=l[0];e=l[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CF.nil,e];}$s=3;continue;}d.numCap=d.numCap+(1)>>0;d.op(128).Cap=d.numCap;i=$substring(i,1);$s=15;continue;case 5:m=d.parseVerticalBar();$s=16;case 16:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}e=m;if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CF.nil,e];}i=$substring(i,1);$s=15;continue;case 6:n=d.parseRightParen();$s=17;case 17:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}e=n;if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CF.nil,e];}i=$substring(i,1);$s=15;continue;case 7:if(!((((d.flags&16)>>>0)===0))){d.op(9);}else{d.op(7);}i=$substring(i,1);$s=15;continue;case 8:if(!((((d.flags&16)>>>0)===0))){o=d.op(10);o.Flags=(o.Flags|(256))>>>0;}else{d.op(8);}i=$substring(i,1);$s=15;continue;case 9:if(!((((d.flags&8)>>>0)===0))){d.op(6);}else{d.op(5);}i=$substring(i,1);$s=15;continue;case 10:q=d.parseClass(i);$s=18;case 18:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;i=p[0];e=p[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CF.nil,e];}$s=15;continue;case 11:r=i;s=i.charCodeAt(0);if(s===(42)){g=14;}else if(s===(43)){g=15;}else if(s===(63)){g=16;}t=$substring(i,1);u=d.repeat(g,0,0,r,t,h);t=u[0];e=u[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CF.nil,e];}j=r;i=t;$s=15;continue;case 12:g=17;v=i;w=d.parseRepeat(i);x=w[0];y=w[1];z=w[2];aa=w[3];if(!aa){d.literal(123);i=$substring(i,1);$s=3;continue;}if(x<0||x>1000||y>1000||y>=0&&x>y){$s=-1;return[CF.nil,new AO.ptr("invalid repeat count",$substring(v,0,(v.length-z.length>>0)))];}ab=d.repeat(g,x,y,v,z,h);z=ab[0];e=ab[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CF.nil,e];}j=v;i=z;$s=15;continue;case 13:if(!((((d.flags&64)>>>0)===0))&&i.length>=2){ac=i.charCodeAt(1);if(ac===(65)){d.op(9);i=$substring(i,2);$s=3;continue s;}else if(ac===(98)){d.op(11);i=$substring(i,2);$s=3;continue s;}else if(ac===(66)){d.op(12);i=$substring(i,2);$s=3;continue s;}else if(ac===(67)){$s=-1;return[CF.nil,new AO.ptr("invalid escape sequence",$substring(i,0,2))];}else if(ac===(81)){ad="";ae=B.Index(i,"\\E");if(ae<0){ad=$substring(i,2);i="";}else{ad=$substring(i,2,ae);i=$substring(i,(ae+2>>0));}while(true){if(!(!(ad===""))){break;}af=BQ(ad);ag=af[0];ah=af[1];ai=af[2];if(!($interfaceIsEqual(ai,$ifaceNil))){$s=-1;return[CF.nil,ai];}d.literal(ag);ad=ah;}$s=3;continue s;}else if(ac===(122)){d.op(10);i=$substring(i,2);$s=3;continue s;}}aj=d.newRegexp(4);aj.Flags=d.flags;if(i.length>=2&&((i.charCodeAt(1)===112)||(i.charCodeAt(1)===80))){$s=19;continue;}$s=20;continue;case 19:al=d.parseUnicodeClass(i,$subslice(new CC(aj.Rune0),0,0));$s=21;case 21:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ak=al;am=ak[0];an=ak[1];ao=ak[2];if(!($interfaceIsEqual(ao,$ifaceNil))){$s=-1;return[CF.nil,ao];}if(!(am===CC.nil)){aj.Rune=am;i=an;d.push(aj);$s=3;continue s;}case 20:aq=d.parsePerlClassEscape(i,$subslice(new CC(aj.Rune0),0,0));$s=22;case 22:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;ar=ap[0];as=ap[1];if(!(ar===CC.nil)){aj.Rune=ar;i=as;d.push(aj);$s=3;continue s;}d.reuse(aj);at=d.parseEscape(i);f=at[0];i=at[1];e=at[2];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CF.nil,e];}d.literal(f);$s=15;continue;case 14:au=BQ(i);f=au[0];i=au[1];e=au[2];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CF.nil,e];}d.literal(f);case 15:case 3:h=j;$s=1;continue;case 2:av=d.concat();$s=23;case 23:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}av;aw=d.swapVerticalBar();$s=26;case 26:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}if(aw){$s=24;continue;}$s=25;continue;case 24:d.stack=$subslice(d.stack,0,(d.stack.$length-1>>0));case 25:ax=d.alternate();$s=27;case 27:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ax;ay=d.stack.$length;if(!((ay===1))){$s=-1;return[CF.nil,new AO.ptr("missing closing )",a)];}$s=-1;return[(az=d.stack,(0>=az.$length?($throwRuntimeError("index out of range"),undefined):az.$array[az.$offset+0])),$ifaceNil];}return;}if($f===undefined){$f={$blk:AW};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Parse=AW;AR.ptr.prototype.parseRepeat=function(a){var a,b,c,d,e,f,g,h,i;b=0;c=0;d="";e=false;f=this;if(a===""||!((a.charCodeAt(0)===123))){return[b,c,d,e];}a=$substring(a,1);g=false;h=f.parseInt(a);b=h[0];a=h[1];g=h[2];if(!g){return[b,c,d,e];}if(a===""){return[b,c,d,e];}if(!((a.charCodeAt(0)===44))){c=b;}else{a=$substring(a,1);if(a===""){return[b,c,d,e];}if(a.charCodeAt(0)===125){c=-1;}else{i=f.parseInt(a);c=i[0];a=i[1];g=i[2];if(!g){return[b,c,d,e];}else if(c<0){b=-1;}}}if(a===""||!((a.charCodeAt(0)===125))){return[b,c,d,e];}d=$substring(a,1);e=true;return[b,c,d,e];};AR.prototype.parseRepeat=function(a){return this.$val.parseRepeat(a);};AR.ptr.prototype.parsePerlFlags=function(a){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b="";c=$ifaceNil;d=this;e=a;if(e.length>4&&(e.charCodeAt(2)===80)&&(e.charCodeAt(3)===60)){f=B.IndexRune(e,62);if(f<0){c=BP(e);if(!($interfaceIsEqual(c,$ifaceNil))){g="";h=c;b=g;c=h;return[b,c];}i="";j=new AO.ptr("invalid named capture",a);b=i;c=j;return[b,c];}k=$substring(e,0,(f+1>>0));l=$substring(e,4,f);c=BP(l);if(!($interfaceIsEqual(c,$ifaceNil))){m="";n=c;b=m;c=n;return[b,c];}if(!AX(l)){o="";p=new AO.ptr("invalid named capture",k);b=o;c=p;return[b,c];}d.numCap=d.numCap+(1)>>0;q=d.op(128);q.Cap=d.numCap;q.Name=l;r=$substring(e,(f+1>>0));s=$ifaceNil;b=r;c=s;return[b,c];}t=0;e=$substring(e,2);u=d.flags;v=1;w=false;Loop:while(true){if(!(!(e===""))){break;}x=BQ(e);t=x[0];e=x[1];c=x[2];if(!($interfaceIsEqual(c,$ifaceNil))){y="";z=c;b=y;c=z;return[b,c];}aa=t;if(aa===(105)){u=(u|(1))>>>0;w=true;}else if(aa===(109)){u=(u&~(16))<<16>>>16;w=true;}else if(aa===(115)){u=(u|(8))>>>0;w=true;}else if(aa===(85)){u=(u|(32))>>>0;w=true;}else if(aa===(45)){if(v<0){break Loop;}v=-1;u=~u<<16>>>16;w=false;}else if((aa===(58))||(aa===(41))){if(v<0){if(!w){break Loop;}u=~u<<16>>>16;}if(t===58){d.op(128);}d.flags=u;ab=e;ac=$ifaceNil;b=ab;c=ac;return[b,c];}else{break Loop;}}ad="";ae=new AO.ptr("invalid or unsupported Perl syntax",$substring(a,0,(a.length-e.length>>0)));b=ad;c=ae;return[b,c];};AR.prototype.parsePerlFlags=function(a){return this.$val.parsePerlFlags(a);};AX=function(a){var a,b,c,d,e;if(a===""){return false;}b=a;c=0;while(true){if(!(c<b.length)){break;}d=$decodeRune(b,c);e=d[0];if(!((e===95))&&!BR(e)){return false;}c+=d[1];}return true;};AR.ptr.prototype.parseInt=function(a){var a,b,c,d,e,f,g;b=0;c="";d=false;e=this;if(a===""||a.charCodeAt(0)<48||57<a.charCodeAt(0)){return[b,c,d];}if(a.length>=2&&(a.charCodeAt(0)===48)&&48<=a.charCodeAt(1)&&a.charCodeAt(1)<=57){return[b,c,d];}f=a;while(true){if(!(!(a==="")&&48<=a.charCodeAt(0)&&a.charCodeAt(0)<=57)){break;}a=$substring(a,1);}c=a;d=true;f=$substring(f,0,(f.length-a.length>>0));g=0;while(true){if(!(g<f.length)){break;}if(b>=100000000){b=-1;break;}b=(($imul(b,10))+((f.charCodeAt(g)>>0))>>0)-48>>0;g=g+(1)>>0;}return[b,c,d];};AR.prototype.parseInt=function(a){return this.$val.parseInt(a);};AY=function(a){var a;return(a.Op===3)&&(a.Rune.$length===1)||(a.Op===4)||(a.Op===5)||(a.Op===6);};AZ=function(a,b){var a,b,c,d,e,f,g,h;c=a.Op;if(c===(3)){return(a.Rune.$length===1)&&((d=a.Rune,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]))===b);}else if(c===(4)){e=0;while(true){if(!(e<a.Rune.$length)){break;}if((f=a.Rune,((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]))<=b&&b<=(g=a.Rune,h=e+1>>0,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]))){return true;}e=e+(2)>>0;}return false;}else if(c===(5)){return!((b===10));}else if(c===(6)){return true;}return false;};AR.ptr.prototype.parseVerticalBar=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.concat();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}b;c=a.swapVerticalBar();$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}if(!c){$s=2;continue;}$s=3;continue;case 2:a.op(129);case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.parseVerticalBar};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.parseVerticalBar=function(){return this.$val.parseVerticalBar();};BA=function(a,b){var a,b,c,d,e,f,g,h;switch(0){default:c=a.Op;if(c===(6)){}else if(c===(5)){if(AZ(b,10)){a.Op=6;}}else if(c===(4)){if(b.Op===3){a.Rune=BF(a.Rune,(d=b.Rune,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])),b.Flags);}else{a.Rune=BI(a.Rune,b.Rune);}}else if(c===(3)){if(((e=b.Rune,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]))===(f=a.Rune,(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0])))&&(b.Flags===a.Flags)){break;}a.Op=4;a.Rune=BF($subslice(a.Rune,0,0),(g=a.Rune,(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0])),a.Flags);a.Rune=BF(a.Rune,(h=b.Rune,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0])),b.Flags);}}};AR.ptr.prototype.swapVerticalBar=function(){var a,aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.stack.$length;if(b>=3&&((c=a.stack,d=b-2>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).Op===129)&&AY((e=a.stack,f=b-1>>0,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f])))&&AY((g=a.stack,h=b-3>>0,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h])))){k=(i=a.stack,j=b-1>>0,((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]));n=(l=a.stack,m=b-3>>0,((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]));if(k.Op>n.Op){o=n;p=k;k=o;n=p;(q=a.stack,r=b-3>>0,((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]=n));}BA(n,k);a.reuse(k);a.stack=$subslice(a.stack,0,(b-1>>0));$s=-1;return true;}if(b>=2){$s=1;continue;}$s=2;continue;case 1:u=(s=a.stack,t=b-1>>0,((t<0||t>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+t]));x=(v=a.stack,w=b-2>>0,((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w]));if(x.Op===129){$s=3;continue;}$s=4;continue;case 3:if(b>=3){$s=5;continue;}$s=6;continue;case 5:$r=AU((y=a.stack,z=b-3>>0,((z<0||z>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+z])));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:(aa=a.stack,ab=b-2>>0,((ab<0||ab>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+ab]=u));(ac=a.stack,ad=b-1>>0,((ad<0||ad>=ac.$length)?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+ad]=x));$s=-1;return true;case 4:case 2:$s=-1;return false;}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.swapVerticalBar};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.swapVerticalBar=function(){return this.$val.swapVerticalBar();};AR.ptr.prototype.parseRightParen=function(){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.concat();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}b;c=a.swapVerticalBar();$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}if(c){$s=2;continue;}$s=3;continue;case 2:a.stack=$subslice(a.stack,0,(a.stack.$length-1>>0));case 3:d=a.alternate();$s=5;case 5:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d;e=a.stack.$length;if(e<2){$s=-1;return new AO.ptr("unexpected )",a.wholeRegexp);}h=(f=a.stack,g=e-1>>0,((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]));k=(i=a.stack,j=e-2>>0,((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]));a.stack=$subslice(a.stack,0,(e-2>>0));if(!((k.Op===128))){$s=-1;return new AO.ptr("unexpected )",a.wholeRegexp);}a.flags=k.Flags;if(k.Cap===0){a.push(h);}else{k.Op=13;k.Sub=$subslice(new CG(k.Sub0),0,1);(l=k.Sub,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0]=h));a.push(k);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.parseRightParen};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.parseRightParen=function(){return this.$val.parseRightParen();};AR.ptr.prototype.parseEscape=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c="";d=$ifaceNil;e=this;f=$substring(a,1);if(f===""){g=0;h="";i=new AO.ptr("trailing backslash at end of expression","");b=g;c=h;d=i;return[b,c,d];}j=BQ(f);k=j[0];f=j[1];d=j[2];if(!($interfaceIsEqual(d,$ifaceNil))){l=0;m="";n=d;b=l;c=m;d=n;return[b,c,d];}Switch:switch(0){default:o=k;if((o===(49))||(o===(50))||(o===(51))||(o===(52))||(o===(53))||(o===(54))||(o===(55))){if(f===""||f.charCodeAt(0)<48||f.charCodeAt(0)>55){break;}b=k-48>>0;p=1;while(true){if(!(p<3)){break;}if(f===""||f.charCodeAt(0)<48||f.charCodeAt(0)>55){break;}b=(($imul(b,8))+((f.charCodeAt(0)>>0))>>0)-48>>0;f=$substring(f,1);p=p+(1)>>0;}q=b;r=f;s=$ifaceNil;b=q;c=r;d=s;return[b,c,d];}else if(o===(48)){b=k-48>>0;p=1;while(true){if(!(p<3)){break;}if(f===""||f.charCodeAt(0)<48||f.charCodeAt(0)>55){break;}b=(($imul(b,8))+((f.charCodeAt(0)>>0))>>0)-48>>0;f=$substring(f,1);p=p+(1)>>0;}t=b;u=f;v=$ifaceNil;b=t;c=u;d=v;return[b,c,d];}else if(o===(120)){if(f===""){break;}w=BQ(f);k=w[0];f=w[1];d=w[2];if(!($interfaceIsEqual(d,$ifaceNil))){x=0;y="";z=d;b=x;c=y;d=z;return[b,c,d];}if(k===123){aa=0;b=0;while(true){if(f===""){break Switch;}ab=BQ(f);k=ab[0];f=ab[1];d=ab[2];if(!($interfaceIsEqual(d,$ifaceNil))){ac=0;ad="";ae=d;b=ac;c=ad;d=ae;return[b,c,d];}if(k===125){break;}af=BS(k);if(af<0){break Switch;}b=($imul(b,16))+af>>0;if(b>1114111){break Switch;}aa=aa+(1)>>0;}if(aa===0){break Switch;}ag=b;ah=f;ai=$ifaceNil;b=ag;c=ah;d=ai;return[b,c,d];}aj=BS(k);ak=BQ(f);k=ak[0];f=ak[1];d=ak[2];if(!($interfaceIsEqual(d,$ifaceNil))){al=0;am="";an=d;b=al;c=am;d=an;return[b,c,d];}ao=BS(k);if(aj<0||ao<0){break;}ap=($imul(aj,16))+ao>>0;aq=f;ar=$ifaceNil;b=ap;c=aq;d=ar;return[b,c,d];}else if(o===(97)){as=7;at=f;au=d;b=as;c=at;d=au;return[b,c,d];}else if(o===(102)){av=12;aw=f;ax=d;b=av;c=aw;d=ax;return[b,c,d];}else if(o===(110)){ay=10;az=f;ba=d;b=ay;c=az;d=ba;return[b,c,d];}else if(o===(114)){bb=13;bc=f;bd=d;b=bb;c=bc;d=bd;return[b,c,d];}else if(o===(116)){be=9;bf=f;bg=d;b=be;c=bf;d=bg;return[b,c,d];}else if(o===(118)){bh=11;bi=f;bj=d;b=bh;c=bi;d=bj;return[b,c,d];}else if(k<128&&!BR(k)){bk=k;bl=f;bm=$ifaceNil;b=bk;c=bl;d=bm;return[b,c,d];}}bn=0;bo="";bp=new AO.ptr("invalid escape sequence",$substring(a,0,(a.length-f.length>>0)));b=bn;c=bo;d=bp;return[b,c,d];};AR.prototype.parseEscape=function(a){return this.$val.parseEscape(a);};AR.ptr.prototype.parseClassChar=function(a,b){var a,b,c,d,e,f,g,h,i,j,k;c=0;d="";e=$ifaceNil;f=this;if(a===""){g=0;h="";i=new AO.ptr("missing closing ]",b);c=g;d=h;e=i;return[c,d,e];}if(a.charCodeAt(0)===92){j=f.parseEscape(a);c=j[0];d=j[1];e=j[2];return[c,d,e];}k=BQ(a);c=k[0];d=k[1];e=k[2];return[c,d,e];};AR.prototype.parseClassChar=function(a,b){return this.$val.parseClassChar(a,b);};AR.ptr.prototype.parsePerlClassEscape=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=CC.nil;d="";e=this;if((((e.flags&64)>>>0)===0)||a.length<2||!((a.charCodeAt(0)===92))){$s=-1;return[c,d];}g=$clone((f=Y[$String.keyFor($substring(a,0,2))],f!==undefined?f.v:new BB.ptr(0,CC.nil)),BB);if(g.sign===0){$s=-1;return[c,d];}i=e.appendGroup(b,$clone(g,BB));$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=$substring(a,2);c=h;d=j;k=[c,d];$s=2;case 2:return k;}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.parsePerlClassEscape};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.parsePerlClassEscape=function(a,b){return this.$val.parsePerlClassEscape(a,b);};AR.ptr.prototype.parseNamedClass=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=CC.nil;d="";e=$ifaceNil;f=this;if(a.length<2||!((a.charCodeAt(0)===91))||!((a.charCodeAt(1)===58))){$s=-1;return[c,d,e];}g=B.Index($substring(a,2),":]");if(g<0){$s=-1;return[c,d,e];}g=g+(2)>>0;h=$substring(a,0,(g+2>>0));i=$substring(a,(g+2>>0));j=h;a=i;l=$clone((k=AN[$String.keyFor(j)],k!==undefined?k.v:new BB.ptr(0,CC.nil)),BB);if(l.sign===0){m=CC.nil;n="";o=new AO.ptr("invalid character class range",j);c=m;d=n;e=o;$s=-1;return[c,d,e];}q=f.appendGroup(b,$clone(l,BB));$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=a;s=$ifaceNil;c=p;d=r;e=s;t=[c,d,e];$s=2;case 2:return t;}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.parseNamedClass};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.parseNamedClass=function(a,b){return this.$val.parseNamedClass(a,b);};AR.ptr.prototype.appendGroup=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(((c.flags&1)>>>0)===0){$s=1;continue;}$s=2;continue;case 1:if(b.sign<0){a=BK(a,b.class$1);}else{a=BI(a,b.class$1);}$s=3;continue;case 2:d=$subslice(c.tmpClass,0,0);d=BJ(d,b.class$1);c.tmpClass=d;e=BE((c.$ptr_tmpClass||(c.$ptr_tmpClass=new CL(function(){return this.$target.tmpClass;},function($v){this.$target.tmpClass=$v;},c))));$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;if(b.sign<0){a=BK(a,d);}else{a=BI(a,d);}case 3:$s=-1;return a;}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.appendGroup};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.appendGroup=function(a,b){return this.$val.appendGroup(a,b);};BD=function(a){var a,b,c,d,e,f,g;if(a==="Any"){return[BC,BC];}c=(b=C.Categories[$String.keyFor(a)],b!==undefined?b.v:CM.nil);if(!(c===CM.nil)){return[c,(d=C.FoldCategory[$String.keyFor(a)],d!==undefined?d.v:CM.nil)];}f=(e=C.Scripts[$String.keyFor(a)],e!==undefined?e.v:CM.nil);if(!(f===CM.nil)){return[f,(g=C.FoldScript[$String.keyFor(a)],g!==undefined?g.v:CM.nil)];}return[CM.nil,CM.nil];};AR.ptr.prototype.parseUnicodeClass=function(a,b){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=CC.nil;d="";e=$ifaceNil;f=this;if((((f.flags&128)>>>0)===0)||a.length<2||!((a.charCodeAt(0)===92))||!((a.charCodeAt(1)===112))&&!((a.charCodeAt(1)===80))){$s=-1;return[c,d,e];}g=1;if(a.charCodeAt(1)===80){g=-1;}h=$substring(a,2);i=BQ(h);j=i[0];h=i[1];e=i[2];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[c,d,e];}k="";l="";m=k;n=l;if(!((j===123))){m=$substring(a,0,(a.length-h.length>>0));n=$substring(m,2);}else{o=B.IndexRune(a,125);if(o<0){e=BP(a);if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[c,d,e];}p=CC.nil;q="";r=new AO.ptr("invalid character class range",a);c=p;d=q;e=r;$s=-1;return[c,d,e];}s=$substring(a,0,(o+1>>0));t=$substring(a,(o+1>>0));m=s;h=t;n=$substring(a,3,o);e=BP(n);if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[c,d,e];}}if(!(n==="")&&(n.charCodeAt(0)===94)){g=-g;n=$substring(n,1);}u=BD(n);v=u[0];w=u[1];if(v===CM.nil){x=CC.nil;y="";z=new AO.ptr("invalid character class range",m);c=x;d=y;e=z;$s=-1;return[c,d,e];}if((((f.flags&1)>>>0)===0)||w===CM.nil){$s=1;continue;}$s=2;continue;case 1:if(g>0){b=BL(b,v);}else{b=BM(b,v);}$s=3;continue;case 2:aa=$subslice(f.tmpClass,0,0);aa=BL(aa,v);aa=BL(aa,w);f.tmpClass=aa;ab=BE((f.$ptr_tmpClass||(f.$ptr_tmpClass=new CL(function(){return this.$target.tmpClass;},function($v){this.$target.tmpClass=$v;},f))));$s=4;case 4:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;if(g>0){b=BI(b,aa);}else{b=BK(b,aa);}case 3:ac=b;ad=h;ae=$ifaceNil;c=ac;d=ad;e=ae;$s=-1;return[c,d,e];}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.parseUnicodeClass};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.parseUnicodeClass=function(a,b){return this.$val.parseUnicodeClass(a,b);};AR.ptr.prototype.parseClass=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b="";c=$ifaceNil;d=this;e=$substring(a,1);f=d.newRegexp(4);f.Flags=d.flags;f.Rune=$subslice(new CC(f.Rune0),0,0);g=1;if(!(e==="")&&(e.charCodeAt(0)===94)){g=-1;e=$substring(e,1);if(((d.flags&4)>>>0)===0){f.Rune=$append(f.Rune,10,10);}}h=f.Rune;i=true;case 1:if(!(e===""||!((e.charCodeAt(0)===93))||i)){$s=2;continue;}if(!(e==="")&&(e.charCodeAt(0)===45)&&(((d.flags&64)>>>0)===0)&&!i&&((e.length===1)||!((e.charCodeAt(1)===93)))){j=E.DecodeRuneInString($substring(e,1));k=j[1];l="";m=new AO.ptr("invalid character class range",$substring(e,0,(1+k>>0)));b=l;c=m;$s=-1;return[b,c];}i=false;if(e.length>2&&(e.charCodeAt(0)===91)&&(e.charCodeAt(1)===58)){$s=3;continue;}$s=4;continue;case 3:o=d.parseNamedClass(e,h);$s=5;case 5:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[1];r=n[2];if(!($interfaceIsEqual(r,$ifaceNil))){s="";t=r;b=s;c=t;$s=-1;return[b,c];}if(!(p===CC.nil)){u=p;v=q;h=u;e=v;$s=1;continue;}case 4:x=d.parseUnicodeClass(e,h);$s=6;case 6:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;y=w[0];z=w[1];aa=w[2];if(!($interfaceIsEqual(aa,$ifaceNil))){ab="";ac=aa;b=ab;c=ac;$s=-1;return[b,c];}if(!(y===CC.nil)){ad=y;ae=z;h=ad;e=ae;$s=1;continue;}ag=d.parsePerlClassEscape(e,h);$s=7;case 7:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;ah=af[0];ai=af[1];if(!(ah===CC.nil)){aj=ah;ak=ai;h=aj;e=ak;$s=1;continue;}al=e;am=0;an=0;ao=am;ap=an;aq=d.parseClassChar(e,a);ao=aq[0];e=aq[1];aa=aq[2];if(!($interfaceIsEqual(aa,$ifaceNil))){ar="";as=aa;b=ar;c=as;$s=-1;return[b,c];}ap=ao;if(e.length>=2&&(e.charCodeAt(0)===45)&&!((e.charCodeAt(1)===93))){e=$substring(e,1);at=d.parseClassChar(e,a);ap=at[0];e=at[1];aa=at[2];if(!($interfaceIsEqual(aa,$ifaceNil))){au="";av=aa;b=au;c=av;$s=-1;return[b,c];}if(ap<ao){al=$substring(al,0,(al.length-e.length>>0));aw="";ax=new AO.ptr("invalid character class range",al);b=aw;c=ax;$s=-1;return[b,c];}}if(((d.flags&1)>>>0)===0){h=BG(h,ao,ap);}else{h=BH(h,ao,ap);}$s=1;continue;case 2:e=$substring(e,1);f.Rune=h;ay=BE((f.$ptr_Rune||(f.$ptr_Rune=new CL(function(){return this.$target.Rune;},function($v){this.$target.Rune=$v;},f))));$s=8;case 8:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}h=ay;if(g<0){h=BN(h);}f.Rune=h;d.push(f);az=e;ba=$ifaceNil;b=az;c=ba;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.parseClass};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.parseClass=function(a){return this.$val.parseClass(a);};BE=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=D.Sort((b=new BO.ptr(a),new b.constructor.elem(b)));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=a.$get();if(c.$length<2){$s=-1;return c;}d=2;e=2;while(true){if(!(e<c.$length)){break;}f=((e<0||e>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+e]);g=(h=e+1>>0,((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]));i=f;j=g;if(i<=((k=d-1>>0,((k<0||k>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+k]))+1>>0)){if(j>(l=d-1>>0,((l<0||l>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+l]))){(m=d-1>>0,((m<0||m>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+m]=j));}e=e+(2)>>0;continue;}((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=i);(n=d+1>>0,((n<0||n>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+n]=j));d=d+(2)>>0;e=e+(2)>>0;}$s=-1;return $subslice(c,0,d);}return;}if($f===undefined){$f={$blk:BE};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BF=function(a,b,c){var a,b,c;if(!((((c&1)>>>0)===0))){return BH(a,b,b);}return BG(a,b,b);};BG=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m;d=a.$length;e=2;while(true){if(!(e<=4)){break;}if(d>=e){f=(g=d-e>>0,((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]));h=(i=(d-e>>0)+1>>0,((i<0||i>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+i]));j=f;k=h;if(b<=(k+1>>0)&&j<=(c+1>>0)){if(b<j){(l=d-e>>0,((l<0||l>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+l]=b));}if(c>k){(m=(d-e>>0)+1>>0,((m<0||m>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+m]=c));}return a;}}e=e+(2)>>0;}return $append(a,b,c);};BH=function(a,b,c){var a,b,c,d,e;if(b<=65&&c>=125251){return BG(a,b,c);}if(c<65||b>125251){return BG(a,b,c);}if(b<65){a=BG(a,b,64);b=65;}if(c>125251){a=BG(a,125252,c);c=125251;}d=b;while(true){if(!(d<=c)){break;}a=BG(a,d,d);e=C.SimpleFold(d);while(true){if(!(!((e===d)))){break;}a=BG(a,e,e);e=C.SimpleFold(e);}d=d+(1)>>0;}return a;};BI=function(a,b){var a,b,c,d;c=0;while(true){if(!(c<b.$length)){break;}a=BG(a,((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]),(d=c+1>>0,((d<0||d>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d])));c=c+(2)>>0;}return a;};BJ=function(a,b){var a,b,c,d;c=0;while(true){if(!(c<b.$length)){break;}a=BH(a,((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]),(d=c+1>>0,((d<0||d>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d])));c=c+(2)>>0;}return a;};BK=function(a,b){var a,b,c,d,e,f,g,h,i;c=0;d=0;while(true){if(!(d<b.$length)){break;}e=((d<0||d>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d]);f=(g=d+1>>0,((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g]));h=e;i=f;if(c<=(h-1>>0)){a=BG(a,c,h-1>>0);}c=i+1>>0;d=d+(2)>>0;}if(c<=1114111){a=BG(a,c,1114111);}return a;};BL=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=b.R16;d=0;while(true){if(!(d<c.$length)){break;}e=$clone(((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),C.Range16);f=((e.Lo>>0));g=((e.Hi>>0));h=((e.Stride>>0));i=f;j=g;k=h;if(k===1){a=BG(a,i,j);d++;continue;}l=i;while(true){if(!(l<=j)){break;}a=BG(a,l,l);l=l+(k)>>0;}d++;}m=b.R32;n=0;while(true){if(!(n<m.$length)){break;}o=$clone(((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]),C.Range32);p=((o.Lo>>0));q=((o.Hi>>0));r=((o.Stride>>0));s=p;t=q;u=r;if(u===1){a=BG(a,s,t);n++;continue;}v=s;while(true){if(!(v<=t)){break;}a=BG(a,v,v);v=v+(u)>>0;}n++;}return a;};BM=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;c=0;d=b.R16;e=0;while(true){if(!(e<d.$length)){break;}f=$clone(((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]),C.Range16);g=((f.Lo>>0));h=((f.Hi>>0));i=((f.Stride>>0));j=g;k=h;l=i;if(l===1){if(c<=(j-1>>0)){a=BG(a,c,j-1>>0);}c=k+1>>0;e++;continue;}m=j;while(true){if(!(m<=k)){break;}if(c<=(m-1>>0)){a=BG(a,c,m-1>>0);}c=m+1>>0;m=m+(l)>>0;}e++;}n=b.R32;o=0;while(true){if(!(o<n.$length)){break;}p=$clone(((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]),C.Range32);q=((p.Lo>>0));r=((p.Hi>>0));s=((p.Stride>>0));t=q;u=r;v=s;if(v===1){if(c<=(t-1>>0)){a=BG(a,c,t-1>>0);}c=u+1>>0;o++;continue;}w=t;while(true){if(!(w<=u)){break;}if(c<=(w-1>>0)){a=BG(a,c,w-1>>0);}c=w+1>>0;w=w+(v)>>0;}o++;}if(c<=1114111){a=BG(a,c,1114111);}return a;};BN=function(a){var a,b,c,d,e,f,g,h,i,j;b=0;c=0;d=0;while(true){if(!(d<a.$length)){break;}e=((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d]);f=(g=d+1>>0,((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]));h=e;i=f;if(b<=(h-1>>0)){((c<0||c>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+c]=b);(j=c+1>>0,((j<0||j>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+j]=(h-1>>0)));c=c+(2)>>0;}b=i+1>>0;d=d+(2)>>0;}a=$subslice(a,0,c);if(b<=1114111){a=$append(a,b,1114111);}return a;};BO.ptr.prototype.Less=function(a,b){var a,b,c,d,e,f;c=this;d=c.p.$get();a=$imul(a,(2));b=$imul(b,(2));return((a<0||a>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+a])<((b<0||b>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+b])||(((a<0||a>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+a])===((b<0||b>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+b]))&&(e=a+1>>0,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]))>(f=b+1>>0,((f<0||f>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+f]));};BO.prototype.Less=function(a,b){return this.$val.Less(a,b);};BO.ptr.prototype.Len=function(){var a,b;a=this;return(b=a.p.$get().$length/2,(b===b&&b!==1/0&&b!==-1/0)?b>>0:$throwRuntimeError("integer divide by zero"));};BO.prototype.Len=function(){return this.$val.Len();};BO.ptr.prototype.Swap=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l;c=this;d=c.p.$get();a=$imul(a,(2));b=$imul(b,(2));e=((b<0||b>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+b]);f=(g=b+1>>0,((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]));h=((a<0||a>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+a]);i=(j=a+1>>0,((j<0||j>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+j]));((a<0||a>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+a]=e);(k=a+1>>0,((k<0||k>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+k]=f));((b<0||b>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+b]=h);(l=b+1>>0,((l<0||l>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+l]=i));};BO.prototype.Swap=function(a,b){return this.$val.Swap(a,b);};BP=function(a){var a,b,c,d;while(true){if(!(!(a===""))){break;}b=E.DecodeRuneInString(a);c=b[0];d=b[1];if((c===65533)&&(d===1)){return new AO.ptr("invalid UTF-8",a);}a=$substring(a,d);}return $ifaceNil;};BQ=function(a){var a,b,c,d,e,f,g,h,i,j,k,l;b=0;c="";d=$ifaceNil;e=E.DecodeRuneInString(a);b=e[0];f=e[1];if((b===65533)&&(f===1)){g=0;h="";i=new AO.ptr("invalid UTF-8",a);b=g;c=h;d=i;return[b,c,d];}j=b;k=$substring(a,f);l=$ifaceNil;b=j;c=k;d=l;return[b,c,d];};BR=function(a){var a;return 48<=a&&a<=57||65<=a&&a<=90||97<=a&&a<=122;};BS=function(a){var a;if(48<=a&&a<=57){return a-48>>0;}if(97<=a&&a<=102){return(a-97>>0)+10>>0;}if(65<=a&&a<=70){return(a-65>>0)+10>>0;}return-1;};H.prototype.String=function(){var a,b;a=this.$val;if(1<=a&&a<=19){a=a-(1)<<24>>>24;return $substring("NoMatchEmptyMatchLiteralCharClassAnyCharNotNLAnyCharBeginLineEndLineBeginTextEndTextWordBoundaryNoWordBoundaryCaptureStarPlusQuestRepeatConcatAlternate",((a<0||a>=BT.length)?($throwRuntimeError("index out of range"),undefined):BT[a]),(b=a+1<<24>>>24,((b<0||b>=BT.length)?($throwRuntimeError("index out of range"),undefined):BT[b])));}else if((a===128)){return"opPseudo";}else{return"Op("+A.FormatInt((new $Int64(0,a)),10)+")";}};$ptrType(H).prototype.String=function(){return new H(this.$get()).String();};BV=function(a){var a;return new BU.ptr(a,a);};BU.ptr.prototype.patch=function(a,b){var a,b,c,d,e,f,g;c=this;d=c.head;while(true){if(!(!((d===0)))){break;}g=(e=a.Inst,f=d>>>1>>>0,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));if(((d&1)>>>0)===0){d=g.Out;g.Out=b;}else{d=g.Arg;g.Arg=b;}}};BU.prototype.patch=function(a,b){return this.$val.patch(a,b);};BU.ptr.prototype.append=function(a,b){var a,b,c,d,e,f;c=this;if(c.head===0){return b;}if(b.head===0){return c;}f=(d=a.Inst,e=c.tail>>>1>>>0,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]));if(((c.tail&1)>>>0)===0){f.Out=b.head;}else{f.Arg=b.head;}return new BU.ptr(c.head,b.tail);};BU.prototype.append=function(a,b){return this.$val.append(a,b);};BY=function(a){var a,b,c;b=new BX.ptr(CN.nil);b.init();c=$clone(b.compile(a),BW);$clone(c.out,BU).patch(b.p,b.inst(4).i);b.p.Start=((c.i>>0));return[b.p,$ifaceNil];};$pkg.Compile=BY;BX.ptr.prototype.init=function(){var a;a=this;a.p=new K.ptr(CO.nil,0,0);a.p.NumCap=2;a.inst(5);};BX.prototype.init=function(){return this.$val.init();};BX.ptr.prototype.compile=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;b=this;c=a.Op;if(c===(1)){return b.fail();}else if(c===(2)){return b.nop();}else if(c===(3)){if(a.Rune.$length===0){return b.nop();}d=new BW.ptr(0,new BU.ptr(0,0),false);e=a.Rune;f=0;while(true){if(!(f<e.$length)){break;}g=f;h=$clone(b.rune($subslice(a.Rune,g,(g+1>>0)),a.Flags),BW);if(g===0){BW.copy(d,h);}else{BW.copy(d,b.cat($clone(d,BW),$clone(h,BW)));}f++;}return d;}else if(c===(4)){return b.rune(a.Rune,a.Flags);}else if(c===(5)){return b.rune(BZ,0);}else if(c===(6)){return b.rune(CA,0);}else if(c===(7)){return b.empty(1);}else if(c===(8)){return b.empty(2);}else if(c===(9)){return b.empty(4);}else if(c===(10)){return b.empty(8);}else if(c===(11)){return b.empty(16);}else if(c===(12)){return b.empty(32);}else if(c===(13)){i=$clone(b.cap((((a.Cap<<1>>0)>>>0))),BW);k=$clone(b.compile((j=a.Sub,(0>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+0]))),BW);l=$clone(b.cap(((((a.Cap<<1>>0)|1)>>>0))),BW);return b.cat($clone(b.cat($clone(i,BW),$clone(k,BW)),BW),$clone(l,BW));}else if(c===(14)){return b.star($clone(b.compile((m=a.Sub,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]))),BW),!((((a.Flags&32)>>>0)===0)));}else if(c===(15)){return b.plus($clone(b.compile((n=a.Sub,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0]))),BW),!((((a.Flags&32)>>>0)===0)));}else if(c===(16)){return b.quest($clone(b.compile((o=a.Sub,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0]))),BW),!((((a.Flags&32)>>>0)===0)));}else if(c===(18)){if(a.Sub.$length===0){return b.nop();}p=new BW.ptr(0,new BU.ptr(0,0),false);q=a.Sub;r=0;while(true){if(!(r<q.$length)){break;}s=r;t=((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);if(s===0){BW.copy(p,b.compile(t));}else{BW.copy(p,b.cat($clone(p,BW),$clone(b.compile(t),BW)));}r++;}return p;}else if(c===(19)){u=new BW.ptr(0,new BU.ptr(0,0),false);v=a.Sub;w=0;while(true){if(!(w<v.$length)){break;}x=((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w]);BW.copy(u,b.alt($clone(u,BW),$clone(b.compile(x),BW)));w++;}return u;}$panic(new $String("regexp: unhandled case in compile"));};BX.prototype.compile=function(a){return this.$val.compile(a);};BX.ptr.prototype.inst=function(a){var a,b,c;b=this;c=new BW.ptr(((b.p.Inst.$length>>>0)),new BU.ptr(0,0),true);b.p.Inst=$append(b.p.Inst,new Q.ptr(a,0,0,CC.nil));return c;};BX.prototype.inst=function(a){return this.$val.inst(a);};BX.ptr.prototype.nop=function(){var a,b;a=this;b=$clone(a.inst(6),BW);BU.copy(b.out,BV(b.i<<1>>>0));return b;};BX.prototype.nop=function(){return this.$val.nop();};BX.ptr.prototype.fail=function(){var a;a=this;return new BW.ptr(0,new BU.ptr(0,0),false);};BX.prototype.fail=function(){return this.$val.fail();};BX.ptr.prototype.cap=function(a){var a,b,c,d,e;b=this;c=$clone(b.inst(2),BW);BU.copy(c.out,BV(c.i<<1>>>0));(d=b.p.Inst,e=c.i,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e])).Arg=a;if(b.p.NumCap<(((a>>0))+1>>0)){b.p.NumCap=((a>>0))+1>>0;}return c;};BX.prototype.cap=function(a){return this.$val.cap(a);};BX.ptr.prototype.cat=function(a,b){var a,b,c;c=this;if((a.i===0)||(b.i===0)){return new BW.ptr(0,new BU.ptr(0,0),false);}$clone(a.out,BU).patch(c.p,b.i);return new BW.ptr(a.i,$clone(b.out,BU),a.nullable&&b.nullable);};BX.prototype.cat=function(a,b){return this.$val.cat(a,b);};BX.ptr.prototype.alt=function(a,b){var a,b,c,d,e,f,g;c=this;if(a.i===0){return b;}if(b.i===0){return a;}d=$clone(c.inst(0),BW);g=(e=c.p.Inst,f=d.i,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));g.Out=a.i;g.Arg=b.i;BU.copy(d.out,$clone(a.out,BU).append(c.p,$clone(b.out,BU)));d.nullable=a.nullable||b.nullable;return d;};BX.prototype.alt=function(a,b){return this.$val.alt(a,b);};BX.ptr.prototype.quest=function(a,b){var a,b,c,d,e,f,g;c=this;d=$clone(c.inst(0),BW);g=(e=c.p.Inst,f=d.i,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));if(b){g.Arg=a.i;BU.copy(d.out,BV(d.i<<1>>>0));}else{g.Out=a.i;BU.copy(d.out,BV(((d.i<<1>>>0)|1)>>>0));}BU.copy(d.out,$clone(d.out,BU).append(c.p,$clone(a.out,BU)));return d;};BX.prototype.quest=function(a,b){return this.$val.quest(a,b);};BX.ptr.prototype.loop=function(a,b){var a,b,c,d,e,f,g;c=this;d=$clone(c.inst(0),BW);g=(e=c.p.Inst,f=d.i,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));if(b){g.Arg=a.i;BU.copy(d.out,BV(d.i<<1>>>0));}else{g.Out=a.i;BU.copy(d.out,BV(((d.i<<1>>>0)|1)>>>0));}$clone(a.out,BU).patch(c.p,d.i);return d;};BX.prototype.loop=function(a,b){return this.$val.loop(a,b);};BX.ptr.prototype.star=function(a,b){var a,b,c;c=this;if(a.nullable){return c.quest($clone(c.plus($clone(a,BW),b),BW),b);}return c.loop($clone(a,BW),b);};BX.prototype.star=function(a,b){return this.$val.star(a,b);};BX.ptr.prototype.plus=function(a,b){var a,b,c;c=this;return new BW.ptr(a.i,$clone(c.loop($clone(a,BW),b).out,BU),a.nullable);};BX.prototype.plus=function(a,b){return this.$val.plus(a,b);};BX.ptr.prototype.empty=function(a){var a,b,c,d,e;b=this;c=$clone(b.inst(3),BW);(d=b.p.Inst,e=c.i,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e])).Arg=((a>>>0));BU.copy(c.out,BV(c.i<<1>>>0));return c;};BX.prototype.empty=function(a){return this.$val.empty(a);};BX.ptr.prototype.rune=function(a,b){var a,b,c,d,e,f,g;c=this;d=$clone(c.inst(7),BW);d.nullable=false;g=(e=c.p.Inst,f=d.i,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));g.Rune=a;b=(b&(1))>>>0;if(!((a.$length===1))||(C.SimpleFold((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]))===(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]))){b=(b&~(1))<<16>>>16;}g.Arg=((b>>>0));BU.copy(d.out,BV(d.i<<1>>>0));if((((b&1)>>>0)===0)&&((a.$length===1)||(a.$length===2)&&((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])===(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])))){g.Op=8;}else if((a.$length===2)&&((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])===0)&&((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])===1114111)){g.Op=9;}else if((a.$length===4)&&((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])===0)&&((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])===9)&&((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2])===11)&&((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3])===1114111)){g.Op=10;}return d;};BX.prototype.rune=function(a,b){return this.$val.rune(a,b);};CF.methods=[{prop:"Simplify",name:"Simplify",pkg:"",typ:$funcType([],[CF],false)},{prop:"Equal",name:"Equal",pkg:"",typ:$funcType([CF],[$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"MaxCap",name:"MaxCap",pkg:"",typ:$funcType([],[$Int],false)},{prop:"CapNames",name:"CapNames",pkg:"",typ:$funcType([],[CB],false)},{prop:"capNames",name:"capNames",pkg:"regexp/syntax",typ:$funcType([CB],[],false)}];H.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];CN.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"skipNop",name:"skipNop",pkg:"regexp/syntax",typ:$funcType([$Uint32],[CP],false)},{prop:"Prefix",name:"Prefix",pkg:"",typ:$funcType([],[$String,$Bool],false)},{prop:"StartCond",name:"StartCond",pkg:"",typ:$funcType([],[N],false)}];L.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];CP.methods=[{prop:"op",name:"op",pkg:"regexp/syntax",typ:$funcType([],[L],false)},{prop:"MatchRune",name:"MatchRune",pkg:"",typ:$funcType([$Int32],[$Bool],false)},{prop:"MatchRunePos",name:"MatchRunePos",pkg:"",typ:$funcType([$Int32],[$Int],false)},{prop:"MatchEmptyWidth",name:"MatchEmptyWidth",pkg:"",typ:$funcType([$Int32,$Int32],[$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];CQ.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];AP.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];CR.methods=[{prop:"newRegexp",name:"newRegexp",pkg:"regexp/syntax",typ:$funcType([H],[CF],false)},{prop:"reuse",name:"reuse",pkg:"regexp/syntax",typ:$funcType([CF],[],false)},{prop:"push",name:"push",pkg:"regexp/syntax",typ:$funcType([CF],[CF],false)},{prop:"maybeConcat",name:"maybeConcat",pkg:"regexp/syntax",typ:$funcType([$Int32,AQ],[$Bool],false)},{prop:"literal",name:"literal",pkg:"regexp/syntax",typ:$funcType([$Int32],[],false)},{prop:"op",name:"op",pkg:"regexp/syntax",typ:$funcType([H],[CF],false)},{prop:"repeat",name:"repeat",pkg:"regexp/syntax",typ:$funcType([H,$Int,$Int,$String,$String,$String],[$String,$error],false)},{prop:"concat",name:"concat",pkg:"regexp/syntax",typ:$funcType([],[CF],false)},{prop:"alternate",name:"alternate",pkg:"regexp/syntax",typ:$funcType([],[CF],false)},{prop:"collapse",name:"collapse",pkg:"regexp/syntax",typ:$funcType([CG,H],[CF],false)},{prop:"factor",name:"factor",pkg:"regexp/syntax",typ:$funcType([CG],[CG],false)},{prop:"leadingString",name:"leadingString",pkg:"regexp/syntax",typ:$funcType([CF],[CC,AQ],false)},{prop:"removeLeadingString",name:"removeLeadingString",pkg:"regexp/syntax",typ:$funcType([CF,$Int],[CF],false)},{prop:"leadingRegexp",name:"leadingRegexp",pkg:"regexp/syntax",typ:$funcType([CF],[CF],false)},{prop:"removeLeadingRegexp",name:"removeLeadingRegexp",pkg:"regexp/syntax",typ:$funcType([CF,$Bool],[CF],false)},{prop:"parseRepeat",name:"parseRepeat",pkg:"regexp/syntax",typ:$funcType([$String],[$Int,$Int,$String,$Bool],false)},{prop:"parsePerlFlags",name:"parsePerlFlags",pkg:"regexp/syntax",typ:$funcType([$String],[$String,$error],false)},{prop:"parseInt",name:"parseInt",pkg:"regexp/syntax",typ:$funcType([$String],[$Int,$String,$Bool],false)},{prop:"parseVerticalBar",name:"parseVerticalBar",pkg:"regexp/syntax",typ:$funcType([],[$error],false)},{prop:"swapVerticalBar",name:"swapVerticalBar",pkg:"regexp/syntax",typ:$funcType([],[$Bool],false)},{prop:"parseRightParen",name:"parseRightParen",pkg:"regexp/syntax",typ:$funcType([],[$error],false)},{prop:"parseEscape",name:"parseEscape",pkg:"regexp/syntax",typ:$funcType([$String],[$Int32,$String,$error],false)},{prop:"parseClassChar",name:"parseClassChar",pkg:"regexp/syntax",typ:$funcType([$String,$String],[$Int32,$String,$error],false)},{prop:"parsePerlClassEscape",name:"parsePerlClassEscape",pkg:"regexp/syntax",typ:$funcType([$String,CC],[CC,$String],false)},{prop:"parseNamedClass",name:"parseNamedClass",pkg:"regexp/syntax",typ:$funcType([$String,CC],[CC,$String,$error],false)},{prop:"appendGroup",name:"appendGroup",pkg:"regexp/syntax",typ:$funcType([CC,BB],[CC],false)},{prop:"parseUnicodeClass",name:"parseUnicodeClass",pkg:"regexp/syntax",typ:$funcType([$String,CC],[CC,$String,$error],false)},{prop:"parseClass",name:"parseClass",pkg:"regexp/syntax",typ:$funcType([$String],[$String,$error],false)}];BO.methods=[{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)}];BU.methods=[{prop:"patch",name:"patch",pkg:"regexp/syntax",typ:$funcType([CN,$Uint32],[],false)},{prop:"append",name:"append",pkg:"regexp/syntax",typ:$funcType([CN,BU],[BU],false)}];CS.methods=[{prop:"init",name:"init",pkg:"regexp/syntax",typ:$funcType([],[],false)},{prop:"compile",name:"compile",pkg:"regexp/syntax",typ:$funcType([CF],[BW],false)},{prop:"inst",name:"inst",pkg:"regexp/syntax",typ:$funcType([L],[BW],false)},{prop:"nop",name:"nop",pkg:"regexp/syntax",typ:$funcType([],[BW],false)},{prop:"fail",name:"fail",pkg:"regexp/syntax",typ:$funcType([],[BW],false)},{prop:"cap",name:"cap",pkg:"regexp/syntax",typ:$funcType([$Uint32],[BW],false)},{prop:"cat",name:"cat",pkg:"regexp/syntax",typ:$funcType([BW,BW],[BW],false)},{prop:"alt",name:"alt",pkg:"regexp/syntax",typ:$funcType([BW,BW],[BW],false)},{prop:"quest",name:"quest",pkg:"regexp/syntax",typ:$funcType([BW,$Bool],[BW],false)},{prop:"loop",name:"loop",pkg:"regexp/syntax",typ:$funcType([BW,$Bool],[BW],false)},{prop:"star",name:"star",pkg:"regexp/syntax",typ:$funcType([BW,$Bool],[BW],false)},{prop:"plus",name:"plus",pkg:"regexp/syntax",typ:$funcType([BW,$Bool],[BW],false)},{prop:"empty",name:"empty",pkg:"regexp/syntax",typ:$funcType([N],[BW],false)},{prop:"rune",name:"rune",pkg:"regexp/syntax",typ:$funcType([CC,AQ],[BW],false)}];G.init("",[{prop:"Op",name:"Op",embedded:false,exported:true,typ:H,tag:""},{prop:"Flags",name:"Flags",embedded:false,exported:true,typ:AQ,tag:""},{prop:"Sub",name:"Sub",embedded:false,exported:true,typ:CG,tag:""},{prop:"Sub0",name:"Sub0",embedded:false,exported:true,typ:CH,tag:""},{prop:"Rune",name:"Rune",embedded:false,exported:true,typ:CC,tag:""},{prop:"Rune0",name:"Rune0",embedded:false,exported:true,typ:CI,tag:""},{prop:"Min",name:"Min",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Max",name:"Max",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Cap",name:"Cap",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""}]);K.init("",[{prop:"Inst",name:"Inst",embedded:false,exported:true,typ:CO,tag:""},{prop:"Start",name:"Start",embedded:false,exported:true,typ:$Int,tag:""},{prop:"NumCap",name:"NumCap",embedded:false,exported:true,typ:$Int,tag:""}]);Q.init("",[{prop:"Op",name:"Op",embedded:false,exported:true,typ:L,tag:""},{prop:"Out",name:"Out",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"Arg",name:"Arg",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"Rune",name:"Rune",embedded:false,exported:true,typ:CC,tag:""}]);AO.init("",[{prop:"Code",name:"Code",embedded:false,exported:true,typ:AP,tag:""},{prop:"Expr",name:"Expr",embedded:false,exported:true,typ:$String,tag:""}]);AR.init("regexp/syntax",[{prop:"flags",name:"flags",embedded:false,exported:false,typ:AQ,tag:""},{prop:"stack",name:"stack",embedded:false,exported:false,typ:CG,tag:""},{prop:"free",name:"free",embedded:false,exported:false,typ:CF,tag:""},{prop:"numCap",name:"numCap",embedded:false,exported:false,typ:$Int,tag:""},{prop:"wholeRegexp",name:"wholeRegexp",embedded:false,exported:false,typ:$String,tag:""},{prop:"tmpClass",name:"tmpClass",embedded:false,exported:false,typ:CC,tag:""}]);BB.init("regexp/syntax",[{prop:"sign",name:"sign",embedded:false,exported:false,typ:$Int,tag:""},{prop:"class$1",name:"class",embedded:false,exported:false,typ:CC,tag:""}]);BO.init("regexp/syntax",[{prop:"p",name:"p",embedded:false,exported:false,typ:CL,tag:""}]);BU.init("regexp/syntax",[{prop:"head",name:"head",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"tail",name:"tail",embedded:false,exported:false,typ:$Uint32,tag:""}]);BW.init("regexp/syntax",[{prop:"i",name:"i",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"out",name:"out",embedded:false,exported:false,typ:BU,tag:""},{prop:"nullable",name:"nullable",embedded:false,exported:false,typ:$Bool,tag:""}]);BX.init("regexp/syntax",[{prop:"p",name:"p",embedded:false,exported:false,typ:CN,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=D.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}M=new CB(["InstAlt","InstAltMatch","InstCapture","InstEmptyWidth","InstMatch","InstFail","InstNop","InstRune","InstRune1","InstRuneAny","InstRuneAnyNotNL"]);V=new CC([48,57]);W=new CC([9,10,12,13,32,32]);X=new CC([48,57,65,90,95,95,97,122]);Y=$makeMap($String.keyFor,[{k:"\\d",v:new BB.ptr(1,V)},{k:"\\D",v:new BB.ptr(-1,V)},{k:"\\s",v:new BB.ptr(1,W)},{k:"\\S",v:new BB.ptr(-1,W)},{k:"\\w",v:new BB.ptr(1,X)},{k:"\\W",v:new BB.ptr(-1,X)}]);Z=new CC([48,57,65,90,97,122]);AA=new CC([65,90,97,122]);AB=new CC([0,127]);AC=new CC([9,9,32,32]);AD=new CC([0,31,127,127]);AE=new CC([48,57]);AF=new CC([33,126]);AG=new CC([97,122]);AH=new CC([32,126]);AI=new CC([33,47,58,64,91,96,123,126]);AJ=new CC([9,13,32,32]);AK=new CC([65,90]);AL=new CC([48,57,65,90,95,95,97,122]);AM=new CC([48,57,65,70,97,102]);AN=$makeMap($String.keyFor,[{k:"[:alnum:]",v:new BB.ptr(1,Z)},{k:"[:^alnum:]",v:new BB.ptr(-1,Z)},{k:"[:alpha:]",v:new BB.ptr(1,AA)},{k:"[:^alpha:]",v:new BB.ptr(-1,AA)},{k:"[:ascii:]",v:new BB.ptr(1,AB)},{k:"[:^ascii:]",v:new BB.ptr(-1,AB)},{k:"[:blank:]",v:new BB.ptr(1,AC)},{k:"[:^blank:]",v:new BB.ptr(-1,AC)},{k:"[:cntrl:]",v:new BB.ptr(1,AD)},{k:"[:^cntrl:]",v:new BB.ptr(-1,AD)},{k:"[:digit:]",v:new BB.ptr(1,AE)},{k:"[:^digit:]",v:new BB.ptr(-1,AE)},{k:"[:graph:]",v:new BB.ptr(1,AF)},{k:"[:^graph:]",v:new BB.ptr(-1,AF)},{k:"[:lower:]",v:new BB.ptr(1,AG)},{k:"[:^lower:]",v:new BB.ptr(-1,AG)},{k:"[:print:]",v:new BB.ptr(1,AH)},{k:"[:^print:]",v:new BB.ptr(-1,AH)},{k:"[:punct:]",v:new BB.ptr(1,AI)},{k:"[:^punct:]",v:new BB.ptr(-1,AI)},{k:"[:space:]",v:new BB.ptr(1,AJ)},{k:"[:^space:]",v:new BB.ptr(-1,AJ)},{k:"[:upper:]",v:new BB.ptr(1,AK)},{k:"[:^upper:]",v:new BB.ptr(-1,AK)},{k:"[:word:]",v:new BB.ptr(1,AL)},{k:"[:^word:]",v:new BB.ptr(-1,AL)},{k:"[:xdigit:]",v:new BB.ptr(1,AM)},{k:"[:^xdigit:]",v:new BB.ptr(-1,AM)}]);BC=new C.RangeTable.ptr(new CD([new C.Range16.ptr(0,65535,1)]),new CE([new C.Range32.ptr(65536,1114111,1)]),0);BT=$toNativeArray($kindUint8,[0,7,17,24,33,45,52,61,68,77,84,96,110,117,121,125,130,136,142,151]);BZ=new CC([0,9,11,1114111]);CA=new CC([0,1114111]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["regexp"]=(function(){var $pkg={},$init,A,F,B,C,I,D,E,G,H,J,T,U,V,W,AF,AG,AK,AR,AW,AX,AY,AZ,BA,BB,BD,BI,BJ,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,CY,CZ,DA,DB,DC,DD,DE,DF,DG,N,O,AA,AM,AN,AS,AT,BE,BH,BK,K,M,P,Q,S,AC,AE,AH,AI,AJ,AL,AO,AP,AQ,AU,AV,BC,BF,BG,BL,BM,BN,BO;A=$packages["bytes"];F=$packages["github.com/gopherjs/gopherjs/nosync"];B=$packages["io"];C=$packages["regexp/syntax"];I=$packages["sort"];D=$packages["strconv"];E=$packages["strings"];G=$packages["unicode"];H=$packages["unicode/utf8"];J=$pkg.Regexp=$newType(0,$kindStruct,"regexp.Regexp",true,"regexp",true,function(expr_,prog_,onepass_,numSubexp_,maxBitStateLen_,subexpNames_,prefix_,prefixBytes_,prefixRune_,prefixEnd_,mpool_,matchcap_,prefixComplete_,cond_,minInputLen_,longest_){this.$val=this;if(arguments.length===0){this.expr="";this.prog=BW.nil;this.onepass=BX.nil;this.numSubexp=0;this.maxBitStateLen=0;this.subexpNames=BY.nil;this.prefix="";this.prefixBytes=BZ.nil;this.prefixRune=0;this.prefixEnd=0;this.mpool=0;this.matchcap=0;this.prefixComplete=false;this.cond=0;this.minInputLen=0;this.longest=false;return;}this.expr=expr_;this.prog=prog_;this.onepass=onepass_;this.numSubexp=numSubexp_;this.maxBitStateLen=maxBitStateLen_;this.subexpNames=subexpNames_;this.prefix=prefix_;this.prefixBytes=prefixBytes_;this.prefixRune=prefixRune_;this.prefixEnd=prefixEnd_;this.mpool=mpool_;this.matchcap=matchcap_;this.prefixComplete=prefixComplete_;this.cond=cond_;this.minInputLen=minInputLen_;this.longest=longest_;});T=$pkg.input=$newType(8,$kindInterface,"regexp.input",true,"regexp",false,null);U=$pkg.inputString=$newType(0,$kindStruct,"regexp.inputString",true,"regexp",false,function(str_){this.$val=this;if(arguments.length===0){this.str="";return;}this.str=str_;});V=$pkg.inputBytes=$newType(0,$kindStruct,"regexp.inputBytes",true,"regexp",false,function(str_){this.$val=this;if(arguments.length===0){this.str=BZ.nil;return;}this.str=str_;});W=$pkg.inputReader=$newType(0,$kindStruct,"regexp.inputReader",true,"regexp",false,function(r_,atEOT_,pos_){this.$val=this;if(arguments.length===0){this.r=$ifaceNil;this.atEOT=false;this.pos=0;return;}this.r=r_;this.atEOT=atEOT_;this.pos=pos_;});AF=$pkg.onePassProg=$newType(0,$kindStruct,"regexp.onePassProg",true,"regexp",false,function(Inst_,Start_,NumCap_){this.$val=this;if(arguments.length===0){this.Inst=CO.nil;this.Start=0;this.NumCap=0;return;}this.Inst=Inst_;this.Start=Start_;this.NumCap=NumCap_;});AG=$pkg.onePassInst=$newType(0,$kindStruct,"regexp.onePassInst",true,"regexp",false,function(Inst_,Next_){this.$val=this;if(arguments.length===0){this.Inst=new C.Inst.ptr(0,0,0,BT.nil);this.Next=BU.nil;return;}this.Inst=Inst_;this.Next=Next_;});AK=$pkg.queueOnePass=$newType(0,$kindStruct,"regexp.queueOnePass",true,"regexp",false,function(sparse_,dense_,size_,nextIndex_){this.$val=this;if(arguments.length===0){this.sparse=BU.nil;this.dense=BU.nil;this.size=0;this.nextIndex=0;return;}this.sparse=sparse_;this.dense=dense_;this.size=size_;this.nextIndex=nextIndex_;});AR=$pkg.runeSlice=$newType(12,$kindSlice,"regexp.runeSlice",true,"regexp",false,null);AW=$pkg.queue=$newType(0,$kindStruct,"regexp.queue",true,"regexp",false,function(sparse_,dense_){this.$val=this;if(arguments.length===0){this.sparse=BU.nil;this.dense=CB.nil;return;}this.sparse=sparse_;this.dense=dense_;});AX=$pkg.entry=$newType(0,$kindStruct,"regexp.entry",true,"regexp",false,function(pc_,t_){this.$val=this;if(arguments.length===0){this.pc=0;this.t=CC.nil;return;}this.pc=pc_;this.t=t_;});AY=$pkg.thread=$newType(0,$kindStruct,"regexp.thread",true,"regexp",false,function(inst_,cap_){this.$val=this;if(arguments.length===0){this.inst=CT.nil;this.cap=CE.nil;return;}this.inst=inst_;this.cap=cap_;});AZ=$pkg.machine=$newType(0,$kindStruct,"regexp.machine",true,"regexp",false,function(re_,p_,q0_,q1_,pool_,matched_,matchcap_,inputs_){this.$val=this;if(arguments.length===0){this.re=BV.nil;this.p=BW.nil;this.q0=new AW.ptr(BU.nil,CB.nil);this.q1=new AW.ptr(BU.nil,CB.nil);this.pool=CD.nil;this.matched=false;this.matchcap=CE.nil;this.inputs=new BA.ptr(new V.ptr(BZ.nil),new U.ptr(""),new W.ptr($ifaceNil,false,0));return;}this.re=re_;this.p=p_;this.q0=q0_;this.q1=q1_;this.pool=pool_;this.matched=matched_;this.matchcap=matchcap_;this.inputs=inputs_;});BA=$pkg.inputs=$newType(0,$kindStruct,"regexp.inputs",true,"regexp",false,function(bytes_,string_,reader_){this.$val=this;if(arguments.length===0){this.bytes=new V.ptr(BZ.nil);this.string=new U.ptr("");this.reader=new W.ptr($ifaceNil,false,0);return;}this.bytes=bytes_;this.string=string_;this.reader=reader_;});BB=$pkg.lazyFlag=$newType(8,$kindUint64,"regexp.lazyFlag",true,"regexp",false,null);BD=$pkg.onePassMachine=$newType(0,$kindStruct,"regexp.onePassMachine",true,"regexp",false,function(inputs_,matchcap_){this.$val=this;if(arguments.length===0){this.inputs=new BA.ptr(new V.ptr(BZ.nil),new U.ptr(""),new W.ptr($ifaceNil,false,0));this.matchcap=CE.nil;return;}this.inputs=inputs_;this.matchcap=matchcap_;});BI=$pkg.job=$newType(0,$kindStruct,"regexp.job",true,"regexp",false,function(pc_,arg_,pos_){this.$val=this;if(arguments.length===0){this.pc=0;this.arg=false;this.pos=0;return;}this.pc=pc_;this.arg=arg_;this.pos=pos_;});BJ=$pkg.bitState=$newType(0,$kindStruct,"regexp.bitState",true,"regexp",false,function(end_,cap_,matchcap_,jobs_,visited_,inputs_){this.$val=this;if(arguments.length===0){this.end=0;this.cap=CE.nil;this.matchcap=CE.nil;this.jobs=CX.nil;this.visited=BU.nil;this.inputs=new BA.ptr(new V.ptr(BZ.nil),new U.ptr(""),new W.ptr($ifaceNil,false,0));return;}this.end=end_;this.cap=cap_;this.matchcap=matchcap_;this.jobs=jobs_;this.visited=visited_;this.inputs=inputs_;});BP=$sliceType($emptyInterface);BQ=$arrayType(F.Pool,5);BR=$arrayType($Uint8,16);BS=$arrayType($Int,0);BT=$sliceType($Int32);BU=$sliceType($Uint32);BV=$ptrType(J);BW=$ptrType(C.Prog);BX=$ptrType(AF);BY=$sliceType($String);BZ=$sliceType($Uint8);CA=$ptrType(AZ);CB=$sliceType(AX);CC=$ptrType(AY);CD=$sliceType(CC);CE=$sliceType($Int);CF=$arrayType($Int,2);CG=$arrayType($Int,4);CH=$sliceType(BZ);CI=$sliceType(CE);CJ=$sliceType(CH);CK=$sliceType(BY);CL=$ptrType(E.Builder);CM=$ptrType(AK);CN=$ptrType($Int);CO=$sliceType(AG);CP=$ptrType($Uint32);CQ=$sliceType(BT);CR=$ptrType(BT);CS=$sliceType($Bool);CT=$ptrType(C.Inst);CU=$ptrType(BB);CV=$ptrType(BD);CW=$ptrType(BJ);CX=$sliceType(BI);CY=$funcType([$String],[$String],false);CZ=$funcType([BZ,CE],[BZ],false);DA=$funcType([BZ],[BZ],false);DB=$funcType([CE],[],false);DC=$ptrType(U);DD=$ptrType(V);DE=$ptrType(W);DF=$ptrType(AW);DG=$ptrType(BA);J.ptr.prototype.String=function(){var a;a=this;return a.expr;};J.prototype.String=function(){return this.$val.String();};J.ptr.prototype.Copy=function(){var a,b;a=this;b=$clone(a,J);return b;};J.prototype.Copy=function(){return this.$val.Copy();};K=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=M(a,212,false);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:K};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Compile=K;J.ptr.prototype.Longest=function(){var a;a=this;a.longest=true;};J.prototype.Longest=function(){return this.$val.Longest();};M=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=C.Parse(a,b);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];if(!($interfaceIsEqual(g,$ifaceNil))){$s=-1;return[BV.nil,g];}h=f.MaxCap();i=f.CapNames();f=f.Simplify();j=C.Compile(f);k=j[0];g=j[1];if(!($interfaceIsEqual(g,$ifaceNil))){$s=-1;return[BV.nil,g];}l=k.NumCap;if(l<2){l=2;}m=AV(k);$s=2;case 2:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=new J.ptr(a,k,m,h,0,i,"",BZ.nil,0,0,0,l,false,k.StartCond(),P(f),c);if(n.onepass===BX.nil){o=k.Prefix();n.prefix=o[0];n.prefixComplete=o[1];n.maxBitStateLen=BN(k);}else{p=AH(k);n.prefix=p[0];n.prefixComplete=p[1];n.prefixEnd=p[2];}if(!(n.prefix==="")){n.prefixBytes=(new BZ($stringToBytes(n.prefix)));q=H.DecodeRuneInString(n.prefix);n.prefixRune=q[0];}r=k.Inst.$length;s=0;while(true){if(!(!((((s<0||s>=N.length)?($throwRuntimeError("index out of range"),undefined):N[s])===0))&&((s<0||s>=N.length)?($throwRuntimeError("index out of range"),undefined):N[s])<r)){break;}s=s+(1)>>0;}n.mpool=s;$s=-1;return[n,$ifaceNil];}return;}if($f===undefined){$f={$blk:M};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};J.ptr.prototype.get=function(){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;d=(c=a.mpool,((c<0||c>=O.length)?($throwRuntimeError("index out of range"),undefined):O[c])).Get();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}b=$assertType(d,CA,true);e=b[0];f=b[1];if(!f){e=new AZ.ptr(BV.nil,BW.nil,new AW.ptr(BU.nil,CB.nil),new AW.ptr(BU.nil,CB.nil),CD.nil,false,CE.nil,new BA.ptr(new V.ptr(BZ.nil),new U.ptr(""),new W.ptr($ifaceNil,false,0)));}e.re=a;e.p=a.prog;if(e.matchcap.$capacity<a.matchcap){e.matchcap=$makeSlice(CE,a.matchcap);g=e.pool;h=0;while(true){if(!(h<g.$length)){break;}i=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);i.cap=$makeSlice(CE,a.matchcap);h++;}}k=(j=a.mpool,((j<0||j>=N.length)?($throwRuntimeError("index out of range"),undefined):N[j]));if(k===0){k=a.prog.Inst.$length;}if(e.q0.sparse.$length<k){AW.copy(e.q0,new AW.ptr($makeSlice(BU,k),$makeSlice(CB,0,k)));AW.copy(e.q1,new AW.ptr($makeSlice(BU,k),$makeSlice(CB,0,k)));}$s=-1;return e;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.get};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.get=function(){return this.$val.get();};J.ptr.prototype.put=function(a){var a,b,c;b=this;a.re=BV.nil;a.p=BW.nil;a.inputs.clear();(c=b.mpool,((c<0||c>=O.length)?($throwRuntimeError("index out of range"),undefined):O[c])).Put(a);};J.prototype.put=function(a){return this.$val.put(a);};P=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;b=a.Op;if((b===(6))||(b===(5))||(b===(4))){return 1;}else if(b===(3)){c=0;d=a.Rune;e=0;while(true){if(!(e<d.$length)){break;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);c=c+(H.RuneLen(f))>>0;e++;}return c;}else if((b===(13))||(b===(15))){return P((g=a.Sub,(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0])));}else if(b===(17)){return $imul(a.Min,P((h=a.Sub,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))));}else if(b===(18)){i=0;j=a.Sub;k=0;while(true){if(!(k<j.$length)){break;}l=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);i=i+(P(l))>>0;k++;}return i;}else if(b===(19)){n=P((m=a.Sub,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])));o=0;p=$subslice(a.Sub,1);q=0;while(true){if(!(q<p.$length)){break;}r=((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]);o=P(r);if(o<n){n=o;}q++;}return n;}else{return 0;}};Q=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=K(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:f=e.Error();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$panic(new $String("regexp: Compile("+S(a)+"): "+f));case 3:$s=-1;return d;}return;}if($f===undefined){$f={$blk:Q};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.MustCompile=Q;S=function(a){var a;if(D.CanBackquote(a)){return"`"+a+"`";}return D.Quote(a);};J.ptr.prototype.NumSubexp=function(){var a;a=this;return a.numSubexp;};J.prototype.NumSubexp=function(){return this.$val.NumSubexp();};J.ptr.prototype.SubexpNames=function(){var a;a=this;return a.subexpNames;};J.prototype.SubexpNames=function(){return this.$val.SubexpNames();};J.ptr.prototype.SubexpIndex=function(a){var a,b,c,d,e,f;b=this;if(!(a==="")){c=b.subexpNames;d=0;while(true){if(!(d<c.$length)){break;}e=d;f=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);if(a===f){return e;}d++;}}return-1;};J.prototype.SubexpIndex=function(a){return this.$val.SubexpIndex(a);};U.ptr.prototype.step=function(a){var a,b,c;b=this;if(a<b.str.length){c=b.str.charCodeAt(a);if(c<128){return[((c>>0)),1];}return H.DecodeRuneInString($substring(b.str,a));}return[-1,0];};U.prototype.step=function(a){return this.$val.step(a);};U.ptr.prototype.canCheckPrefix=function(){var a;a=this;return true;};U.prototype.canCheckPrefix=function(){return this.$val.canCheckPrefix();};U.ptr.prototype.hasPrefix=function(a){var a,b;b=this;return E.HasPrefix(b.str,a.prefix);};U.prototype.hasPrefix=function(a){return this.$val.hasPrefix(a);};U.ptr.prototype.index=function(a,b){var a,b,c;c=this;return E.Index($substring(c.str,b),a.prefix);};U.prototype.index=function(a,b){return this.$val.index(a,b);};U.ptr.prototype.context=function(a){var a,b,c,d,e,f,g,h;b=this;c=-1;d=-1;e=c;f=d;if((((a-1>>0)>>>0))<((b.str.length>>>0))){e=((b.str.charCodeAt((a-1>>0))>>0));if(e>=128){g=H.DecodeLastRuneInString($substring(b.str,0,a));e=g[0];}}if(((a>>>0))<((b.str.length>>>0))){f=((b.str.charCodeAt(a)>>0));if(f>=128){h=H.DecodeRuneInString($substring(b.str,a));f=h[0];}}return BC(e,f);};U.prototype.context=function(a){return this.$val.context(a);};V.ptr.prototype.step=function(a){var a,b,c,d;b=this;if(a<b.str.$length){d=(c=b.str,((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]));if(d<128){return[((d>>0)),1];}return H.DecodeRune($subslice(b.str,a));}return[-1,0];};V.prototype.step=function(a){return this.$val.step(a);};V.ptr.prototype.canCheckPrefix=function(){var a;a=this;return true;};V.prototype.canCheckPrefix=function(){return this.$val.canCheckPrefix();};V.ptr.prototype.hasPrefix=function(a){var a,b;b=this;return A.HasPrefix(b.str,a.prefixBytes);};V.prototype.hasPrefix=function(a){return this.$val.hasPrefix(a);};V.ptr.prototype.index=function(a,b){var a,b,c;c=this;return A.Index($subslice(c.str,b),a.prefixBytes);};V.prototype.index=function(a,b){return this.$val.index(a,b);};V.ptr.prototype.context=function(a){var a,b,c,d,e,f,g,h,i,j,k;b=this;c=-1;d=-1;e=c;f=d;if((((a-1>>0)>>>0))<((b.str.$length>>>0))){e=(((g=b.str,h=a-1>>0,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]))>>0));if(e>=128){i=H.DecodeLastRune($subslice(b.str,0,a));e=i[0];}}if(((a>>>0))<((b.str.$length>>>0))){f=(((j=b.str,((a<0||a>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+a]))>>0));if(f>=128){k=H.DecodeRune($subslice(b.str,a));f=k[0];}}return BC(e,f);};V.prototype.context=function(a){return this.$val.context(a);};W.ptr.prototype.step=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(!b.atEOT&&!((a===b.pos))){$s=-1;return[-1,0];}d=b.r.ReadRune();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];g=c[2];if(!($interfaceIsEqual(g,$ifaceNil))){b.atEOT=true;$s=-1;return[-1,0];}b.pos=b.pos+(f)>>0;$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:W.ptr.prototype.step};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};W.prototype.step=function(a){return this.$val.step(a);};W.ptr.prototype.canCheckPrefix=function(){var a;a=this;return false;};W.prototype.canCheckPrefix=function(){return this.$val.canCheckPrefix();};W.ptr.prototype.hasPrefix=function(a){var a,b;b=this;return false;};W.prototype.hasPrefix=function(a){return this.$val.hasPrefix(a);};W.ptr.prototype.index=function(a,b){var a,b,c;c=this;return-1;};W.prototype.index=function(a,b){return this.$val.index(a,b);};W.ptr.prototype.context=function(a){var a,b;b=this;return new BB(0,0);};W.prototype.context=function(a){return this.$val.context(a);};J.ptr.prototype.LiteralPrefix=function(){var a,b,c,d,e;a="";b=false;c=this;d=c.prefix;e=c.prefixComplete;a=d;b=e;return[a,b];};J.prototype.LiteralPrefix=function(){return this.$val.LiteralPrefix();};J.ptr.prototype.MatchReader=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doMatch(a,BZ.nil,"");$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.MatchReader};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.MatchReader=function(a){return this.$val.MatchReader(a);};J.ptr.prototype.MatchString=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doMatch($ifaceNil,BZ.nil,a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.MatchString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.MatchString=function(a){return this.$val.MatchString(a);};J.ptr.prototype.Match=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doMatch($ifaceNil,a,"");$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.Match};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.Match=function(a){return this.$val.Match(a);};J.ptr.prototype.ReplaceAllString=function(a,b){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];c[0]=this;d=2;if(E.Contains(b[0],"$")){d=$imul(2,((c[0].numSubexp+1>>0)));}e=c[0].replaceAll(BZ.nil,a[0],d,(function(a,b,c){return function(e,f){var e,f;return c[0].expand(e,b[0],BZ.nil,a[0],f);};})(a,b,c));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=-1;return($bytesToString(f));}return;}if($f===undefined){$f={$blk:J.ptr.prototype.ReplaceAllString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.ReplaceAllString=function(a,b){return this.$val.ReplaceAllString(a,b);};J.ptr.prototype.ReplaceAllLiteralString=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=this;d=c.replaceAll(BZ.nil,a,2,(function(b){return function(d,e){var d,e;return $appendSlice(d,b[0]);};})(b));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=($bytesToString(d));$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.ReplaceAllLiteralString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.ReplaceAllLiteralString=function(a,b){return this.$val.ReplaceAllLiteralString(a,b);};J.ptr.prototype.ReplaceAllStringFunc=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=this;d=c.replaceAll(BZ.nil,a[0],2,(function(a,b){return function $b(d,e){var d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=d;g=b[0]($substring(a[0],(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=$appendSlice(f,h);$s=2;case 2:return i;}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};})(a,b));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=-1;return($bytesToString(e));}return;}if($f===undefined){$f={$blk:J.ptr.prototype.ReplaceAllStringFunc};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.ReplaceAllStringFunc=function(a,b){return this.$val.ReplaceAllStringFunc(a,b);};J.ptr.prototype.replaceAll=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=0;g=0;h=BZ.nil;i=0;if(!(a===BZ.nil)){i=a.$length;}else{i=b.length;}if(c>e.prog.NumCap){c=e.prog.NumCap;}j=CF.zero();case 1:if(!(g<=i)){$s=2;continue;}k=e.doExecute($ifaceNil,a,b,g,c,$subslice(new CE(j),0,0));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(l.$length===0){$s=2;continue;}if(!(a===BZ.nil)){h=$appendSlice(h,$subslice(a,f,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])));}else{h=$appendSlice(h,$substring(b,f,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])));}if((1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1])>f||((0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])===0)){$s=4;continue;}$s=5;continue;case 4:m=d(h,l);$s=6;case 6:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}h=m;case 5:f=(1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1]);n=0;if(!(a===BZ.nil)){o=H.DecodeRune($subslice(a,g));n=o[1];}else{p=H.DecodeRuneInString($substring(b,g));n=p[1];}if((g+n>>0)>(1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1])){g=g+(n)>>0;}else if((g+1>>0)>(1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1])){g=g+(1)>>0;}else{g=(1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1]);}$s=1;continue;case 2:if(!(a===BZ.nil)){h=$appendSlice(h,$subslice(a,f));}else{h=$appendSlice(h,$substring(b,f));}$s=-1;return h;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.replaceAll};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.replaceAll=function(a,b,c,d){return this.$val.replaceAll(a,b,c,d);};J.ptr.prototype.ReplaceAll=function(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];d=[d];c[0]=this;e=2;if(A.IndexByte(b[0],36)>=0){e=$imul(2,((c[0].numSubexp+1>>0)));}d[0]="";f=c[0].replaceAll(a[0],"",e,(function(a,b,c,d){return function(f,g){var f,g;if(!((d[0].length===b[0].$length))){d[0]=($bytesToString(b[0]));}return c[0].expand(f,d[0],a[0],"",g);};})(a,b,c,d));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=-1;return g;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.ReplaceAll};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.ReplaceAll=function(a,b){return this.$val.ReplaceAll(a,b);};J.ptr.prototype.ReplaceAllLiteral=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=this;d=c.replaceAll(a,"",2,(function(b){return function(d,e){var d,e;return $appendSlice(d,b[0]);};})(b));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.ReplaceAllLiteral};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.ReplaceAllLiteral=function(a,b){return this.$val.ReplaceAllLiteral(a,b);};J.ptr.prototype.ReplaceAllFunc=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=this;d=c.replaceAll(a[0],"",2,(function(a,b){return function $b(d,e){var d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=d;g=b[0]($subslice(a[0],(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=$appendSlice(f,h);$s=2;case 2:return i;}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};})(a,b));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.ReplaceAllFunc};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.ReplaceAllFunc=function(a,b){return this.$val.ReplaceAllFunc(a,b);};AC=function(){var a,b,c,d,e,f,g;a=(new BZ($stringToBytes("\\.+*?()|[]{}^$")));b=0;while(true){if(!(b<a.$length)){break;}c=((b<0||b>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+b]);e=(d=c%16,d===d?d:$throwRuntimeError("integer divide by zero"));((e<0||e>=AA.length)?($throwRuntimeError("index out of range"),undefined):AA[e]=((((e<0||e>=AA.length)?($throwRuntimeError("index out of range"),undefined):AA[e])|(((f=((g=c/16,(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"))),f<32?(1<<f):0)<<24>>>24)))>>>0));b++;}};J.ptr.prototype.pad=function(a){var a,b,c;b=this;if(a===CE.nil){return CE.nil;}c=$imul(((1+b.numSubexp>>0)),2);while(true){if(!(a.$length<c)){break;}a=$append(a,-1);}return a;};J.prototype.pad=function(a){return this.$val.pad(a);};J.ptr.prototype.allMatches=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=0;if(b===BZ.nil){f=a.length;}else{f=b.$length;}g=0;h=0;i=-1;j=g;k=h;l=i;case 1:if(!(k<c&&j<=f)){$s=2;continue;}m=e.doExecute($ifaceNil,b,a,j,e.prog.NumCap,CE.nil);$s=3;case 3:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;if(n.$length===0){$s=2;continue;}o=true;if((1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1])===j){if((0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0])===l){o=false;}p=0;if(b===BZ.nil){q=H.DecodeRuneInString($substring(a,j,f));p=q[1];}else{r=H.DecodeRune($subslice(b,j,f));p=r[1];}if(p>0){j=j+(p)>>0;}else{j=f+1>>0;}}else{j=(1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1]);}l=(1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1]);if(o){$s=4;continue;}$s=5;continue;case 4:$r=d(e.pad(n));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}k=k+(1)>>0;case 5:$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.allMatches};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.allMatches=function(a,b,c,d){return this.$val.allMatches(a,b,c,d);};J.ptr.prototype.Find=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=CF.zero();d=b.doExecute($ifaceNil,a,"",0,2,$subslice(new CE(c),0,0));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===CE.nil){$s=-1;return BZ.nil;}$s=-1;return $subslice(a,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]));}return;}if($f===undefined){$f={$blk:J.ptr.prototype.Find};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.Find=function(a){return this.$val.Find(a);};J.ptr.prototype.FindIndex=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=CE.nil;c=this;d=c.doExecute($ifaceNil,a,"",0,2,CE.nil);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===CE.nil){b=CE.nil;$s=-1;return b;}b=$subslice(e,0,2);$s=-1;return b;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindIndex=function(a){return this.$val.FindIndex(a);};J.ptr.prototype.FindString=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=CF.zero();d=b.doExecute($ifaceNil,BZ.nil,a,0,2,$subslice(new CE(c),0,0));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===CE.nil){$s=-1;return"";}$s=-1;return $substring(a,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]));}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindString=function(a){return this.$val.FindString(a);};J.ptr.prototype.FindStringIndex=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=CE.nil;c=this;d=c.doExecute($ifaceNil,BZ.nil,a,0,2,CE.nil);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===CE.nil){b=CE.nil;$s=-1;return b;}b=$subslice(e,0,2);$s=-1;return b;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindStringIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindStringIndex=function(a){return this.$val.FindStringIndex(a);};J.ptr.prototype.FindReaderIndex=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=CE.nil;c=this;d=c.doExecute(a,BZ.nil,"",0,2,CE.nil);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===CE.nil){b=CE.nil;$s=-1;return b;}b=$subslice(e,0,2);$s=-1;return b;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindReaderIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindReaderIndex=function(a){return this.$val.FindReaderIndex(a);};J.ptr.prototype.FindSubmatch=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=CG.zero();d=b.doExecute($ifaceNil,a,"",0,b.prog.NumCap,$subslice(new CE(c),0,0));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===CE.nil){$s=-1;return CH.nil;}f=$makeSlice(CH,(1+b.numSubexp>>0));g=f;h=0;while(true){if(!(h<g.$length)){break;}i=h;if(($imul(2,i))<e.$length&&(j=$imul(2,i),((j<0||j>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+j]))>=0){((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]=$subslice(a,(k=$imul(2,i),((k<0||k>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+k])),(l=($imul(2,i))+1>>0,((l<0||l>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+l])),(m=($imul(2,i))+1>>0,((m<0||m>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+m]))));}h++;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindSubmatch};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindSubmatch=function(a){return this.$val.FindSubmatch(a);};J.ptr.prototype.Expand=function(a,b,c,d){var a,b,c,d,e;e=this;return e.expand(a,($bytesToString(b)),c,"",d);};J.prototype.Expand=function(a,b,c,d){return this.$val.Expand(a,b,c,d);};J.ptr.prototype.ExpandString=function(a,b,c,d){var a,b,c,d,e;e=this;return e.expand(a,b,BZ.nil,c,d);};J.prototype.ExpandString=function(a,b,c,d){return this.$val.ExpandString(a,b,c,d);};J.ptr.prototype.expand=function(a,b,c,d,e){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=this;while(true){if(!(b.length>0)){break;}g=E.Index(b,"$");if(g<0){break;}a=$appendSlice(a,$substring(b,0,g));b=$substring(b,g);if(b.length>1&&(b.charCodeAt(1)===36)){a=$append(a,36);b=$substring(b,2);continue;}h=AE(b);i=h[0];j=h[1];k=h[2];l=h[3];if(!l){a=$append(a,36);b=$substring(b,1);continue;}b=k;if(j>=0){if((($imul(2,j))+1>>0)<e.$length&&(m=$imul(2,j),((m<0||m>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+m]))>=0){if(!(c===BZ.nil)){a=$appendSlice(a,$subslice(c,(n=$imul(2,j),((n<0||n>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+n])),(o=($imul(2,j))+1>>0,((o<0||o>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+o]))));}else{a=$appendSlice(a,$substring(d,(p=$imul(2,j),((p<0||p>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+p])),(q=($imul(2,j))+1>>0,((q<0||q>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+q]))));}}}else{r=f.subexpNames;s=0;while(true){if(!(s<r.$length)){break;}t=s;u=((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]);if(i===u&&(($imul(2,t))+1>>0)<e.$length&&(v=$imul(2,t),((v<0||v>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+v]))>=0){if(!(c===BZ.nil)){a=$appendSlice(a,$subslice(c,(w=$imul(2,t),((w<0||w>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+w])),(x=($imul(2,t))+1>>0,((x<0||x>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+x]))));}else{a=$appendSlice(a,$substring(d,(y=$imul(2,t),((y<0||y>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+y])),(z=($imul(2,t))+1>>0,((z<0||z>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+z]))));}break;}s++;}}}a=$appendSlice(a,b);return a;};J.prototype.expand=function(a,b,c,d,e){return this.$val.expand(a,b,c,d,e);};AE=function(a){var a,b,c,d,e,f,g,h,i,j,k;b="";c=0;d="";e=false;if(a.length<2||!((a.charCodeAt(0)===36))){return[b,c,d,e];}f=false;if(a.charCodeAt(1)===123){f=true;a=$substring(a,2);}else{a=$substring(a,1);}g=0;while(true){if(!(g<a.length)){break;}h=H.DecodeRuneInString($substring(a,g));i=h[0];j=h[1];if(!G.IsLetter(i)&&!G.IsDigit(i)&&!((i===95))){break;}g=g+(j)>>0;}if(g===0){return[b,c,d,e];}b=$substring(a,0,g);if(f){if(g>=a.length||!((a.charCodeAt(g)===125))){return[b,c,d,e];}g=g+(1)>>0;}c=0;k=0;while(true){if(!(k<b.length)){break;}if(b.charCodeAt(k)<48||57<b.charCodeAt(k)||c>=100000000){c=-1;break;}c=(($imul(c,10))+((b.charCodeAt(k)>>0))>>0)-48>>0;k=k+(1)>>0;}if((b.charCodeAt(0)===48)&&b.length>1){c=-1;}d=$substring(a,g);e=true;return[b,c,d,e];};J.ptr.prototype.FindSubmatchIndex=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doExecute($ifaceNil,a,"",0,b.prog.NumCap,CE.nil);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=b.pad(c);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=3;case 3:return e;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindSubmatchIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindSubmatchIndex=function(a){return this.$val.FindSubmatchIndex(a);};J.ptr.prototype.FindStringSubmatch=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=CG.zero();d=b.doExecute($ifaceNil,BZ.nil,a,0,b.prog.NumCap,$subslice(new CE(c),0,0));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===CE.nil){$s=-1;return BY.nil;}f=$makeSlice(BY,(1+b.numSubexp>>0));g=f;h=0;while(true){if(!(h<g.$length)){break;}i=h;if(($imul(2,i))<e.$length&&(j=$imul(2,i),((j<0||j>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+j]))>=0){((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]=$substring(a,(k=$imul(2,i),((k<0||k>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+k])),(l=($imul(2,i))+1>>0,((l<0||l>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+l]))));}h++;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindStringSubmatch};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindStringSubmatch=function(a){return this.$val.FindStringSubmatch(a);};J.ptr.prototype.FindStringSubmatchIndex=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doExecute($ifaceNil,BZ.nil,a,0,b.prog.NumCap,CE.nil);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=b.pad(c);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=3;case 3:return e;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindStringSubmatchIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindStringSubmatchIndex=function(a){return this.$val.FindStringSubmatchIndex(a);};J.ptr.prototype.FindReaderSubmatchIndex=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doExecute(a,BZ.nil,"",0,b.prog.NumCap,CE.nil);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=b.pad(c);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=3;case 3:return e;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindReaderSubmatchIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindReaderSubmatchIndex=function(a){return this.$val.FindReaderSubmatchIndex(a);};J.ptr.prototype.FindAll=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];c=[c];d=this;if(b<0){b=a[0].$length+1>>0;}c[0]=CH.nil;$r=d.allMatches("",a[0],b,(function(a,c){return function(e){var e;if(c[0]===CH.nil){c[0]=$makeSlice(CH,0,10);}c[0]=$append(c[0],$subslice(a[0],(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])));};})(a,c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindAll};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindAll=function(a,b){return this.$val.FindAll(a,b);};J.ptr.prototype.FindAllIndex=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;if(b<0){b=a.$length+1>>0;}c[0]=CI.nil;$r=d.allMatches("",a,b,(function(c){return function(e){var e;if(c[0]===CI.nil){c[0]=$makeSlice(CI,0,10);}c[0]=$append(c[0],$subslice(e,0,2));};})(c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindAllIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindAllIndex=function(a,b){return this.$val.FindAllIndex(a,b);};J.ptr.prototype.FindAllString=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];c=[c];d=this;if(b<0){b=a[0].length+1>>0;}c[0]=BY.nil;$r=d.allMatches(a[0],BZ.nil,b,(function(a,c){return function(e){var e;if(c[0]===BY.nil){c[0]=$makeSlice(BY,0,10);}c[0]=$append(c[0],$substring(a[0],(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])));};})(a,c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindAllString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindAllString=function(a,b){return this.$val.FindAllString(a,b);};J.ptr.prototype.FindAllStringIndex=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;if(b<0){b=a.length+1>>0;}c[0]=CI.nil;$r=d.allMatches(a,BZ.nil,b,(function(c){return function(e){var e;if(c[0]===CI.nil){c[0]=$makeSlice(CI,0,10);}c[0]=$append(c[0],$subslice(e,0,2));};})(c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindAllStringIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindAllStringIndex=function(a,b){return this.$val.FindAllStringIndex(a,b);};J.ptr.prototype.FindAllSubmatch=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];c=[c];d=this;if(b<0){b=a[0].$length+1>>0;}c[0]=CJ.nil;$r=d.allMatches("",a[0],b,(function(a,c){return function(e){var e,f,g,h,i,j,k,l,m,n;if(c[0]===CJ.nil){c[0]=$makeSlice(CJ,0,10);}g=$makeSlice(CH,(f=e.$length/2,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero")));h=g;i=0;while(true){if(!(i<h.$length)){break;}j=i;if((k=$imul(2,j),((k<0||k>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+k]))>=0){((j<0||j>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+j]=$subslice(a[0],(l=$imul(2,j),((l<0||l>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+l])),(m=($imul(2,j))+1>>0,((m<0||m>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+m])),(n=($imul(2,j))+1>>0,((n<0||n>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+n]))));}i++;}c[0]=$append(c[0],g);};})(a,c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindAllSubmatch};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindAllSubmatch=function(a,b){return this.$val.FindAllSubmatch(a,b);};J.ptr.prototype.FindAllSubmatchIndex=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;if(b<0){b=a.$length+1>>0;}c[0]=CI.nil;$r=d.allMatches("",a,b,(function(c){return function(e){var e;if(c[0]===CI.nil){c[0]=$makeSlice(CI,0,10);}c[0]=$append(c[0],e);};})(c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindAllSubmatchIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindAllSubmatchIndex=function(a,b){return this.$val.FindAllSubmatchIndex(a,b);};J.ptr.prototype.FindAllStringSubmatch=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];c=[c];d=this;if(b<0){b=a[0].length+1>>0;}c[0]=CK.nil;$r=d.allMatches(a[0],BZ.nil,b,(function(a,c){return function(e){var e,f,g,h,i,j,k,l,m;if(c[0]===CK.nil){c[0]=$makeSlice(CK,0,10);}g=$makeSlice(BY,(f=e.$length/2,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero")));h=g;i=0;while(true){if(!(i<h.$length)){break;}j=i;if((k=$imul(2,j),((k<0||k>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+k]))>=0){((j<0||j>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+j]=$substring(a[0],(l=$imul(2,j),((l<0||l>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+l])),(m=($imul(2,j))+1>>0,((m<0||m>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+m]))));}i++;}c[0]=$append(c[0],g);};})(a,c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindAllStringSubmatch};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindAllStringSubmatch=function(a,b){return this.$val.FindAllStringSubmatch(a,b);};J.ptr.prototype.FindAllStringSubmatchIndex=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;if(b<0){b=a.length+1>>0;}c[0]=CI.nil;$r=d.allMatches(a,BZ.nil,b,(function(c){return function(e){var e;if(c[0]===CI.nil){c[0]=$makeSlice(CI,0,10);}c[0]=$append(c[0],e);};})(c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:J.ptr.prototype.FindAllStringSubmatchIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.FindAllStringSubmatchIndex=function(a,b){return this.$val.FindAllStringSubmatchIndex(a,b);};J.ptr.prototype.Split=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b===0){$s=-1;return BY.nil;}if(c.expr.length>0&&(a.length===0)){$s=-1;return new BY([""]);}d=c.FindAllStringIndex(a,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=$makeSlice(BY,0,e.$length);g=0;h=0;i=e;j=0;while(true){if(!(j<i.$length)){break;}k=((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);if(b>0&&f.$length>=(b-1>>0)){break;}h=(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0]);if(!(((1>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+1])===0))){f=$append(f,$substring(a,g,h));}g=(1>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+1]);j++;}if(!((h===a.length))){f=$append(f,$substring(a,g));}$s=-1;return f;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.Split};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.Split=function(a,b){return this.$val.Split(a,b);};AH=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b="";c=false;d=0;g=(e=a.Inst,f=a.Start,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));if(!((g.Op===3))||((((((g.Arg<<24>>>24)))&4)>>>0)===0)){h="";i=g.Op===4;j=((a.Start>>>0));b=h;c=i;d=j;return[b,c,d];}d=g.Out;g=(k=a.Inst,((d<0||d>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+d]));while(true){if(!(g.Op===6)){break;}d=g.Out;g=(l=a.Inst,((d<0||d>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+d]));}if(!((AJ(g)===7))||!((g.Rune.$length===1))){m="";n=g.Op===4;o=((a.Start>>>0));b=m;c=n;d=o;return[b,c,d];}p=new E.Builder.ptr(CL.nil,BZ.nil);while(true){if(!((AJ(g)===7)&&(g.Rune.$length===1)&&(((((g.Arg<<16>>>16))&1)>>>0)===0))){break;}p.WriteRune((q=g.Rune,(0>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+0])));r=g.Out;s=(t=a.Inst,u=g.Out,((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]));d=r;g=s;}if((g.Op===3)&&!((((((g.Arg<<24>>>24))&8)>>>0)===0))&&((v=a.Inst,w=g.Out,((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w])).Op===4)){c=true;}x=p.String();y=c;z=d;b=x;c=y;d=z;return[b,c,d];};AI=function(a,b){var a,b,c,d;c=a.Inst.MatchRunePos(b);if(c>=0){return(d=a.Next,((c<0||c>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+c]));}if(a.Inst.Op===1){return a.Inst.Out;}return 0;};AJ=function(a){var a,b,c;b=a.Op;c=b;if((c===(8))||(c===(9))||(c===(10))){b=7;}return b;};AK.ptr.prototype.empty=function(){var a;a=this;return a.nextIndex>=a.size;};AK.prototype.empty=function(){return this.$val.empty();};AK.ptr.prototype.next=function(){var a,b,c,d;a=0;b=this;a=(c=b.dense,d=b.nextIndex,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]));b.nextIndex=b.nextIndex+(1)>>>0;return a;};AK.prototype.next=function(){return this.$val.next();};AK.ptr.prototype.clear=function(){var a;a=this;a.size=0;a.nextIndex=0;};AK.prototype.clear=function(){return this.$val.clear();};AK.ptr.prototype.contains=function(a){var a,b,c,d,e,f;b=this;if(a>=((b.sparse.$length>>>0))){return false;}return(c=b.sparse,((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]))<b.size&&((d=b.dense,e=(f=b.sparse,((a<0||a>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+a])),((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]))===a);};AK.prototype.contains=function(a){return this.$val.contains(a);};AK.ptr.prototype.insert=function(a){var a,b;b=this;if(!b.contains(a)){b.insertNew(a);}};AK.prototype.insert=function(a){return this.$val.insert(a);};AK.ptr.prototype.insertNew=function(a){var a,b,c,d,e;b=this;if(a>=((b.sparse.$length>>>0))){return;}(c=b.sparse,((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]=b.size));(d=b.dense,e=b.size,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]=a));b.size=b.size+(1)>>>0;};AK.prototype.insertNew=function(a){return this.$val.insertNew(a);};AL=function(a){var a,b;b=CM.nil;b=new AK.ptr($makeSlice(BU,a),$makeSlice(BU,a),0,0);return b;};AO=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);e=[e];f=[f];g=[g];h=[h];i=[i];j=[j];k=a.$get().$length;l=b.$get().$length;if(!(((k&1)===0))||!(((l&1)===0))){$panic(new $String("mergeRuneSets odd length []rune"));}m=0;n=0;f[0]=m;j[0]=n;g[0]=$makeSlice(BT,0);h[0]=$makeSlice(BU,0);i[0]=true;$deferred.push([(function(e,f,g,h,i,j){return function(){if(!i[0]){g[0]=BT.nil;h[0]=BU.nil;}};})(e,f,g,h,i,j),[]]);e[0]=-1;o=(function(e,f,g,h,i,j){return function(o,p,q){var o,p,q,r,s,t,u,v,w;if(e[0]>0&&(r=p.$get(),s=o.$get(),((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]))<=((e[0]<0||e[0]>=g[0].$length)?($throwRuntimeError("index out of range"),undefined):g[0].$array[g[0].$offset+e[0]])){return false;}g[0]=$append(g[0],(t=p.$get(),u=o.$get(),((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u])),(v=p.$get(),w=o.$get()+1>>0,((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w])));o.$set(o.$get()+(2)>>0);e[0]=e[0]+(2)>>0;h[0]=$append(h[0],q);return true;};})(e,f,g,h,i,j);case 1:if(!(f[0]<k||j[0]<l)){$s=2;continue;}if(j[0]>=l){$s=4;continue;}if(f[0]>=k){$s=5;continue;}if((p=b.$get(),((j[0]<0||j[0]>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+j[0]]))<(q=a.$get(),((f[0]<0||f[0]>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+f[0]]))){$s=6;continue;}$s=7;continue;case 4:r=o((f.$ptr||(f.$ptr=new CN(function(){return this.$target[0];},function($v){this.$target[0]=$v;},f))),a,c);$s=9;case 9:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}i[0]=r;$s=8;continue;case 5:s=o((j.$ptr||(j.$ptr=new CN(function(){return this.$target[0];},function($v){this.$target[0]=$v;},j))),b,d);$s=10;case 10:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}i[0]=s;$s=8;continue;case 6:t=o((j.$ptr||(j.$ptr=new CN(function(){return this.$target[0];},function($v){this.$target[0]=$v;},j))),b,d);$s=11;case 11:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}i[0]=t;$s=8;continue;case 7:u=o((f.$ptr||(f.$ptr=new CN(function(){return this.$target[0];},function($v){this.$target[0]=$v;},f))),a,c);$s=12;case 12:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}i[0]=u;case 8:case 3:if(!i[0]){$s=13;continue;}$s=14;continue;case 13:v=[AM,AN];$s=15;case 15:return v;case 14:$s=1;continue;case 2:w=[g[0],h[0]];$s=16;case 16:return w;}return;}}catch(err){$err=err;$s=-1;return[BT.nil,BU.nil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AO};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AP=function(a,b){var a,b,c,d,e,f,g,h,i,j;c=b.Inst;d=0;while(true){if(!(d<c.$length)){break;}e=d;f=$clone(((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),C.Inst);g=f.Op;if((g===(0))||(g===(1))||(g===(7))){}else if((g===(2))||(g===(3))||(g===(6))||(g===(4))||(g===(5))){(h=a.Inst,((e<0||e>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+e])).Next=BU.nil;}else if((g===(8))||(g===(9))||(g===(10))){(i=a.Inst,((e<0||e>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+e])).Next=BU.nil;AG.copy((j=a.Inst,((e<0||e>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+e])),new AG.ptr($clone(f,C.Inst),BU.nil));}d++;}};AQ=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=new AF.ptr($makeSlice(CO,a.Inst.$length),a.Start,a.NumCap);c=a.Inst;d=0;while(true){if(!(d<c.$length)){break;}e=d;f=$clone(((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),C.Inst);AG.copy((g=b.Inst,((e<0||e>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+e])),new AG.ptr($clone(f,C.Inst),BU.nil));d++;}h=b.Inst;i=0;while(true){if(!(i<h.$length)){break;}j=i;l=(k=b.Inst,((j<0||j>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+j])).Inst.Op;if((l===(0))||(l===(1))){o=(m=(n=b.Inst,((j<0||j>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+j])),(m.$ptr_Out||(m.$ptr_Out=new CP(function(){return this.$target.Inst.Out;},function($v){this.$target.Inst.Out=$v;},m))));r=(p=(q=b.Inst,((j<0||j>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+j])),(p.$ptr_Arg||(p.$ptr_Arg=new CP(function(){return this.$target.Inst.Arg;},function($v){this.$target.Inst.Arg=$v;},p))));u=$clone((s=b.Inst,t=r.$get(),((t<0||t>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+t])),AG);if(!((u.Inst.Op===0)||(u.Inst.Op===1))){v=o;w=r;r=v;o=w;AG.copy(u,(x=b.Inst,y=r.$get(),((y<0||y>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+y])));if(!((u.Inst.Op===0)||(u.Inst.Op===1))){i++;continue;}}ab=$clone((z=b.Inst,aa=o.$get(),((aa<0||aa>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+aa])),AG);if((ab.Inst.Op===0)||(ab.Inst.Op===1)){i++;continue;}af=(ac=(ad=b.Inst,ae=r.$get(),((ae<0||ae>=ad.$length)?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+ae])),(ac.$ptr_Out||(ac.$ptr_Out=new CP(function(){return this.$target.Inst.Out;},function($v){this.$target.Inst.Out=$v;},ac))));aj=(ag=(ah=b.Inst,ai=r.$get(),((ai<0||ai>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ai])),(ag.$ptr_Arg||(ag.$ptr_Arg=new CP(function(){return this.$target.Inst.Arg;},function($v){this.$target.Inst.Arg=$v;},ag))));ak=false;if(u.Inst.Out===((j>>>0))){ak=true;}else if(u.Inst.Arg===((j>>>0))){ak=true;al=aj;am=af;af=al;aj=am;}if(ak){af.$set(o.$get());}if(o.$get()===af.$get()){r.$set(aj.$get());}}else{i++;continue;}i++;}return b;};AR.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AR).prototype.Len=function(){return this.$get().Len();};AR.prototype.Less=function(a,b){var a,b,c;c=this;return((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a])<((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]);};$ptrType(AR).prototype.Less=function(a,b){return this.$get().Less(a,b);};AR.prototype.Swap=function(a,b){var a,b,c,d,e;c=this;d=((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]);e=((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]);((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]=d);((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]=e);};$ptrType(AR).prototype.Swap=function(a,b){return this.$get().Swap(a,b);};AU=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];d=[d];e=[e];if(a[0].Inst.$length>=1000){$s=-1;return BX.nil;}c[0]=AL(a[0].Inst.$length);e[0]=AL(a[0].Inst.$length);b[0]=$throwNilPointerError;d[0]=$makeSlice(CQ,a[0].Inst.$length);b[0]=(function(a,b,c,d,e){return function $b(f,g){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=false;h=true;j=(i=a[0].Inst,((f<0||f>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+f]));if(e[0].contains(f)){$s=-1;return h;}e[0].insert(f);k=j.Inst.Op;if((k===(0))||(k===(1))){$s=2;continue;}if((k===(2))||(k===(6))){$s=3;continue;}if(k===(3)){$s=4;continue;}if((k===(4))||(k===(5))){$s=5;continue;}if(k===(7)){$s=6;continue;}if(k===(8)){$s=7;continue;}if(k===(9)){$s=8;continue;}if(k===(10)){$s=9;continue;}$s=10;continue;case 2:m=b[0](j.Inst.Out,g);$s=12;case 12:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(!(m)){l=false;$s=11;continue s;}n=b[0](j.Inst.Arg,g);$s=13;case 13:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}l=n;case 11:h=l;p=(o=j.Inst.Out,((o<0||o>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+o]));r=(q=j.Inst.Arg,((q<0||q>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+q]));if(p&&r){h=false;$s=1;continue;}if(r){s=j.Inst.Arg;t=j.Inst.Out;j.Inst.Out=s;j.Inst.Arg=t;u=r;v=p;p=u;r=v;}if(p){((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=true);j.Inst.Op=1;}x=AO($indexPtr(d[0].$array,d[0].$offset+j.Inst.Out,CR),$indexPtr(d[0].$array,d[0].$offset+j.Inst.Arg,CR),j.Inst.Out,j.Inst.Arg);$s=14;case 14:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=w[0]);j.Next=w[1];if(j.Next.$length>0&&((y=j.Next,(0>=y.$length?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+0]))===4294967295)){h=false;$s=1;continue;}$s=10;continue;case 3:z=b[0](j.Inst.Out,g);$s=15;case 15:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}h=z;((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=(aa=j.Inst.Out,((aa<0||aa>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+aa])));((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=$appendSlice(new BT([]),(ab=j.Inst.Out,((ab<0||ab>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+ab]))));j.Next=$makeSlice(BU,((ac=((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]).$length/2,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>0:$throwRuntimeError("integer divide by zero"))+1>>0));ad=j.Next;ae=0;while(true){if(!(ae<ad.$length)){break;}af=ae;(ag=j.Next,((af<0||af>=ag.$length)?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+af]=j.Inst.Out));ae++;}$s=10;continue;case 4:ah=b[0](j.Inst.Out,g);$s=16;case 16:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}h=ah;((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=(ai=j.Inst.Out,((ai<0||ai>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+ai])));((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=$appendSlice(new BT([]),(aj=j.Inst.Out,((aj<0||aj>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+aj]))));j.Next=$makeSlice(BU,((ak=((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]).$length/2,(ak===ak&&ak!==1/0&&ak!==-1/0)?ak>>0:$throwRuntimeError("integer divide by zero"))+1>>0));al=j.Next;am=0;while(true){if(!(am<al.$length)){break;}an=am;(ao=j.Next,((an<0||an>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+an]=j.Inst.Out));am++;}$s=10;continue;case 5:((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=(j.Inst.Op===4));$s=10;continue;case 6:((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=false);if(j.Next.$length>0){$s=1;continue;}c[0].insert(j.Inst.Out);if(j.Inst.Rune.$length===0){((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=new BT([]));j.Next=new BU([j.Inst.Out]);$s=1;continue;}ap=$makeSlice(BT,0);if((j.Inst.Rune.$length===1)&&!((((((j.Inst.Arg<<16>>>16))&1)>>>0)===0))){$s=17;continue;}$s=18;continue;case 17:ar=(aq=j.Inst.Rune,(0>=aq.$length?($throwRuntimeError("index out of range"),undefined):aq.$array[aq.$offset+0]));ap=$append(ap,ar,ar);as=G.SimpleFold(ar);while(true){if(!(!((as===ar)))){break;}ap=$append(ap,as,as);as=G.SimpleFold(as);}$r=I.Sort(($convertSliceType(ap,AR)));$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=19;continue;case 18:ap=$appendSlice(ap,j.Inst.Rune);case 19:((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=ap);j.Next=$makeSlice(BU,((at=((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]).$length/2,(at===at&&at!==1/0&&at!==-1/0)?at>>0:$throwRuntimeError("integer divide by zero"))+1>>0));au=j.Next;av=0;while(true){if(!(av<au.$length)){break;}aw=av;(ax=j.Next,((aw<0||aw>=ax.$length)?($throwRuntimeError("index out of range"),undefined):ax.$array[ax.$offset+aw]=j.Inst.Out));av++;}j.Inst.Op=7;$s=10;continue;case 7:((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=false);if(j.Next.$length>0){$s=1;continue;}c[0].insert(j.Inst.Out);ay=new BT([]);if(!((((((j.Inst.Arg<<16>>>16))&1)>>>0)===0))){$s=21;continue;}$s=22;continue;case 21:ba=(az=j.Inst.Rune,(0>=az.$length?($throwRuntimeError("index out of range"),undefined):az.$array[az.$offset+0]));ay=$append(ay,ba,ba);bb=G.SimpleFold(ba);while(true){if(!(!((bb===ba)))){break;}ay=$append(ay,bb,bb);bb=G.SimpleFold(bb);}$r=I.Sort(($convertSliceType(ay,AR)));$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=23;continue;case 22:ay=$append(ay,(bc=j.Inst.Rune,(0>=bc.$length?($throwRuntimeError("index out of range"),undefined):bc.$array[bc.$offset+0])),(bd=j.Inst.Rune,(0>=bd.$length?($throwRuntimeError("index out of range"),undefined):bd.$array[bd.$offset+0])));case 23:((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=ay);j.Next=$makeSlice(BU,((be=((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]).$length/2,(be===be&&be!==1/0&&be!==-1/0)?be>>0:$throwRuntimeError("integer divide by zero"))+1>>0));bf=j.Next;bg=0;while(true){if(!(bg<bf.$length)){break;}bh=bg;(bi=j.Next,((bh<0||bh>=bi.$length)?($throwRuntimeError("index out of range"),undefined):bi.$array[bi.$offset+bh]=j.Inst.Out));bg++;}j.Inst.Op=7;$s=10;continue;case 8:((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=false);if(j.Next.$length>0){$s=1;continue;}c[0].insert(j.Inst.Out);((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=$appendSlice(new BT([]),AT));j.Next=new BU([j.Inst.Out]);$s=10;continue;case 9:((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=false);if(j.Next.$length>0){$s=1;continue;}c[0].insert(j.Inst.Out);((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=$appendSlice(new BT([]),AS));j.Next=$makeSlice(BU,((bj=((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]).$length/2,(bj===bj&&bj!==1/0&&bj!==-1/0)?bj>>0:$throwRuntimeError("integer divide by zero"))+1>>0));bk=j.Next;bl=0;while(true){if(!(bl<bk.$length)){break;}bm=bl;(bn=j.Next,((bm<0||bm>=bn.$length)?($throwRuntimeError("index out of range"),undefined):bn.$array[bn.$offset+bm]=j.Inst.Out));bl++;}case 10:case 1:$s=-1;return h;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};})(a,b,c,d,e);c[0].clear();c[0].insert(((a[0].Start>>>0)));f=$makeSlice(CS,a[0].Inst.$length);case 1:if(!(!c[0].empty())){$s=2;continue;}e[0].clear();g=c[0].next();h=b[0](g,f);$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(!h){$s=3;continue;}$s=4;continue;case 3:a[0]=BX.nil;$s=2;continue;case 4:$s=1;continue;case 2:if(!(a[0]===BX.nil)){i=a[0].Inst;j=0;while(true){if(!(j<i.$length)){break;}k=j;(l=a[0].Inst,((k<0||k>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+k])).Inst.Rune=((k<0||k>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+k]);j++;}}$s=-1;return a[0];}return;}if($f===undefined){$f={$blk:AU};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AV=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=BX.nil;if(a.Start===0){b=BX.nil;$s=-1;return b;}if(!(((c=a.Inst,d=a.Start,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).Op===3))||!(((((((e=a.Inst,f=a.Start,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f])).Arg<<24>>>24))&4)>>>0)===4))){b=BX.nil;$s=-1;return b;}g=a.Inst;h=0;while(true){if(!(h<g.$length)){break;}i=$clone(((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]),C.Inst);l=(j=a.Inst,k=i.Out,((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k])).Op;m=i.Op;if((m===(0))||(m===(1))){if((l===4)||((n=a.Inst,o=i.Arg,((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o])).Op===4)){b=BX.nil;$s=-1;return b;}}else if(m===(3)){if(l===4){if(((((i.Arg<<24>>>24))&8)>>>0)===8){h++;continue;}b=BX.nil;$s=-1;return b;}}else if(l===4){b=BX.nil;$s=-1;return b;}h++;}b=AQ(a);p=AU(b);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}b=p;if(!(b===BX.nil)){AP(b,a);}b=b;$s=-1;return b;}return;}if($f===undefined){$f={$blk:AV};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BA.ptr.prototype.newBytes=function(a){var a,b;b=this;b.bytes.str=a;return b.bytes;};BA.prototype.newBytes=function(a){return this.$val.newBytes(a);};BA.ptr.prototype.newString=function(a){var a,b;b=this;b.string.str=a;return b.string;};BA.prototype.newString=function(a){return this.$val.newString(a);};BA.ptr.prototype.newReader=function(a){var a,b;b=this;b.reader.r=a;b.reader.atEOT=false;b.reader.pos=0;return b.reader;};BA.prototype.newReader=function(a){return this.$val.newReader(a);};BA.ptr.prototype.clear=function(){var a;a=this;if(!(a.bytes.str===BZ.nil)){a.bytes.str=BZ.nil;}else if(!($interfaceIsEqual(a.reader.r,$ifaceNil))){a.reader.r=$ifaceNil;}else{a.string.str="";}};BA.prototype.clear=function(){return this.$val.clear();};BA.ptr.prototype.init=function(a,b,c){var a,b,c,d;d=this;if(!($interfaceIsEqual(a,$ifaceNil))){return[d.newReader(a),0];}if(!(b===BZ.nil)){return[d.newBytes(b),b.$length];}return[d.newString(c),c.length];};BA.prototype.init=function(a,b,c){return this.$val.init(a,b,c);};AZ.ptr.prototype.init=function(a){var a,b,c,d,e;b=this;c=b.pool;d=0;while(true){if(!(d<c.$length)){break;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);e.cap=$subslice(e.cap,0,a);d++;}b.matchcap=$subslice(b.matchcap,0,a);};AZ.prototype.init=function(a){return this.$val.init(a);};AZ.ptr.prototype.alloc=function(a){var a,b,c,d,e,f;b=this;c=CC.nil;d=b.pool.$length;if(d>0){c=(e=b.pool,f=d-1>>0,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));b.pool=$subslice(b.pool,0,(d-1>>0));}else{c=new AY.ptr(CT.nil,CE.nil);c.cap=$makeSlice(CE,b.matchcap.$length,b.matchcap.$capacity);}c.inst=a;return c;};AZ.prototype.alloc=function(a){return this.$val.alloc(a);};BC=function(a,b){var a,b,c,d,e;return((c=(d=$shiftLeft64((new $Uint64(0,a)),32),e=(new $Uint64(0,((b>>>0)))),new $Uint64(d.$high|e.$high,(d.$low|e.$low)>>>0)),new BB(c.$high,c.$low)));};BB.prototype.match=function(a){var a,b,c,d;b=this;if(a===0){return true;}c=(($shiftRightUint64(b,32).$low>>0));if(!((((a&1)>>>0)===0))){if(!((c===10))&&c>=0){return false;}a=(a&~(1))<<24>>>24;}if(!((((a&4)>>>0)===0))){if(c>=0){return false;}a=(a&~(4))<<24>>>24;}if(a===0){return true;}d=((b.$low>>0));if(!((((a&2)>>>0)===0))){if(!((d===10))&&d>=0){return false;}a=(a&~(2))<<24>>>24;}if(!((((a&8)>>>0)===0))){if(d>=0){return false;}a=(a&~(8))<<24>>>24;}if(a===0){return true;}if(!(C.IsWordChar(c)===C.IsWordChar(d))){a=(a&~(16))<<24>>>24;}else{a=(a&~(32))<<24>>>24;}return a===0;};$ptrType(BB).prototype.match=function(a){return this.$get().match(a);};AZ.ptr.prototype.match=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;e=d.re.cond;if(e===255){$s=-1;return false;}d.matched=false;f=d.matchcap;g=0;while(true){if(!(g<f.$length)){break;}h=g;(i=d.matchcap,((h<0||h>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+h]=-1));g++;}j=d.q0;k=d.q1;l=j;m=k;n=-1;o=-1;p=n;q=o;r=0;s=0;t=r;u=s;w=a.step(b);$s=1;case 1:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;p=v[0];t=v[1];if(!((p===-1))){$s=2;continue;}$s=3;continue;case 2:y=a.step(b+t>>0);$s=4;case 4:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;q=x[0];u=x[1];case 3:c[0]=new BB(0,0);if(b===0){$s=5;continue;}$s=6;continue;case 5:c[0]=BC(-1,p);$s=7;continue;case 6:z=a.context(b);$s=8;case 8:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}c[0]=z;case 7:case 9:if(l.dense.$length===0){$s=11;continue;}$s=12;continue;case 11:if(!((((e&4)>>>0)===0))&&!((b===0))){$s=10;continue;}if(d.matched){$s=10;continue;}if(!(d.re.prefix.length>0&&!((q===d.re.prefixRune)))){aa=false;$s=15;continue s;}ab=a.canCheckPrefix();$s=16;case 16:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;case 15:if(aa){$s=13;continue;}$s=14;continue;case 13:ac=a.index(d.re,b);$s=17;case 17:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;if(ad<0){$s=10;continue;}b=b+(ad)>>0;af=a.step(b);$s=18;case 18:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;p=ae[0];t=ae[1];ah=a.step(b+t>>0);$s=19;case 19:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;q=ag[0];u=ag[1];case 14:case 12:if(!d.matched){if(d.matchcap.$length>0){(ai=d.matchcap,(0>=ai.$length?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+0]=b));}d.add(l,((d.p.Start>>>0)),b,d.matchcap,(c.$ptr||(c.$ptr=new CU(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c))),CC.nil);}c[0]=BC(p,q);d.step(l,m,b,b+t>>0,p,(c.$ptr||(c.$ptr=new CU(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c))));if(t===0){$s=10;continue;}if((d.matchcap.$length===0)&&d.matched){$s=10;continue;}b=b+(t)>>0;aj=q;ak=u;p=aj;t=ak;if(!((p===-1))){$s=20;continue;}$s=21;continue;case 20:am=a.step(b+t>>0);$s=22;case 22:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}al=am;q=al[0];u=al[1];case 21:an=m;ao=l;l=an;m=ao;$s=9;continue;case 10:d.clear(m);$s=-1;return d.matched;}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.match};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.match=function(a,b){return this.$val.match(a,b);};AZ.ptr.prototype.clear=function(a){var a,b,c,d,e;b=this;c=a.dense;d=0;while(true){if(!(d<c.$length)){break;}e=$clone(((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),AX);if(!(e.t===CC.nil)){b.pool=$append(b.pool,e.t);}d++;}a.dense=$subslice(a.dense,0,0);};AZ.prototype.clear=function(a){return this.$val.clear(a);};AZ.ptr.prototype.step=function(a,b,c,d,e,f){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;g=this;h=g.re.longest;i=0;while(true){if(!(i<a.dense.$length)){break;}k=(j=a.dense,((i<0||i>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+i]));l=k.t;if(l===CC.nil){i=i+(1)>>0;continue;}if(h&&g.matched&&l.cap.$length>0&&(m=g.matchcap,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]))<(n=l.cap,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0]))){g.pool=$append(g.pool,l);i=i+(1)>>0;continue;}o=l.inst;p=false;q=o.Op;if(q===(4)){if(l.cap.$length>0&&(!h||!g.matched||(r=g.matchcap,(1>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+1]))<c)){(s=l.cap,(1>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+1]=c));$copySlice(g.matchcap,l.cap);}if(!h){t=$subslice(a.dense,(i+1>>0));u=0;while(true){if(!(u<t.$length)){break;}v=$clone(((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]),AX);if(!(v.t===CC.nil)){g.pool=$append(g.pool,v.t);}u++;}a.dense=$subslice(a.dense,0,0);}g.matched=true;}else if(q===(7)){p=o.MatchRune(e);}else if(q===(8)){p=e===(w=o.Rune,(0>=w.$length?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+0]));}else if(q===(9)){p=true;}else if(q===(10)){p=!((e===10));}else{$panic(new $String("bad inst"));}if(p){l=g.add(b,o.Out,d,l.cap,f,l);}if(!(l===CC.nil)){g.pool=$append(g.pool,l);}i=i+(1)>>0;}a.dense=$subslice(a.dense,0,0);};AZ.prototype.step=function(a,b,c,d,e,f){return this.$val.step(a,b,c,d,e,f);};AZ.ptr.prototype.add=function(a,b,c,d,e,f){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s;$s=0;s:while(true){switch($s){case 0:g=this;case 1:if(b===0){$s=-1;return f;}i=(h=a.sparse,((b<0||b>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+b]));if(i<((a.dense.$length>>>0))&&((j=a.dense,((i<0||i>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+i])).pc===b)){$s=-1;return f;}k=a.dense.$length;a.dense=$subslice(a.dense,0,(k+1>>0));m=(l=a.dense,((k<0||k>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+k]));m.t=CC.nil;m.pc=b;(n=a.sparse,((b<0||b>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+b]=((k>>>0))));p=(o=g.p.Inst,((b<0||b>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+b]));q=p.Op;if(q===(5)){$s=3;continue;}if((q===(0))||(q===(1))){$s=4;continue;}if(q===(3)){$s=5;continue;}if(q===(6)){$s=6;continue;}if(q===(2)){$s=7;continue;}if((q===(4))||(q===(7))||(q===(8))||(q===(9))||(q===(10))){$s=8;continue;}$s=9;continue;case 3:$s=10;continue;case 4:f=g.add(a,p.Out,c,d,e,f);b=p.Arg;$s=1;continue;$s=10;continue;case 5:if(e.match(((p.Arg<<24>>>24)))){$s=11;continue;}$s=12;continue;case 11:b=p.Out;$s=1;continue;case 12:$s=10;continue;case 6:b=p.Out;$s=1;continue;$s=10;continue;case 7:if(((p.Arg>>0))<d.$length){$s=13;continue;}$s=14;continue;case 13:s=(r=p.Arg,((r<0||r>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+r]));(t=p.Arg,((t<0||t>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+t]=c));g.add(a,p.Out,c,d,e,CC.nil);(u=p.Arg,((u<0||u>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+u]=s));$s=15;continue;case 14:b=p.Out;$s=1;continue;case 15:$s=10;continue;case 8:if(f===CC.nil){f=g.alloc(p);}else{f.inst=p;}if(d.$length>0&&!((v=f.cap,$indexPtr(v.$array,v.$offset+0,CN))===$indexPtr(d.$array,d.$offset+0,CN))){$copySlice(f.cap,d);}m.t=f;f=CC.nil;$s=10;continue;case 9:$panic(new $String("unhandled"));case 10:case 2:$s=-1;return f;}return;}};AZ.prototype.add=function(a,b,c,d,e,f){return this.$val.add(a,b,c,d,e,f);};BF=function(){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=BE.Get();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}a=$assertType(b,CV,true);c=a[0];d=a[1];if(!d){c=new BD.ptr(new BA.ptr(new V.ptr(BZ.nil),new U.ptr(""),new W.ptr($ifaceNil,false,0)),CE.nil);}$s=-1;return c;}return;}if($f===undefined){$f={$blk:BF};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BG=function(a){var a;a.inputs.clear();BE.Put(a);};J.ptr.prototype.doOnePass=function(a,b,c,d,e,f){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=[g];h=this;i=h.cond;if(i===255){$s=-1;return CE.nil;}j=BF();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(k.matchcap.$capacity<e){k.matchcap=$makeSlice(CE,e);}else{k.matchcap=$subslice(k.matchcap,0,e);}l=false;m=k.matchcap;n=0;while(true){if(!(n<m.$length)){break;}o=n;(p=k.matchcap,((o<0||o>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+o]=-1));n++;}q=k.inputs.init(a,b,c);r=q[0];s=-1;t=-1;u=s;v=t;w=0;x=0;y=w;z=x;ab=r.step(d);$s=2;case 2:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;u=aa[0];y=aa[1];if(!((u===-1))){$s=3;continue;}$s=4;continue;case 3:ad=r.step(d+y>>0);$s=5;case 5:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;v=ac[0];z=ac[1];case 4:ae=new BB(0,0);if(d===0){$s=6;continue;}$s=7;continue;case 6:ae=BC(-1,u);$s=8;continue;case 7:af=r.context(d);$s=9;case 9:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;case 8:ag=h.onepass.Start;g[0]=$clone((ah=h.onepass.Inst,((ag<0||ag>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ag])),AG);if(!((d===0)&&ae.match(((g[0].Inst.Arg<<24>>>24)))&&h.prefix.length>0)){ai=false;$s=12;continue s;}aj=r.canCheckPrefix();$s=13;case 13:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;case 12:if(ai){$s=10;continue;}$s=11;continue;case 10:ak=r.hasPrefix(h);$s=16;case 16:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}if(!ak){$s=14;continue;}$s=15;continue;case 14:$s=17;continue;case 15:d=d+(h.prefix.length)>>0;am=r.step(d);$s=18;case 18:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}al=am;u=al[0];y=al[1];ao=r.step(d+y>>0);$s=19;case 19:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}an=ao;v=an[0];z=an[1];ap=r.context(d);$s=20;case 20:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ae=ap;ag=((h.prefixEnd>>0));case 11:case 21:AG.copy(g[0],(aq=h.onepass.Inst,((ag<0||ag>=aq.$length)?($throwRuntimeError("index out of range"),undefined):aq.$array[aq.$offset+ag])));ag=((g[0].Inst.Out>>0));ar=g[0].Inst.Op;if(ar===(4)){$s=24;continue;}if(ar===(7)){$s=25;continue;}if(ar===(8)){$s=26;continue;}if(ar===(9)){$s=27;continue;}if(ar===(10)){$s=28;continue;}if((ar===(0))||(ar===(1))){$s=29;continue;}if(ar===(5)){$s=30;continue;}if(ar===(6)){$s=31;continue;}if(ar===(3)){$s=32;continue;}if(ar===(2)){$s=33;continue;}$s=34;continue;case 24:l=true;if(k.matchcap.$length>0){(as=k.matchcap,(0>=as.$length?($throwRuntimeError("index out of range"),undefined):as.$array[as.$offset+0]=0));(at=k.matchcap,(1>=at.$length?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+1]=d));}$s=17;continue;$s=35;continue;case 25:if(!g[0].Inst.MatchRune(u)){$s=36;continue;}$s=37;continue;case 36:$s=17;continue;case 37:$s=35;continue;case 26:if(!((u===(au=g[0].Inst.Rune,(0>=au.$length?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+0]))))){$s=38;continue;}$s=39;continue;case 38:$s=17;continue;case 39:$s=35;continue;case 27:$s=35;continue;case 28:if(u===10){$s=40;continue;}$s=41;continue;case 40:$s=17;continue;case 41:$s=35;continue;case 29:ag=((AI(g[0],u)>>0));$s=21;continue;$s=35;continue;case 30:$s=17;continue;$s=35;continue;case 31:$s=21;continue;$s=35;continue;case 32:if(!ae.match(((g[0].Inst.Arg<<24>>>24)))){$s=42;continue;}$s=43;continue;case 42:$s=17;continue;case 43:$s=21;continue;$s=35;continue;case 33:if(((g[0].Inst.Arg>>0))<k.matchcap.$length){(av=k.matchcap,aw=g[0].Inst.Arg,((aw<0||aw>=av.$length)?($throwRuntimeError("index out of range"),undefined):av.$array[av.$offset+aw]=d));}$s=21;continue;$s=35;continue;case 34:$panic(new $String("bad inst"));case 35:case 23:if(y===0){$s=22;continue;}ae=BC(u,v);d=d+(y)>>0;ax=v;ay=z;u=ax;y=ay;if(!((u===-1))){$s=44;continue;}$s=45;continue;case 44:ba=r.step(d+y>>0);$s=46;case 46:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}az=ba;v=az[0];z=az[1];case 45:$s=21;continue;case 22:case 17:if(!l){BG(k);$s=-1;return CE.nil;}f=$appendSlice(f,k.matchcap);BG(k);$s=-1;return f;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.doOnePass};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.doOnePass=function(a,b,c,d,e,f){return this.$val.doOnePass(a,b,c,d,e,f);};J.ptr.prototype.doMatch=function(a,b,c){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.doExecute(a,b,c,0,0,CE.nil);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=!(e===CE.nil);$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.doMatch};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.doMatch=function(a,b,c){return this.$val.doMatch(a,b,c);};J.ptr.prototype.doExecute=function(a,b,c,d,e,f){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this;if(f===CE.nil){f=$subslice(new CE(BH),0,0,0);}if($interfaceIsEqual(a,$ifaceNil)&&(b.$length+c.length>>0)<g.minInputLen){$s=-1;return CE.nil;}if(!(g.onepass===BX.nil)){$s=1;continue;}$s=2;continue;case 1:h=g.doOnePass(a,b,c,d,e,f);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=4;case 4:return i;case 2:if($interfaceIsEqual(a,$ifaceNil)&&(b.$length+c.length>>0)<g.maxBitStateLen){$s=5;continue;}$s=6;continue;case 5:j=g.backtrack(b,c,d,e,f);$s=7;case 7:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=8;case 8:return k;case 6:l=g.get();$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;n=m.inputs.init(a,b,c);o=n[0];m.init(e);p=m.match(o,d);$s=12;case 12:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}if(!p){$s=10;continue;}$s=11;continue;case 10:g.put(m);$s=-1;return CE.nil;case 11:f=$appendSlice(f,m.matchcap);g.put(m);$s=-1;return f;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.doExecute};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.doExecute=function(a,b,c,d,e,f){return this.$val.doExecute(a,b,c,d,e,f);};BL=function(){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=BK.Get();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}a=$assertType(b,CW,true);c=a[0];d=a[1];if(!d){c=new BJ.ptr(0,CE.nil,CE.nil,CX.nil,BU.nil,new BA.ptr(new V.ptr(BZ.nil),new U.ptr(""),new W.ptr($ifaceNil,false,0)));}$s=-1;return c;}return;}if($f===undefined){$f={$blk:BL};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BM=function(a){var a;a.inputs.clear();BK.Put(a);};BN=function(a){var a,b;if(!BO(a)){return 0;}return(b=262144/a.Inst.$length,(b===b&&b!==1/0&&b!==-1/0)?b>>0:$throwRuntimeError("integer divide by zero"));};BO=function(a){var a;return a.Inst.$length<=500;};BJ.ptr.prototype.reset=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;d=this;d.end=b;if(d.jobs.$capacity===0){d.jobs=$makeSlice(CX,0,256);}else{d.jobs=$subslice(d.jobs,0,0);}f=(e=(((($imul(a.Inst.$length,((b+1>>0))))+32>>0)-1>>0))/32,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero"));if(d.visited.$capacity<f){d.visited=$makeSlice(BU,f,8192);}else{d.visited=$subslice(d.visited,0,f);g=d.visited;h=0;while(true){if(!(h<g.$length)){break;}i=h;(j=d.visited,((i<0||i>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+i]=0));h++;}}if(d.cap.$capacity<c){d.cap=$makeSlice(CE,c);}else{d.cap=$subslice(d.cap,0,c);}k=d.cap;l=0;while(true){if(!(l<k.$length)){break;}m=l;(n=d.cap,((m<0||m>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+m]=-1));l++;}if(d.matchcap.$capacity<c){d.matchcap=$makeSlice(CE,c);}else{d.matchcap=$subslice(d.matchcap,0,c);}o=d.matchcap;p=0;while(true){if(!(p<o.$length)){break;}q=p;(r=d.matchcap,((q<0||q>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+q]=-1));p++;}};BJ.prototype.reset=function(a,b,c){return this.$val.reset(a,b,c);};BJ.ptr.prototype.shouldVisit=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m;c=this;d=(((($imul(((a>>0)),((c.end+1>>0))))+b>>0)>>>0));if(!(((((e=c.visited,f=(g=d/32,(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero")),((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]))&(((h=(((d&31)>>>0)),h<32?(1<<h):0)>>>0)))>>>0)===0))){return false;}j=(i=d/32,(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));(m=c.visited,((j<0||j>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+j]=(((k=c.visited,((j<0||j>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+j]))|(((l=(((d&31)>>>0)),l<32?(1<<l):0)>>>0)))>>>0)));return true;};BJ.prototype.shouldVisit=function(a,b){return this.$val.shouldVisit(a,b);};BJ.ptr.prototype.push=function(a,b,c,d){var a,b,c,d,e,f;e=this;if(!(((f=a.prog.Inst,((b<0||b>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+b])).Op===5))&&(d||e.shouldVisit(b,c))){e.jobs=$append(e.jobs,new BI.ptr(b,d,c));}};BJ.prototype.push=function(a,b,c,d){return this.$val.push(a,b,c,d);};J.ptr.prototype.tryBacktrack=function(a,b,c,d){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=e.longest;a.push(e,c,d,false);case 1:if(!(a.jobs.$length>0)){$s=2;continue;}g=a.jobs.$length-1>>0;i=(h=a.jobs,((g<0||g>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+g])).pc;k=(j=a.jobs,((g<0||g>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+g])).pos;m=(l=a.jobs,((g<0||g>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+g])).arg;a.jobs=$subslice(a.jobs,0,g);$s=3;continue;case 4:if(!a.shouldVisit(i,k)){$s=1;continue;}case 3:o=$clone((n=e.prog.Inst,((i<0||i>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+i])),C.Inst);p=o.Op;if(p===(5)){$s=6;continue;}if(p===(0)){$s=7;continue;}if(p===(1)){$s=8;continue;}if(p===(7)){$s=9;continue;}if(p===(8)){$s=10;continue;}if(p===(10)){$s=11;continue;}if(p===(9)){$s=12;continue;}if(p===(2)){$s=13;continue;}if(p===(3)){$s=14;continue;}if(p===(6)){$s=15;continue;}if(p===(4)){$s=16;continue;}$s=17;continue;case 6:$panic(new $String("unexpected InstFail"));$s=18;continue;case 7:if(m){$s=19;continue;}$s=20;continue;case 19:m=false;i=o.Arg;$s=4;continue;$s=21;continue;case 20:a.push(e,i,k,true);i=o.Out;$s=4;continue;case 21:$s=18;continue;case 8:s=(q=e.prog.Inst,r=o.Out,((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r])).Op;if((s===(7))||(s===(8))||(s===(9))||(s===(10))){$s=23;continue;}$s=24;continue;case 23:a.push(e,o.Arg,k,false);i=o.Arg;k=a.end;$s=4;continue;case 24:case 22:a.push(e,o.Out,a.end,false);i=o.Out;$s=4;continue;$s=18;continue;case 9:u=b.step(k);$s=25;case 25:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=t[0];w=t[1];if(!o.MatchRune(v)){$s=1;continue;}k=k+(w)>>0;i=o.Out;$s=4;continue;$s=18;continue;case 10:y=b.step(k);$s=26;case 26:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;z=x[0];aa=x[1];if(!((z===(ab=o.Rune,(0>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0]))))){$s=1;continue;}k=k+(aa)>>0;i=o.Out;$s=4;continue;$s=18;continue;case 11:ad=b.step(k);$s=27;case 27:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;ae=ac[0];af=ac[1];if((ae===10)||(ae===-1)){$s=1;continue;}k=k+(af)>>0;i=o.Out;$s=4;continue;$s=18;continue;case 12:ah=b.step(k);$s=28;case 28:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;ai=ag[0];aj=ag[1];if(ai===-1){$s=1;continue;}k=k+(aj)>>0;i=o.Out;$s=4;continue;$s=18;continue;case 13:if(m){$s=29;continue;}$s=30;continue;case 29:(ak=a.cap,al=o.Arg,((al<0||al>=ak.$length)?($throwRuntimeError("index out of range"),undefined):ak.$array[ak.$offset+al]=k));$s=1;continue;$s=31;continue;case 30:if(o.Arg<((a.cap.$length>>>0))){a.push(e,i,(am=a.cap,an=o.Arg,((an<0||an>=am.$length)?($throwRuntimeError("index out of range"),undefined):am.$array[am.$offset+an])),true);(ao=a.cap,ap=o.Arg,((ap<0||ap>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+ap]=k));}i=o.Out;$s=4;continue;case 31:$s=18;continue;case 14:aq=b.context(k);$s=32;case 32:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=aq;if(!ar.match(((o.Arg<<24>>>24)))){$s=1;continue;}i=o.Out;$s=4;continue;$s=18;continue;case 15:i=o.Out;$s=4;continue;$s=18;continue;case 16:if(a.cap.$length===0){$s=-1;return true;}if(a.cap.$length>1){(as=a.cap,(1>=as.$length?($throwRuntimeError("index out of range"),undefined):as.$array[as.$offset+1]=k));}au=(at=a.matchcap,(1>=at.$length?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+1]));if((au===-1)||(f&&k>0&&k>au)){$copySlice(a.matchcap,a.cap);}if(!f){$s=-1;return true;}if(k===a.end){$s=-1;return true;}$s=1;continue;$s=18;continue;case 17:$panic(new $String("bad inst"));case 18:case 5:$s=1;continue;case 2:$s=-1;return f&&a.matchcap.$length>1&&(av=a.matchcap,(1>=av.$length?($throwRuntimeError("index out of range"),undefined):av.$array[av.$offset+1]))>=0;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.tryBacktrack};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.tryBacktrack=function(a,b,c,d){return this.$val.tryBacktrack(a,b,c,d);};J.ptr.prototype.backtrack=function(a,b,c,d,e){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;g=f.cond;if(g===255){$s=-1;return CE.nil;}if(!((((g&4)>>>0)===0))&&!((c===0))){$s=-1;return CE.nil;}h=BL();$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;j=i.inputs.init($ifaceNil,a,b);k=j[0];l=j[1];i.reset(f.prog,l,d);if(!((((g&4)>>>0)===0))){$s=2;continue;}$s=3;continue;case 2:if(i.cap.$length>0){(m=i.cap,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]=c));}n=f.tryBacktrack(i,k,((f.prog.Start>>>0)),c);$s=7;case 7:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(!n){$s=5;continue;}$s=6;continue;case 5:BM(i);$s=-1;return CE.nil;case 6:$s=4;continue;case 3:o=-1;case 8:if(!(c<=l&&!((o===0)))){$s=9;continue;}if(f.prefix.length>0){$s=10;continue;}$s=11;continue;case 10:p=k.index(f,c);$s=12;case 12:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;if(q<0){BM(i);$s=-1;return CE.nil;}c=c+(q)>>0;case 11:if(i.cap.$length>0){(r=i.cap,(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0]=c));}s=f.tryBacktrack(i,k,((f.prog.Start>>>0)),c);$s=15;case 15:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}if(s){$s=13;continue;}$s=14;continue;case 13:$s=16;continue;case 14:u=k.step(c);$s=17;case 17:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;o=t[1];c=c+(o)>>0;$s=8;continue;case 9:BM(i);$s=-1;return CE.nil;case 4:case 16:e=$appendSlice(e,i.matchcap);BM(i);$s=-1;return e;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.backtrack};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.backtrack=function(a,b,c,d,e){return this.$val.backtrack(a,b,c,d,e);};BV.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Copy",name:"Copy",pkg:"",typ:$funcType([],[BV],false)},{prop:"Longest",name:"Longest",pkg:"",typ:$funcType([],[],false)},{prop:"get",name:"get",pkg:"regexp",typ:$funcType([],[CA],false)},{prop:"put",name:"put",pkg:"regexp",typ:$funcType([CA],[],false)},{prop:"NumSubexp",name:"NumSubexp",pkg:"",typ:$funcType([],[$Int],false)},{prop:"SubexpNames",name:"SubexpNames",pkg:"",typ:$funcType([],[BY],false)},{prop:"SubexpIndex",name:"SubexpIndex",pkg:"",typ:$funcType([$String],[$Int],false)},{prop:"LiteralPrefix",name:"LiteralPrefix",pkg:"",typ:$funcType([],[$String,$Bool],false)},{prop:"MatchReader",name:"MatchReader",pkg:"",typ:$funcType([B.RuneReader],[$Bool],false)},{prop:"MatchString",name:"MatchString",pkg:"",typ:$funcType([$String],[$Bool],false)},{prop:"Match",name:"Match",pkg:"",typ:$funcType([BZ],[$Bool],false)},{prop:"ReplaceAllString",name:"ReplaceAllString",pkg:"",typ:$funcType([$String,$String],[$String],false)},{prop:"ReplaceAllLiteralString",name:"ReplaceAllLiteralString",pkg:"",typ:$funcType([$String,$String],[$String],false)},{prop:"ReplaceAllStringFunc",name:"ReplaceAllStringFunc",pkg:"",typ:$funcType([$String,CY],[$String],false)},{prop:"replaceAll",name:"replaceAll",pkg:"regexp",typ:$funcType([BZ,$String,$Int,CZ],[BZ],false)},{prop:"ReplaceAll",name:"ReplaceAll",pkg:"",typ:$funcType([BZ,BZ],[BZ],false)},{prop:"ReplaceAllLiteral",name:"ReplaceAllLiteral",pkg:"",typ:$funcType([BZ,BZ],[BZ],false)},{prop:"ReplaceAllFunc",name:"ReplaceAllFunc",pkg:"",typ:$funcType([BZ,DA],[BZ],false)},{prop:"pad",name:"pad",pkg:"regexp",typ:$funcType([CE],[CE],false)},{prop:"allMatches",name:"allMatches",pkg:"regexp",typ:$funcType([$String,BZ,$Int,DB],[],false)},{prop:"Find",name:"Find",pkg:"",typ:$funcType([BZ],[BZ],false)},{prop:"FindIndex",name:"FindIndex",pkg:"",typ:$funcType([BZ],[CE],false)},{prop:"FindString",name:"FindString",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"FindStringIndex",name:"FindStringIndex",pkg:"",typ:$funcType([$String],[CE],false)},{prop:"FindReaderIndex",name:"FindReaderIndex",pkg:"",typ:$funcType([B.RuneReader],[CE],false)},{prop:"FindSubmatch",name:"FindSubmatch",pkg:"",typ:$funcType([BZ],[CH],false)},{prop:"Expand",name:"Expand",pkg:"",typ:$funcType([BZ,BZ,BZ,CE],[BZ],false)},{prop:"ExpandString",name:"ExpandString",pkg:"",typ:$funcType([BZ,$String,$String,CE],[BZ],false)},{prop:"expand",name:"expand",pkg:"regexp",typ:$funcType([BZ,$String,BZ,$String,CE],[BZ],false)},{prop:"FindSubmatchIndex",name:"FindSubmatchIndex",pkg:"",typ:$funcType([BZ],[CE],false)},{prop:"FindStringSubmatch",name:"FindStringSubmatch",pkg:"",typ:$funcType([$String],[BY],false)},{prop:"FindStringSubmatchIndex",name:"FindStringSubmatchIndex",pkg:"",typ:$funcType([$String],[CE],false)},{prop:"FindReaderSubmatchIndex",name:"FindReaderSubmatchIndex",pkg:"",typ:$funcType([B.RuneReader],[CE],false)},{prop:"FindAll",name:"FindAll",pkg:"",typ:$funcType([BZ,$Int],[CH],false)},{prop:"FindAllIndex",name:"FindAllIndex",pkg:"",typ:$funcType([BZ,$Int],[CI],false)},{prop:"FindAllString",name:"FindAllString",pkg:"",typ:$funcType([$String,$Int],[BY],false)},{prop:"FindAllStringIndex",name:"FindAllStringIndex",pkg:"",typ:$funcType([$String,$Int],[CI],false)},{prop:"FindAllSubmatch",name:"FindAllSubmatch",pkg:"",typ:$funcType([BZ,$Int],[CJ],false)},{prop:"FindAllSubmatchIndex",name:"FindAllSubmatchIndex",pkg:"",typ:$funcType([BZ,$Int],[CI],false)},{prop:"FindAllStringSubmatch",name:"FindAllStringSubmatch",pkg:"",typ:$funcType([$String,$Int],[CK],false)},{prop:"FindAllStringSubmatchIndex",name:"FindAllStringSubmatchIndex",pkg:"",typ:$funcType([$String,$Int],[CI],false)},{prop:"Split",name:"Split",pkg:"",typ:$funcType([$String,$Int],[BY],false)},{prop:"doOnePass",name:"doOnePass",pkg:"regexp",typ:$funcType([B.RuneReader,BZ,$String,$Int,$Int,CE],[CE],false)},{prop:"doMatch",name:"doMatch",pkg:"regexp",typ:$funcType([B.RuneReader,BZ,$String],[$Bool],false)},{prop:"doExecute",name:"doExecute",pkg:"regexp",typ:$funcType([B.RuneReader,BZ,$String,$Int,$Int,CE],[CE],false)},{prop:"tryBacktrack",name:"tryBacktrack",pkg:"regexp",typ:$funcType([CW,T,$Uint32,$Int],[$Bool],false)},{prop:"backtrack",name:"backtrack",pkg:"regexp",typ:$funcType([BZ,$String,$Int,$Int,CE],[CE],false)}];DC.methods=[{prop:"step",name:"step",pkg:"regexp",typ:$funcType([$Int],[$Int32,$Int],false)},{prop:"canCheckPrefix",name:"canCheckPrefix",pkg:"regexp",typ:$funcType([],[$Bool],false)},{prop:"hasPrefix",name:"hasPrefix",pkg:"regexp",typ:$funcType([BV],[$Bool],false)},{prop:"index",name:"index",pkg:"regexp",typ:$funcType([BV,$Int],[$Int],false)},{prop:"context",name:"context",pkg:"regexp",typ:$funcType([$Int],[BB],false)}];DD.methods=[{prop:"step",name:"step",pkg:"regexp",typ:$funcType([$Int],[$Int32,$Int],false)},{prop:"canCheckPrefix",name:"canCheckPrefix",pkg:"regexp",typ:$funcType([],[$Bool],false)},{prop:"hasPrefix",name:"hasPrefix",pkg:"regexp",typ:$funcType([BV],[$Bool],false)},{prop:"index",name:"index",pkg:"regexp",typ:$funcType([BV,$Int],[$Int],false)},{prop:"context",name:"context",pkg:"regexp",typ:$funcType([$Int],[BB],false)}];DE.methods=[{prop:"step",name:"step",pkg:"regexp",typ:$funcType([$Int],[$Int32,$Int],false)},{prop:"canCheckPrefix",name:"canCheckPrefix",pkg:"regexp",typ:$funcType([],[$Bool],false)},{prop:"hasPrefix",name:"hasPrefix",pkg:"regexp",typ:$funcType([BV],[$Bool],false)},{prop:"index",name:"index",pkg:"regexp",typ:$funcType([BV,$Int],[$Int],false)},{prop:"context",name:"context",pkg:"regexp",typ:$funcType([$Int],[BB],false)}];CM.methods=[{prop:"empty",name:"empty",pkg:"regexp",typ:$funcType([],[$Bool],false)},{prop:"next",name:"next",pkg:"regexp",typ:$funcType([],[$Uint32],false)},{prop:"clear",name:"clear",pkg:"regexp",typ:$funcType([],[],false)},{prop:"contains",name:"contains",pkg:"regexp",typ:$funcType([$Uint32],[$Bool],false)},{prop:"insert",name:"insert",pkg:"regexp",typ:$funcType([$Uint32],[],false)},{prop:"insertNew",name:"insertNew",pkg:"regexp",typ:$funcType([$Uint32],[],false)}];AR.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)}];CA.methods=[{prop:"init",name:"init",pkg:"regexp",typ:$funcType([$Int],[],false)},{prop:"alloc",name:"alloc",pkg:"regexp",typ:$funcType([CT],[CC],false)},{prop:"match",name:"match",pkg:"regexp",typ:$funcType([T,$Int],[$Bool],false)},{prop:"clear",name:"clear",pkg:"regexp",typ:$funcType([DF],[],false)},{prop:"step",name:"step",pkg:"regexp",typ:$funcType([DF,DF,$Int,$Int,$Int32,CU],[],false)},{prop:"add",name:"add",pkg:"regexp",typ:$funcType([DF,$Uint32,$Int,CE,CU,CC],[CC],false)}];DG.methods=[{prop:"newBytes",name:"newBytes",pkg:"regexp",typ:$funcType([BZ],[T],false)},{prop:"newString",name:"newString",pkg:"regexp",typ:$funcType([$String],[T],false)},{prop:"newReader",name:"newReader",pkg:"regexp",typ:$funcType([B.RuneReader],[T],false)},{prop:"clear",name:"clear",pkg:"regexp",typ:$funcType([],[],false)},{prop:"init",name:"init",pkg:"regexp",typ:$funcType([B.RuneReader,BZ,$String],[T,$Int],false)}];BB.methods=[{prop:"match",name:"match",pkg:"regexp",typ:$funcType([C.EmptyOp],[$Bool],false)}];CW.methods=[{prop:"reset",name:"reset",pkg:"regexp",typ:$funcType([BW,$Int,$Int],[],false)},{prop:"shouldVisit",name:"shouldVisit",pkg:"regexp",typ:$funcType([$Uint32,$Int],[$Bool],false)},{prop:"push",name:"push",pkg:"regexp",typ:$funcType([BV,$Uint32,$Int,$Bool],[],false)}];J.init("regexp",[{prop:"expr",name:"expr",embedded:false,exported:false,typ:$String,tag:""},{prop:"prog",name:"prog",embedded:false,exported:false,typ:BW,tag:""},{prop:"onepass",name:"onepass",embedded:false,exported:false,typ:BX,tag:""},{prop:"numSubexp",name:"numSubexp",embedded:false,exported:false,typ:$Int,tag:""},{prop:"maxBitStateLen",name:"maxBitStateLen",embedded:false,exported:false,typ:$Int,tag:""},{prop:"subexpNames",name:"subexpNames",embedded:false,exported:false,typ:BY,tag:""},{prop:"prefix",name:"prefix",embedded:false,exported:false,typ:$String,tag:""},{prop:"prefixBytes",name:"prefixBytes",embedded:false,exported:false,typ:BZ,tag:""},{prop:"prefixRune",name:"prefixRune",embedded:false,exported:false,typ:$Int32,tag:""},{prop:"prefixEnd",name:"prefixEnd",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"mpool",name:"mpool",embedded:false,exported:false,typ:$Int,tag:""},{prop:"matchcap",name:"matchcap",embedded:false,exported:false,typ:$Int,tag:""},{prop:"prefixComplete",name:"prefixComplete",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"cond",name:"cond",embedded:false,exported:false,typ:C.EmptyOp,tag:""},{prop:"minInputLen",name:"minInputLen",embedded:false,exported:false,typ:$Int,tag:""},{prop:"longest",name:"longest",embedded:false,exported:false,typ:$Bool,tag:""}]);T.init([{prop:"canCheckPrefix",name:"canCheckPrefix",pkg:"regexp",typ:$funcType([],[$Bool],false)},{prop:"context",name:"context",pkg:"regexp",typ:$funcType([$Int],[BB],false)},{prop:"hasPrefix",name:"hasPrefix",pkg:"regexp",typ:$funcType([BV],[$Bool],false)},{prop:"index",name:"index",pkg:"regexp",typ:$funcType([BV,$Int],[$Int],false)},{prop:"step",name:"step",pkg:"regexp",typ:$funcType([$Int],[$Int32,$Int],false)}]);U.init("regexp",[{prop:"str",name:"str",embedded:false,exported:false,typ:$String,tag:""}]);V.init("regexp",[{prop:"str",name:"str",embedded:false,exported:false,typ:BZ,tag:""}]);W.init("regexp",[{prop:"r",name:"r",embedded:false,exported:false,typ:B.RuneReader,tag:""},{prop:"atEOT",name:"atEOT",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"pos",name:"pos",embedded:false,exported:false,typ:$Int,tag:""}]);AF.init("",[{prop:"Inst",name:"Inst",embedded:false,exported:true,typ:CO,tag:""},{prop:"Start",name:"Start",embedded:false,exported:true,typ:$Int,tag:""},{prop:"NumCap",name:"NumCap",embedded:false,exported:true,typ:$Int,tag:""}]);AG.init("",[{prop:"Inst",name:"Inst",embedded:true,exported:true,typ:C.Inst,tag:""},{prop:"Next",name:"Next",embedded:false,exported:true,typ:BU,tag:""}]);AK.init("regexp",[{prop:"sparse",name:"sparse",embedded:false,exported:false,typ:BU,tag:""},{prop:"dense",name:"dense",embedded:false,exported:false,typ:BU,tag:""},{prop:"size",name:"size",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"nextIndex",name:"nextIndex",embedded:false,exported:false,typ:$Uint32,tag:""}]);AR.init($Int32);AW.init("regexp",[{prop:"sparse",name:"sparse",embedded:false,exported:false,typ:BU,tag:""},{prop:"dense",name:"dense",embedded:false,exported:false,typ:CB,tag:""}]);AX.init("regexp",[{prop:"pc",name:"pc",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"t",name:"t",embedded:false,exported:false,typ:CC,tag:""}]);AY.init("regexp",[{prop:"inst",name:"inst",embedded:false,exported:false,typ:CT,tag:""},{prop:"cap",name:"cap",embedded:false,exported:false,typ:CE,tag:""}]);AZ.init("regexp",[{prop:"re",name:"re",embedded:false,exported:false,typ:BV,tag:""},{prop:"p",name:"p",embedded:false,exported:false,typ:BW,tag:""},{prop:"q0",name:"q0",embedded:false,exported:false,typ:AW,tag:""},{prop:"q1",name:"q1",embedded:false,exported:false,typ:AW,tag:""},{prop:"pool",name:"pool",embedded:false,exported:false,typ:CD,tag:""},{prop:"matched",name:"matched",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"matchcap",name:"matchcap",embedded:false,exported:false,typ:CE,tag:""},{prop:"inputs",name:"inputs",embedded:false,exported:false,typ:BA,tag:""}]);BA.init("regexp",[{prop:"bytes",name:"bytes",embedded:false,exported:false,typ:V,tag:""},{prop:"string",name:"string",embedded:false,exported:false,typ:U,tag:""},{prop:"reader",name:"reader",embedded:false,exported:false,typ:W,tag:""}]);BD.init("regexp",[{prop:"inputs",name:"inputs",embedded:false,exported:false,typ:BA,tag:""},{prop:"matchcap",name:"matchcap",embedded:false,exported:false,typ:CE,tag:""}]);BI.init("regexp",[{prop:"pc",name:"pc",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"arg",name:"arg",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"pos",name:"pos",embedded:false,exported:false,typ:$Int,tag:""}]);BJ.init("regexp",[{prop:"end",name:"end",embedded:false,exported:false,typ:$Int,tag:""},{prop:"cap",name:"cap",embedded:false,exported:false,typ:CE,tag:""},{prop:"matchcap",name:"matchcap",embedded:false,exported:false,typ:CE,tag:""},{prop:"jobs",name:"jobs",embedded:false,exported:false,typ:CX,tag:""},{prop:"visited",name:"visited",embedded:false,exported:false,typ:BU,tag:""},{prop:"inputs",name:"inputs",embedded:false,exported:false,typ:BA,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}O=BQ.zero();AA=BR.zero();BE=new F.Pool.ptr(BP.nil,$throwNilPointerError);BH=BS.zero();BK=new F.Pool.ptr(BP.nil,$throwNilPointerError);N=$toNativeArray($kindInt,[128,512,2048,16384,0]);AM=new BT([]);AN=new BU([4294967295]);AS=new BT([0,9,11,1114111]);AT=new BT([0,1114111]);AC();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/zclconf/go-cty/cty/function/stdlib"]=(function(){var $pkg={},$init,P,N,R,U,E,G,C,I,D,H,M,S,K,L,V,A,J,F,T,B,Q,O,CM,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EN,EO,EP,EQ,ER,ES,ET,EU,EV,EW,EX,EY,BZ,CA,CB,CC,CD,CE,CF,CG,CH,CI,AB,AS,AT,AY,AZ,BW,CJ,CK,CN,CO,CP,CQ,CR,CS,CT,CU,CW,CX,CY,DB,DD,DE,DF,DG,DY;P=$packages["bufio"];N=$packages["bytes"];R=$packages["encoding/csv"];U=$packages["errors"];E=$packages["fmt"];G=$packages["github.com/apparentlymart/go-textseg/v13/textseg"];C=$packages["github.com/zclconf/go-cty/cty"];I=$packages["github.com/zclconf/go-cty/cty/convert"];D=$packages["github.com/zclconf/go-cty/cty/function"];H=$packages["github.com/zclconf/go-cty/cty/gocty"];M=$packages["github.com/zclconf/go-cty/cty/json"];S=$packages["io"];K=$packages["math"];L=$packages["math/big"];V=$packages["reflect"];A=$packages["regexp"];J=$packages["regexp/syntax"];F=$packages["sort"];T=$packages["strconv"];B=$packages["strings"];Q=$packages["time"];O=$packages["unicode/utf8"];CM=$pkg.formatVerb=$newType(0,$kindStruct,"stdlib.formatVerb",true,"github.com/zclconf/go-cty/cty/function/stdlib",false,function(Raw_,Offset_,ArgNum_,Mode_,Zero_,Sharp_,Plus_,Minus_,Space_,HasPrec_,Prec_,HasWidth_,Width_){this.$val=this;if(arguments.length===0){this.Raw="";this.Offset=0;this.ArgNum=0;this.Mode=0;this.Zero=false;this.Sharp=false;this.Plus=false;this.Minus=false;this.Space=false;this.HasPrec=false;this.Prec=0;this.HasWidth=false;this.Width=0;return;}this.Raw=Raw_;this.Offset=Offset_;this.ArgNum=ArgNum_;this.Mode=Mode_;this.Zero=Zero_;this.Sharp=Sharp_;this.Plus=Plus_;this.Minus=Minus_;this.Space=Space_;this.HasPrec=HasPrec_;this.Prec=Prec_;this.HasWidth=HasWidth_;this.Width=Width_;});EE=$sliceType(D.Parameter);EF=$ptrType(D.Parameter);EG=$sliceType($Uint8);EH=$ptrType($Int);EI=$sliceType($emptyInterface);EJ=$sliceType($String);EK=$sliceType(C.Value);EL=$sliceType(C.Type);EM=$sliceType(C.ValueMarks);EN=$sliceType($Int);EO=$ptrType(L.Int);EP=$ptrType($Float64);EQ=$ptrType($String);ER=$sliceType(C.ElementIterator);ES=$sliceType($Bool);ET=$sliceType(EK);EU=$ptrType(EG);EV=$ptrType(J.Error);EW=$ptrType(Q.ParseError);EX=$ptrType(Q.Location);EY=$ptrType(R.ParseError);AB=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$clone($pkg.StrlenFunc,D.Function).Call(new EK([$clone(a,C.Value)]));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:AB};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Strlen=AB;AS=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new C.Type.ptr($ifaceNil);c=$ifaceNil;d=EL.nil;e=a;f=0;case 1:if(!(f<e.$length)){$s=2;continue;}g=$clone(((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]),C.Value);h=$clone($clone(g,C.Value).Type(),C.Type).ElementType();$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=$clone(h,C.Type);if(!($clone(g,C.Value).IsKnown()&&($clone(g,C.Value).LengthInt()===0))){j=false;$s=6;continue s;}k=$clone(i,C.Type).Equals($clone(C.DynamicPseudoType,C.Type));$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;case 6:if(j){$s=4;continue;}$s=5;continue;case 4:f++;$s=1;continue;case 5:d=$append(d,i);f++;$s=1;continue;case 2:if(d.$length===0){l=$clone(C.Set($clone(C.DynamicPseudoType,C.Type)),C.Type);m=$ifaceNil;C.Type.copy(b,l);c=m;$s=-1;return[b,c];}o=I.UnifyUnsafe(d);$s=8;case 8:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=$clone(n[0],C.Type);if($equal(p,C.NilType,C.Type)){$s=9;continue;}$s=10;continue;case 9:q=$clone(C.NilType,C.Type);s=E.Errorf("given sets must all have compatible element types",new EI([]));$s=11;case 11:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;C.Type.copy(b,q);c=r;t=[b,c];$s=12;case 12:return t;case 10:u=$clone(C.Set($clone(p,C.Type)),C.Type);v=$ifaceNil;C.Type.copy(b,u);c=v;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:AS};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};AT=function(a,b){var a,b;return(function $b(c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);f=$ifaceNil;g=$clone((0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]),C.Value);i=I.Convert($clone(g,C.Value),$clone(d,C.Type));$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;C.Value.copy(g,h[0]);f=h[1];if(!($interfaceIsEqual(f,$ifaceNil))){j=$clone(C.NilVal,C.Value);k=D.NewArgError(0,f);C.Value.copy(e,j);f=k;$s=-1;return[e,f];}if(!(!b)){l=false;$s=4;continue s;}m=$clone(g,C.Value).IsWhollyKnown();$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=!m;case 4:if(l){$s=2;continue;}$s=3;continue;case 2:n=$clone(C.UnknownVal($clone(d,C.Type)),C.Value);o=$ifaceNil;C.Value.copy(e,n);f=o;$s=-1;return[e,f];case 3:p=$clone(g,C.Value).AsValueSet();$s=6;case 6:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=$clone(p,C.ValueSet);r=$subslice(c,1);s=0;case 7:if(!(s<r.$length)){$s=8;continue;}t=s;u=$clone(((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]),C.Value);w=I.Convert($clone(u,C.Value),$clone(d,C.Type));$s=9;case 9:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;x=$clone(v[0],C.Value);y=v[1];if(!($interfaceIsEqual(y,$ifaceNil))){z=$clone(C.NilVal,C.Value);aa=D.NewArgError(t+1>>0,y);C.Value.copy(e,z);f=aa;$s=-1;return[e,f];}if(!(!b)){ab=false;$s=12;continue s;}ac=$clone(x,C.Value).IsWhollyKnown();$s=13;case 13:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=!ac;case 12:if(ab){$s=10;continue;}$s=11;continue;case 10:ad=$clone(C.UnknownVal($clone(d,C.Type)),C.Value);ae=$ifaceNil;C.Value.copy(e,ad);f=ae;$s=-1;return[e,f];case 11:af=$clone(x,C.Value).AsValueSet();$s=14;case 14:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=$clone(af,C.ValueSet);ah=a($clone(q,C.ValueSet),$clone(ag,C.ValueSet));$s=15;case 15:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}C.ValueSet.copy(q,ah);s++;$s=7;continue;case 8:ai=$clone(C.SetValFromValueSet($clone(q,C.ValueSet)),C.Value);aj=$ifaceNil;C.Value.copy(e,ai);f=aj;$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;});};AY=function(a){var a,aa,ab,ac,ad,ae,af,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=A.Compile(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];f=e;if($assertType(f,EV,true)[1]){$s=2;continue;}if($assertType(f,$error,true)[1]){$s=3;continue;}$s=4;continue;case 2:g=f.$val;i=E.Errorf("invalid regexp pattern: %s in %s",new EI([new J.ErrorCode(g.Code),new $String(g.Expr)]));$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=[C.NilType,i];$s=6;case 6:return j;case 3:h=f;k=E.Errorf("error parsing pattern: %s",new EI([h]));$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=[C.NilType,k];$s=8;case 8:return l;case 4:m=$subslice(d.SubexpNames(),1);n=EJ.nil;o=0;p=m;q=0;while(true){if(!(q<p.$length)){break;}r=((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]);if(r===""){o=o+(1)>>0;}else{if(n===EJ.nil){n=$makeSlice(EJ,0,m.$length);}n=$append(n,r);}q++;}if((o===0)&&(n.$length===0)){$s=10;continue;}if(o>0&&n.$length>0){$s=11;continue;}if(o>0){$s=12;continue;}$s=13;continue;case 10:$s=-1;return[C.String,$ifaceNil];case 11:s=E.Errorf("invalid regexp pattern: cannot mix both named and unnamed capture groups",new EI([]));$s=15;case 15:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=[C.NilType,s];$s=16;case 16:return t;case 12:u=$makeSlice(EL,o);v=u;w=0;while(true){if(!(w<v.$length)){break;}x=w;C.Type.copy(((x<0||x>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+x]),C.String);w++;}$s=-1;return[C.Tuple(u),$ifaceNil];case 13:z=(y=n.$length,((y<0||y>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));aa=n;ab=0;while(true){if(!(ab<aa.$length)){break;}ac=((ab<0||ab>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+ab]);ad=ac;(z||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(ad)]={k:ad,v:$clone(C.String,C.Type)};ab++;}ae=C.Object(z);$s=17;case 17:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=[ae,$ifaceNil];$s=18;case 18:return af;case 14:case 9:$s=-1;return[new C.Type.ptr($ifaceNil),$ifaceNil];}return;}if($f===undefined){$f={$blk:AY};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AZ=function(a,b,c,d){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($equal(d,C.String,C.Type)){$s=2;continue;}if($clone(d,C.Type).IsTupleType()){$s=3;continue;}if($clone(d,C.Type).IsObjectType()){$s=4;continue;}$s=5;continue;case 2:e=(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]);f=(1>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+1]);g=e;h=f;i=C.StringVal($substring(b,g,h));$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=8;case 8:return j;case 3:c=$subslice(c,2);l=$makeSlice(EK,(k=c.$length/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero")));m=l;n=0;case 9:if(!(n<m.$length)){$s=10;continue;}o=n;p=(q=$imul(o,2),((q<0||q>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+q]));r=(s=($imul(o,2))+1>>0,((s<0||s>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+s]));t=p;u=r;if(t<0||u<0){C.Value.copy(((o<0||o>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+o]),C.NullVal($clone(C.String,C.Type)));n++;$s=9;continue;}v=C.StringVal($substring(b,t,u));$s=11;case 11:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}C.Value.copy(((o<0||o>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+o]),v);n++;$s=9;continue;case 10:$s=-1;return C.TupleVal(l);case 4:c=$subslice(c,2);y=(w=(x=c.$length/2,(x===x&&x!==1/0&&x!==-1/0)?x>>0:$throwRuntimeError("integer divide by zero")),((w<0||w>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));z=$subslice(a.SubexpNames(),1);aa=z;ab=0;case 12:if(!(ab<aa.$length)){$s=13;continue;}ac=ab;ad=((ab<0||ab>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+ab]);ae=(af=$imul(ac,2),((af<0||af>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+af]));ag=(ah=($imul(ac,2))+1>>0,((ah<0||ah>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+ah]));ai=ae;aj=ag;if(ai<0||aj<0){ak=ad;(y||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(ak)]={k:ak,v:$clone(C.NullVal($clone(C.String,C.Type)),C.Value)};ab++;$s=12;continue;}am=C.StringVal($substring(b,ai,aj));$s=14;case 14:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}al=ad;(y||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(al)]={k:al,v:$clone(am,C.Value)};ab++;$s=12;continue;case 13:an=C.ObjectVal(y);$s=15;case 15:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=an;$s=16;case 16:return ao;case 5:ap=E.Sprintf("invalid return type %#v",new EI([new d.constructor.elem(d)]));$s=17;case 17:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}$panic(new $String(ap));case 6:case 1:$s=-1;return new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);}return;}if($f===undefined){$f={$blk:AZ};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BW=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone($pkg.EqualFunc,D.Function).Call(new EK([$clone(a,C.Value),$clone(b,C.Value)]));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:BW};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Equal=BW;CJ=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=[d];c[0]=new N.Buffer.ptr(EG.nil,0,0);e=a;f=1;d[0]=new CM.ptr("",0,0,0,false,false,false,false,false,false,0,false,0);g=0;h=0;i=e.length;j=0;k=0;l=0;m=i;$unused(k);$unused(l);$unused(m);j=8;n=0;o=0;p=0;q=0;r=0;if(h===i){$s=1;continue;}$s=2;continue;case 1:$s=3;continue;case 2:if(j===0){$s=4;continue;}$s=5;continue;case 4:$s=6;continue;case 5:case 7:r=((((j<0||j>=CA.$length)?($throwRuntimeError("index out of range"),undefined):CA.$array[CA.$offset+j])>>0));o=((((j<0||j>=CE.$length)?($throwRuntimeError("index out of range"),undefined):CE.$array[CE.$offset+j])>>0));n=((((j<0||j>=CC.$length)?($throwRuntimeError("index out of range"),undefined):CC.$array[CC.$offset+j])>>0));if(n>0){$s=8;continue;}$s=9;continue;case 8:s=(r);t=0;u=(((r+n>>0)-1>>0));case 10:if(u<s){$s=11;continue;}t=s+((((u-s>>0))>>1>>0))>>0;if(e.charCodeAt(h)<((t<0||t>=CB.$length)?($throwRuntimeError("index out of range"),undefined):CB.$array[CB.$offset+t])){$s=13;continue;}if(e.charCodeAt(h)>((t<0||t>=CB.$length)?($throwRuntimeError("index out of range"),undefined):CB.$array[CB.$offset+t])){$s=14;continue;}$s=15;continue;case 13:u=t-1>>0;$s=16;continue;case 14:s=t+1>>0;$s=16;continue;case 15:o=o+(((t-(r)>>0)))>>0;$s=17;continue;case 16:case 12:$s=10;continue;case 11:r=r+(n)>>0;o=o+(n)>>0;case 9:n=((((j<0||j>=CD.$length)?($throwRuntimeError("index out of range"),undefined):CD.$array[CD.$offset+j])>>0));if(n>0){$s=18;continue;}$s=19;continue;case 18:v=(r);w=0;x=(((r+((n<<1>>0))>>0)-2>>0));case 20:if(x<v){$s=21;continue;}w=v+((((((x-v>>0))>>1>>0))&-2))>>0;if(e.charCodeAt(h)<((w<0||w>=CB.$length)?($throwRuntimeError("index out of range"),undefined):CB.$array[CB.$offset+w])){$s=23;continue;}if(e.charCodeAt(h)>(y=w+1>>0,((y<0||y>=CB.$length)?($throwRuntimeError("index out of range"),undefined):CB.$array[CB.$offset+y]))){$s=24;continue;}$s=25;continue;case 23:x=w-2>>0;$s=26;continue;case 24:v=w+2>>0;$s=26;continue;case 25:o=o+(((((w-(r)>>0))>>1>>0)))>>0;$s=17;continue;case 26:case 22:$s=20;continue;case 21:o=o+(n)>>0;case 19:case 17:o=((((o<0||o>=CF.$length)?($throwRuntimeError("index out of range"),undefined):CF.$array[CF.$offset+o])>>0));j=((((o<0||o>=CG.$length)?($throwRuntimeError("index out of range"),undefined):CG.$array[CG.$offset+o])>>0));if(((o<0||o>=CH.$length)?($throwRuntimeError("index out of range"),undefined):CH.$array[CH.$offset+o])===0){$s=27;continue;}$s=28;continue;case 27:$s=29;continue;case 28:p=((((o<0||o>=CH.$length)?($throwRuntimeError("index out of range"),undefined):CH.$array[CH.$offset+o])>>0));q=((((p<0||p>=BZ.$length)?($throwRuntimeError("index out of range"),undefined):BZ.$array[BZ.$offset+p])>>>0));p=p+(1)>>0;case 30:if(!(q>0)){$s=31;continue;}p=p+(1)>>0;aa=(z=p-1>>0,((z<0||z>=BZ.$length)?($throwRuntimeError("index out of range"),undefined):BZ.$array[BZ.$offset+z]));if(aa===(0)){$s=33;continue;}if(aa===(1)){$s=34;continue;}if(aa===(4)){$s=35;continue;}if(aa===(5)){$s=36;continue;}if(aa===(6)){$s=37;continue;}if(aa===(7)){$s=38;continue;}if(aa===(8)){$s=39;continue;}if(aa===(9)){$s=40;continue;}if(aa===(10)){$s=41;continue;}if(aa===(11)){$s=42;continue;}if(aa===(12)){$s=43;continue;}if(aa===(13)){$s=44;continue;}if(aa===(14)){$s=45;continue;}if(aa===(15)){$s=46;continue;}if(aa===(16)){$s=47;continue;}if(aa===(17)){$s=48;continue;}if(aa===(18)){$s=49;continue;}$s=50;continue;case 33:CM.copy(d[0],new CM.ptr("",0,f,0,false,false,false,false,false,false,-1,false,-1));k=h;$s=50;continue;case 34:ab=c[0].WriteByte(e.charCodeAt(h));$s=51;case 51:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ab;$s=50;continue;case 35:ac=O.DecodeRuneInString($substring(e,h));ad=ac[0];ae=E.Errorf("unrecognized format character %q at offset %d",new EI([new $Int32(ad),new $Int(h)]));$s=52;case 52:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=[c[0].String(),ae];$s=53;case 53:return af;case 36:d[0].Sharp=true;$s=50;continue;case 37:d[0].Zero=true;$s=50;continue;case 38:d[0].Minus=true;$s=50;continue;case 39:d[0].Plus=true;$s=50;continue;case 40:d[0].Space=true;$s=50;continue;case 41:d[0].ArgNum=0;$s=50;continue;case 42:d[0].ArgNum=(($imul(10,d[0].ArgNum)))+((((e.charCodeAt(h)>>0))-48>>0))>>0;$s=50;continue;case 43:d[0].HasWidth=true;$s=50;continue;case 44:d[0].Width=0;$s=50;continue;case 45:d[0].Width=(($imul(10,d[0].Width)))+((((e.charCodeAt(h)>>0))-48>>0))>>0;$s=50;continue;case 46:d[0].HasPrec=true;$s=50;continue;case 47:d[0].Prec=0;$s=50;continue;case 48:d[0].Prec=(($imul(10,d[0].Prec)))+((((e.charCodeAt(h)>>0))-48>>0))>>0;$s=50;continue;case 49:d[0].Mode=((e.charCodeAt(h)>>0));l=h+1>>0;d[0].Raw=$substring(e,k,l);d[0].Offset=k;if(d[0].ArgNum>g){g=d[0].ArgNum;}ag=CN(d[0],c[0],b);$s=54;case 54:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=ag;if(!($interfaceIsEqual(ah,$ifaceNil))){$s=-1;return[c[0].String(),ah];}f=d[0].ArgNum+1>>0;case 50:case 32:q=q-(1)>>>0;$s=30;continue;case 31:case 29:if(j===0){$s=55;continue;}$s=56;continue;case 55:$s=6;continue;case 56:h=h+(1)>>0;if(!((h===i))){$s=57;continue;}$s=58;continue;case 57:$s=7;continue;case 58:case 3:if(h===m){$s=59;continue;}$s=60;continue;case 59:ai=((j<0||j>=CI.$length)?($throwRuntimeError("index out of range"),undefined):CI.$array[CI.$offset+j]);aj=((((ai<0||ai>=BZ.$length)?($throwRuntimeError("index out of range"),undefined):BZ.$array[BZ.$offset+ai])>>>0));ai=ai+(1)<<24>>>24;case 61:if(!(aj>0)){$s=62;continue;}ai=ai+(1)<<24>>>24;al=(ak=ai-1<<24>>>24,((ak<0||ak>=BZ.$length)?($throwRuntimeError("index out of range"),undefined):BZ.$array[BZ.$offset+ak]));if(al===(2)){$s=64;continue;}if(al===(3)){$s=65;continue;}if(al===(4)){$s=66;continue;}$s=67;continue;case 64:$s=67;continue;case 65:am=E.Errorf("invalid format string starting at offset %d",new EI([new $Int(h)]));$s=68;case 68:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=[c[0].String(),am];$s=69;case 69:return an;case 66:ao=O.DecodeRuneInString($substring(e,h));ap=ao[0];aq=E.Errorf("unrecognized format character %q at offset %d",new EI([new $Int32(ap),new $Int(h)]));$s=70;case 70:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=[c[0].String(),aq];$s=71;case 71:return ar;case 67:case 63:aj=aj-(1)>>>0;$s=61;continue;case 62:case 60:case 6:if(j<8){$s=72;continue;}$s=73;continue;case 72:as=E.Errorf("extraneous characters beginning at offset %d",new EI([new $Int(h)]));$s=74;case 74:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=[c[0].String(),as];$s=75;case 75:return at;case 73:if(g<b.$length){$s=76;continue;}$s=77;continue;case 76:au=g+1>>0;if(g===0){$s=78;continue;}$s=79;continue;case 78:av=D.NewArgErrorf(au,"too many arguments; no verbs in format string",new EI([]));$s=80;case 80:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=[c[0].String(),av];$s=81;case 81:return aw;case 79:ax=D.NewArgErrorf(au,"too many arguments; only %d used by format string",new EI([new $Int(g)]));$s=82;case 82:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ay=[c[0].String(),ax];$s=83;case 83:return ay;case 77:$s=-1;return[c[0].String(),$ifaceNil];}return;}if($f===undefined){$f={$blk:CJ};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CK=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$makeSlice(EK,0,(b.$length+1>>0));c=$append(c,a);c=$appendSlice(c,b);d=$clone($pkg.FormatFunc,D.Function).Call(c);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:CK};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Format=CK;CN=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=a.ArgNum-1>>0;if(d>=c.$length){$s=1;continue;}$s=2;continue;case 1:e=E.Errorf("not enough arguments for %q at %d: need index %d but have %d total",new EI([new $String(a.Raw),new $Int(a.Offset),new $Int(a.ArgNum),new $Int(c.$length)]));$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=4;case 4:return f;case 2:g=$clone(((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),C.Value);if(!((a.Mode===118))&&$clone(g,C.Value).IsNull()){$s=5;continue;}$s=6;continue;case 5:h=E.Errorf("unsupported value for %q at %d: null value cannot be formatted",new EI([new $String(a.Raw),new $Int(a.Offset)]));$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=8;case 8:return i;case 6:if(!a.HasWidth){a.Width=-1;}if(!a.HasPrec){a.Prec=-1;}j=a.Mode;if(j===(118)){$s=10;continue;}if(j===(116)){$s=11;continue;}if((j===(98))||(j===(100))||(j===(111))||(j===(120))||(j===(88))||(j===(101))||(j===(69))||(j===(102))||(j===(103))||(j===(71))){$s=12;continue;}if((j===(115))||(j===(113))){$s=13;continue;}$s=14;continue;case 10:k=CO(a,b,$clone(g,C.Value));$s=16;case 16:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=17;case 17:return l;case 11:m=CP(a,b,$clone(g,C.Value));$s=18;case 18:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=19;case 19:return n;case 12:o=CQ(a,b,$clone(g,C.Value));$s=20;case 20:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;$s=21;case 21:return p;case 13:q=CS(a,b,$clone(g,C.Value));$s=22;case 22:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;$s=23;case 23:return r;case 14:s=E.Errorf("unsupported format verb %q in %q at offset %d",new EI([new $Int32(a.Mode),new $String(a.Raw),new $Int(a.Offset)]));$s=24;case 24:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;$s=25;case 25:return t;case 15:case 9:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:CN};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};CO=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!a.Sharp&&!$clone(c,C.Value).IsNull()){$s=1;continue;}$s=2;continue;case 1:d=$clone($clone(c,C.Value).Type(),C.Type);if($equal(d,(C.String),C.Type)){$s=4;continue;}if($equal(d,(C.Number),C.Type)){$s=5;continue;}$s=6;continue;case 4:e=$clone(c,C.Value).AsString();f=CT(a,e);$s=7;case 7:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=b.WriteString(e);$s=8;case 8:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;$s=-1;return $ifaceNil;case 5:h=$clone(c,C.Value).AsBigFloat();$s=9;case 9:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;j=i.Text(103,-1);$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;l=CT(a,k);$s=11;case 11:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=b.WriteString(k);$s=12;case 12:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;$s=-1;return $ifaceNil;case 6:case 3:case 2:o=M.Marshal($clone(c,C.Value),$clone($clone(c,C.Value).Type(),C.Type));$s=13;case 13:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[1];if(!($interfaceIsEqual(q,$ifaceNil))){$s=14;continue;}$s=15;continue;case 14:r=E.Errorf("unsupported value for %q at %d: %s",new EI([new $String(a.Raw),new $Int(a.Offset),q]));$s=16;case 16:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;$s=17;case 17:return s;case 15:t=CT(a,($bytesToString(p)));$s=18;case 18:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t;v=b.WriteString(u);$s=19;case 19:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}v;$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:CO};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};CP=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=$ifaceNil;f=I.Convert($clone(c,C.Value),$clone(C.Bool,C.Type));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;C.Value.copy(c,e[0]);d=e[1];if(!($interfaceIsEqual(d,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:g=E.Errorf("unsupported value for %q at %d: %s",new EI([new $String(a.Raw),new $Int(a.Offset),d]));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=5;case 5:return h;case 3:i=$clone(c,C.Value).True();$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(i){$s=6;continue;}$s=7;continue;case 6:j=b.WriteString("true");$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;$s=8;continue;case 7:k=b.WriteString("false");$s=11;case 11:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;case 8:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:CP};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};CQ=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=$ifaceNil;f=I.Convert($clone(c,C.Value),$clone(C.Number,C.Type));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;C.Value.copy(c,e[0]);d=e[1];if(!($interfaceIsEqual(d,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:g=E.Errorf("unsupported value for %q at %d: %s",new EI([new $String(a.Raw),new $Int(a.Offset),d]));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=5;case 5:return h;case 3:i=a.Mode;if((i===(98))||(i===(100))||(i===(111))||(i===(120))||(i===(88))){$s=7;continue;}$s=8;continue;case 7:j=CR(a,b,$clone(c,C.Value));$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=11;case 11:return k;case 8:l=$clone(c,C.Value).AsBigFloat();$s=12;case 12:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;n=CU(a.Raw);o=E.Sprintf(n,new EI([m]));$s=13;case 13:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;q=b.WriteString(p);$s=14;case 14:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;$s=-1;return $ifaceNil;case 9:case 6:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:CQ};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};CR=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=$clone(c,C.Value).AsBigFloat();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;g=e.Int(EO.nil);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];if(!((i===0))){$s=3;continue;}$s=4;continue;case 3:j=E.Errorf("unsupported value for %q at %d: an integer is required",new EI([new $String(a.Raw),new $Int(a.Offset)]));$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=6;case 6:return k;case 4:l=CU(a.Raw);m=E.Sprintf(l,new EI([h]));$s=7;case 7:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;o=b.WriteString(n);$s=8;case 8:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:CR};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};CS=function(a,b,c){var a,aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=$ifaceNil;f=I.Convert($clone(c,C.Value),$clone(C.String,C.Type));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;C.Value.copy(c,e[0]);d=e[1];if(!($interfaceIsEqual(d,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:g=E.Errorf("unsupported value for %q at %d: %s",new EI([new $String(a.Raw),new $Int(a.Offset),d]));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=5;case 5:return h;case 3:i=$clone(c,C.Value).AsString();if(a.Prec>0){j=(new EG($stringToBytes(i)));k=0;l=a.Prec;m=0;while(true){if(!(m<l)){break;}n=$subslice(j,k);if(n.$length===0){break;}o=G.ScanGraphemeClusters($subslice(j,k),true);p=o[0];k=k+(p)>>0;m=m+(1)>>0;}i=$substring(i,0,k);}q=a.Mode;if(q===(115)){$s=7;continue;}if(q===(113)){$s=8;continue;}$s=9;continue;case 7:r=CT(a,i);$s=11;case 11:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;t=b.WriteString(s);$s=12;case 12:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}t;$s=10;continue;case 8:v=C.StringVal(i);$s=13;case 13:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=M.Marshal($clone(v,C.Value),$clone(C.String,C.Type));$s=14;case 14:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}u=w;x=u[0];y=u[1];if(!($interfaceIsEqual(y,$ifaceNil))){$s=15;continue;}$s=16;continue;case 15:z=E.Errorf("failed to marshal %#v as JSON: %s",new EI([new c.constructor.elem(c),y]));$s=17;case 17:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}$panic(z);case 16:aa=CT(a,($bytesToString(x)));$s=18;case 18:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;ac=b.WriteString(ab);$s=19;case 19:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ac;$s=10;continue;case 9:ad=E.Errorf("invalid string formatting mode %q",new EI([new $Int32(a.Mode)]));$s=20;case 20:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}$panic(ad);case 10:case 6:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:CS};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CT=function(a,b){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(a.Width<0){$s=-1;return b;}d=G.TokenCount((new EG($stringToBytes(b))),G.ScanGraphemeClusters);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=a.Width;if(e>=f){$s=-1;return b;}g=f-e>>0;h=" ";if(a.Zero){h="0";}i=B.Repeat(h,g);if(a.Minus){$s=-1;return b+i;}$s=-1;return i+b;}return;}if($f===undefined){$f={$blk:CT};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};CU=function(a){var a,b,c;b=B.Index(a,"[");c=B.Index(a,"]");if((b===-1)||(c===-1)){return a;}return $substring(a,0,b)+$substring(a,(c+1>>0));};CW=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=Q.Parse("2006-01-02T15:04:05Z07:00",a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=$clone(b[0],Q.Time);e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:f=e;if($assertType(f,EW,true)[1]){$s=4;continue;}$s=5;continue;case 4:g=f.$val;if(g.LayoutElem===""&&g.ValueElem===""&&!(g.Message==="")){$s=6;continue;}$s=7;continue;case 6:h=E.Errorf("not a valid RFC3339 timestamp%s",new EI([new $String(g.Message)]));$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=[new Q.Time.ptr(new $Uint64(0,0),new $Int64(0,0),EX.nil),h];$s=9;case 9:return i;case 7:j="";k=g.LayoutElem;if(k===("2006")){$s=11;continue;}if(k===("01")){$s=12;continue;}if(k===("02")){$s=13;continue;}if(k===("15")){$s=14;continue;}if(k===("04")){$s=15;continue;}if(k===("05")){$s=16;continue;}if(k===("Z07:00")){$s=17;continue;}if(k===("T")){$s=18;continue;}if(k===(":")||k===("-")){$s=19;continue;}$s=20;continue;case 11:j="year";$s=21;continue;case 12:j="month";$s=21;continue;case 13:j="day of month";$s=21;continue;case 14:j="hour";$s=21;continue;case 15:j="minute";$s=21;continue;case 16:j="second";$s=21;continue;case 17:j="UTC offset";$s=21;continue;case 18:l=E.Errorf("not a valid RFC3339 timestamp: missing required time introducer 'T'",new EI([]));$s=22;case 22:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=[new Q.Time.ptr(new $Uint64(0,0),new $Int64(0,0),EX.nil),l];$s=23;case 23:return m;case 19:if(g.ValueElem===""){$s=24;continue;}$s=25;continue;case 24:n=E.Errorf("not a valid RFC3339 timestamp: end of string where %q is expected",new EI([new $String(g.LayoutElem)]));$s=27;case 27:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=[new Q.Time.ptr(new $Uint64(0,0),new $Int64(0,0),EX.nil),n];$s=28;case 28:return o;case 25:p=E.Errorf("not a valid RFC3339 timestamp: found %q where %q is expected",new EI([new $String(g.ValueElem),new $String(g.LayoutElem)]));$s=29;case 29:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=[new Q.Time.ptr(new $Uint64(0,0),new $Int64(0,0),EX.nil),p];$s=30;case 30:return q;case 26:$s=21;continue;case 20:j="timestamp segment";case 21:case 10:if(g.ValueElem===""){$s=31;continue;}$s=32;continue;case 31:r=E.Errorf("not a valid RFC3339 timestamp: end of string before %s",new EI([new $String(j)]));$s=34;case 34:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=[new Q.Time.ptr(new $Uint64(0,0),new $Int64(0,0),EX.nil),r];$s=35;case 35:return s;case 32:t=E.Errorf("not a valid RFC3339 timestamp: cannot use %q as %s",new EI([new $String(g.ValueElem),new $String(j)]));$s=36;case 36:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=[new Q.Time.ptr(new $Uint64(0,0),new $Int64(0,0),EX.nil),t];$s=37;case 37:return u;case 33:case 5:$s=-1;return[new Q.Time.ptr(new $Uint64(0,0),new $Int64(0,0),EX.nil),e];case 3:$s=-1;return[d,$ifaceNil];}return;}if($f===undefined){$f={$blk:CW};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};CX=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=0;d=EG.nil;e=$ifaceNil;if(a.$length===0){f=0;g=EG.nil;h=$ifaceNil;c=f;d=g;e=h;return[c,d,e];}if(((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])===39)){if(a.$length>1&&((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])===39)){i=2;j=$subslice(a,0,2);k=$ifaceNil;c=i;d=j;e=k;return[c,d,e];}l=1;while(true){if(!(l<a.$length)){break;}if(((l<0||l>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+l])===39){if(((l+1>>0))===a.$length){if(b){m=a.$length;n=a;o=$ifaceNil;c=m;d=n;e=o;return[c,d,e];}else{p=0;q=EG.nil;r=$ifaceNil;c=p;d=q;e=r;return[c,d,e];}}if((s=l+1>>0,((s<0||s>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+s]))===39){l=l+(1)>>0;l=l+(1)>>0;continue;}t=l+1>>0;u=$subslice(a,0,(l+1>>0));v=$ifaceNil;c=t;d=u;e=v;return[c,d,e];}l=l+(1)>>0;}if(b){w=a.$length;x=a;y=$ifaceNil;c=w;d=x;e=y;return[c,d,e];}z=0;aa=EG.nil;ab=$ifaceNil;c=z;d=aa;e=ab;return[c,d,e];}else if(CY((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]))){ac=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]);ad=1;while(true){if(!(ad<a.$length)){break;}if(!((((ad<0||ad>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ad])===ac))){ae=ad;af=$subslice(a,0,ad);ag=$ifaceNil;c=ae;d=af;e=ag;return[c,d,e];}ad=ad+(1)>>0;}if(b){ah=a.$length;ai=a;aj=$ifaceNil;c=ah;d=ai;e=aj;return[c,d,e];}ak=0;al=EG.nil;am=$ifaceNil;c=ak;d=al;e=am;return[c,d,e];}else{an=1;while(true){if(!(an<a.$length)){break;}if((((an<0||an>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+an])===39)||CY(((an<0||an>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+an]))){ao=an;ap=$subslice(a,0,an);aq=$ifaceNil;c=ao;d=ap;e=aq;return[c,d,e];}an=an+(1)>>0;}ar=a.$length;as=a;at=$ifaceNil;c=ar;d=as;e=at;return[c,d,e];}};CY=function(a){var a;return(a>=97&&a<=122)||(a>=65&&a<=90);};DB=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a;if($assertType(b,EY,true)[1]){$s=1;continue;}$s=2;continue;case 1:c=b.$val;e=E.Errorf("CSV parse error on line %d: %w",new EI([new $Int(c.Line),c.Err]));$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=5;case 5:return f;case 2:d=b;$s=-1;return d;case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:DB};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};DD=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=EM.nil;c=$clone(a,C.Value).Unmark();a=$clone(c[0],C.Value);d=c[1];if($keys(d).length>0){b=$append(b,d);}e=$clone(a,C.Value).Length();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$clone(e,C.Value).IsKnown();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(!f){$s=1;continue;}$s=2;continue;case 1:$s=-1;return[EK.nil,b,false];case 2:g=$makeSlice(EK,0);h=true;i=$clone(a,C.Value).ElementIterator();$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;case 6:k=j.Next();$s=8;case 8:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(!(k)){$s=7;continue;}m=j.Element();$s=9;case 9:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=$clone(l[1],C.Value);if($equal(n,C.DynamicVal,C.Value)){h=false;}if($clone($clone(n,C.Value).Type(),C.Type).IsListType()||$clone($clone(n,C.Value).Type(),C.Type).IsSetType()||$clone($clone(n,C.Value).Type(),C.Type).IsTupleType()){$s=10;continue;}$s=11;continue;case 10:if(!$clone(n,C.Value).IsKnown()){h=false;o=$clone(n,C.Value).Unmark();p=o[1];b=$append(b,p);$s=6;continue;}r=DD($clone(n,C.Value));$s=13;case 13:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];u=q[2];b=$appendSlice(b,t);if(u){g=$appendSlice(g,s);}else{h=false;}$s=12;continue;case 11:g=$append(g,n);case 12:$s=6;continue;case 7:$s=-1;return[g,b,h];}return;}if($f===undefined){$f={$blk:DD};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};DE=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=[c];d=0;e=0;f=0;c[0]=d;b[0]=e;g=f;h=false;i=false;j=false;k=h;l=i;m=j;n=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Unmark();o=$clone(n[0],C.Value);if($clone($clone(o,C.Value).Type(),C.Type).IsTupleType()){p=true;$s=3;continue s;}q=$clone(o,C.Value).Length();$s=4;case 4:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=$clone(q,C.Value).IsKnown();$s=5;case 5:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}p=r;case 3:if(p){$s=1;continue;}$s=2;continue;case 1:g=$clone(o,C.Value).LengthInt();m=true;case 2:if($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).IsKnown()){$s=6;continue;}$s=7;continue;case 6:s=H.FromCtyValue($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value),(c.$ptr||(c.$ptr=new EH(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c))));$s=8;case 8:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;if(!($interfaceIsEqual(t,$ifaceNil))){$s=9;continue;}$s=10;continue;case 9:u=D.NewArgErrorf(1,"invalid start index: %s",new EI([t]));$s=11;case 11:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=[0,0,false,u];$s=12;case 12:return v;case 10:if(c[0]<0){$s=13;continue;}$s=14;continue;case 13:w=D.NewArgErrorf(1,"start index must not be less than zero",new EI([]));$s=15;case 15:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=[0,0,false,w];$s=16;case 16:return x;case 14:if(m&&c[0]>g){$s=17;continue;}$s=18;continue;case 17:y=D.NewArgErrorf(1,"start index must not be greater than the length of the list",new EI([]));$s=19;case 19:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=[0,0,false,y];$s=20;case 20:return z;case 18:k=true;case 7:if($clone((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]),C.Value).IsKnown()){$s=21;continue;}$s=22;continue;case 21:aa=H.FromCtyValue($clone((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]),C.Value),(b.$ptr||(b.$ptr=new EH(function(){return this.$target[0];},function($v){this.$target[0]=$v;},b))));$s=23;case 23:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;if(!($interfaceIsEqual(ab,$ifaceNil))){$s=24;continue;}$s=25;continue;case 24:ac=D.NewArgErrorf(2,"invalid end index: %s",new EI([ab]));$s=26;case 26:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=[0,0,false,ac];$s=27;case 27:return ad;case 25:if(b[0]<0){$s=28;continue;}$s=29;continue;case 28:ae=D.NewArgErrorf(2,"end index must not be less than zero",new EI([]));$s=30;case 30:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=[0,0,false,ae];$s=31;case 31:return af;case 29:if(m&&b[0]>g){$s=32;continue;}$s=33;continue;case 32:ag=D.NewArgErrorf(2,"end index must not be greater than the length of the list",new EI([]));$s=34;case 34:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=[0,0,false,ag];$s=35;case 35:return ah;case 33:l=true;case 22:if(k&&l){$s=36;continue;}$s=37;continue;case 36:if(c[0]>b[0]){$s=38;continue;}$s=39;continue;case 38:ai=D.NewArgErrorf(1,"start index must not be greater than end index",new EI([]));$s=40;case 40:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=[0,0,false,ai];$s=41;case 41:return aj;case 39:case 37:$s=-1;return[c[0],b[0],k&&l,$ifaceNil];}return;}if($f===undefined){$f={$blk:DE};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DF=function(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=a;d=0;case 1:if(!(d<c.$length)){$s=2;continue;}e=$clone(((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),C.Value);g=BW($clone(e,C.Value),$clone(b,C.Value));$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=$clone(f[0],C.Value);i=f[1];if(!($interfaceIsEqual(i,$ifaceNil))){$s=-1;return[a,i];}j=$clone(h,C.Value).True();$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(j){$s=4;continue;}$s=5;continue;case 4:$s=-1;return[a,$ifaceNil];case 5:d++;$s=1;continue;case 2:$s=-1;return[$append(a,b),$ifaceNil];}return;}if($f===undefined){$f={$blk:DF};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};DG=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone($pkg.HasIndexFunc,D.Function).Call(new EK([$clone(a,C.Value),$clone(b,C.Value)]));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DG};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.HasIndex=DG;DY=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];if(a[0]===EG.nil){$panic(new $String("can't make Bytes value from nil slice"));}b=C.CapsuleVal($clone($pkg.Bytes,C.Type),(a.$ptr||(a.$ptr=new EU(function(){return this.$target[0];},function($v){this.$target[0]=$v;},a))));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:DY};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$pkg.BytesVal=DY;CM.init("",[{prop:"Raw",name:"Raw",embedded:false,exported:true,typ:$String,tag:""},{prop:"Offset",name:"Offset",embedded:false,exported:true,typ:$Int,tag:""},{prop:"ArgNum",name:"ArgNum",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Mode",name:"Mode",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Zero",name:"Zero",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"Sharp",name:"Sharp",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"Plus",name:"Plus",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"Minus",name:"Minus",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"Space",name:"Space",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"HasPrec",name:"HasPrec",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"Prec",name:"Prec",embedded:false,exported:true,typ:$Int,tag:""},{prop:"HasWidth",name:"HasWidth",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"Width",name:"Width",embedded:false,exported:true,typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=P.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=N.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=R.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=U.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=S.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=V.$init();$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=T.$init();$s=19;case 19:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=Q.$init();$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=O.$init();$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ReplaceFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,false,false),new D.Parameter.ptr("substr",$clone(C.String,C.Type),false,false,false,false),new D.Parameter.ptr("replace",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString();d=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).AsString();e=$clone((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]),C.Value).AsString();f=C.StringVal(B.Replace(c,d,e,-1));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=[f,$ifaceNil];$s=2;case 2:return g;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.RegexReplaceFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,false,false),new D.Parameter.ptr("substr",$clone(C.String,C.Type),false,false,false,false),new D.Parameter.ptr("replace",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString();f=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).AsString();g=$clone((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]),C.Value).AsString();i=A.Compile(f);$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=h[0];d=h[1];if(!($interfaceIsEqual(d,$ifaceNil))){k=$clone(C.UnknownVal($clone(C.String,C.Type)),C.Value);l=d;C.Value.copy(c,k);d=l;$s=-1;return[c,d];}n=j.ReplaceAllString(e,g);$s=2;case 2:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=C.StringVal(n);$s=3;case 3:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}m=$clone(o,C.Value);p=$ifaceNil;C.Value.copy(c,m);d=p;q=[c,d];$s=4;case 4:return q;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.UpperFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,true,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString();d=B.ToUpper(c);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=C.StringVal(e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=[f,$ifaceNil];$s=3;case 3:return g;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.LowerFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,true,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString();d=B.ToLower(c);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=C.StringVal(e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=[f,$ifaceNil];$s=3;case 3:return g;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.ReverseFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,true,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=(new EG($stringToBytes($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString())));d=$makeSlice(EG,c.$length);e=d.$length;f=(c);g=0;while(true){if(!(g<c.$length)){break;}h=G.ScanGraphemeClusters($subslice(f,g),true);i=h[0];j=$subslice(c,g,(g+i>>0));e=e-(j.$length)>>0;$copySlice($subslice(d,e),j);g=g+(i)>>0;}k=C.StringVal(($bytesToString(d)));$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=[k,$ifaceNil];$s=2;case 2:return l;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.StrlenFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,true,false)]),EF.nil,D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString();d=0;e=(new EG($stringToBytes(c)));f=0;while(true){if(!(f<c.length)){break;}g=G.ScanGraphemeClusters($subslice(e,f),true);h=g[0];d=d+(1)>>0;f=f+(h)>>0;}i=C.NumberIntVal((new $Int64(0,d)));$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=[i,$ifaceNil];$s=2;case 2:return j;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.SubstrFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,true,false),new D.Parameter.ptr("offset",$clone(C.Number,C.Type),false,false,true,false),new D.Parameter.ptr("length",$clone(C.Number,C.Type),false,false,true,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=[d];e=[e];f=(new EG($stringToBytes($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString())));g=0;h=0;d[0]=g;c[0]=h;i=$ifaceNil;j=H.FromCtyValue($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value),(d.$ptr||(d.$ptr=new EH(function(){return this.$target[0];},function($v){this.$target[0]=$v;},d))));$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;if(!($interfaceIsEqual(i,$ifaceNil))){$s=-1;return[C.NilVal,i];}k=H.FromCtyValue($clone((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]),C.Value),(c.$ptr||(c.$ptr=new EH(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c))));$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}i=k;if(!($interfaceIsEqual(i,$ifaceNil))){$s=-1;return[C.NilVal,i];}if(d[0]<0){$s=3;continue;}if(c[0]===0){$s=4;continue;}$s=5;continue;case 3:m=AB($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value));$s=6;case 6:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=$clone(l[0],C.Value);o=l[1];if(!($interfaceIsEqual(o,$ifaceNil))){$panic(new $String("Stdlen returned an error"));}e[0]=0;p=H.FromCtyValue($clone(n,C.Value),(e.$ptr||(e.$ptr=new EH(function(){return this.$target[0];},function($v){this.$target[0]=$v;},e))));$s=7;case 7:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;if(!($interfaceIsEqual(o,$ifaceNil))){$panic(new $String("Stdlen returned a non-int number"));}d[0]=d[0]+(e[0])>>0;$s=5;continue;case 4:q=C.StringVal("");$s=8;case 8:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=[q,$ifaceNil];$s=9;case 9:return r;case 5:s=f;t=0;u=0;if(d[0]>0){$s=10;continue;}$s=11;continue;case 10:u=0;case 12:if(!(u<s.$length)){$s=13;continue;}v=G.ScanGraphemeClusters($subslice(s,u),true);w=v[0];u=u+(w)>>0;t=t+(1)>>0;if(t===d[0]){$s=13;continue;}if(u>=f.$length){$s=14;continue;}$s=15;continue;case 14:x=C.StringVal("");$s=16;case 16:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=[x,$ifaceNil];$s=17;case 17:return y;case 15:$s=12;continue;case 13:s=$subslice(s,u);case 11:if(c[0]<0){$s=18;continue;}$s=19;continue;case 18:z=C.StringVal(($bytesToString(s)));$s=20;case 20:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=[z,$ifaceNil];$s=21;case 21:return aa;case 19:t=0;u=0;while(true){if(!(u<s.$length)){break;}ab=G.ScanGraphemeClusters($subslice(s,u),true);ac=ab[0];u=u+(ac)>>0;t=t+(1)>>0;if(t===c[0]){break;}}s=$subslice(s,0,u);ad=C.StringVal(($bytesToString(s)));$s=22;case 22:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=[ad,$ifaceNil];$s=23;case 23:return ae;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.JoinFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("separator",$clone(C.String,C.Type),false,false,false,false)]),new D.Parameter.ptr("lists",$clone(C.List($clone(C.String,C.Type)),C.Type),false,false,false,false),D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,aa,ab,ac,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString();d=$subslice(a,1);if(d.$length<1){$s=1;continue;}$s=2;continue;case 1:e=E.Errorf("at least one list is required",new EI([]));$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=[C.UnknownVal($clone(C.String,C.Type)),e];$s=4;case 4:return f;case 2:g=0;h=d;i=0;case 5:if(!(i<h.$length)){$s=6;continue;}j=$clone(((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]),C.Value);k=$clone(j,C.Value).IsWhollyKnown();$s=9;case 9:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(!k){$s=7;continue;}$s=8;continue;case 7:$s=-1;return[C.UnknownVal($clone(C.String,C.Type)),$ifaceNil];case 8:g=g+($clone(j,C.Value).LengthInt())>>0;i++;$s=5;continue;case 6:l=$makeSlice(EJ,0,g);m=d;n=0;case 10:if(!(n<m.$length)){$s=11;continue;}o=n;p=$clone(((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]),C.Value);q=0;r=$clone(p,C.Value).ElementIterator();$s=12;case 12:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;case 13:t=s.Next();$s=15;case 15:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}if(!(t)){$s=14;continue;}v=s.Element();$s=16;case 16:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=$clone(u[1],C.Value);if($clone(w,C.Value).IsNull()){$s=17;continue;}$s=18;continue;case 17:if(d.$length>1){$s=19;continue;}$s=20;continue;case 19:x=D.NewArgErrorf(o+1>>0,"element %d of list %d is null; cannot concatenate null values",new EI([new $Int(q),new $Int((o+1>>0))]));$s=21;case 21:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=[C.UnknownVal($clone(C.String,C.Type)),x];$s=22;case 22:return y;case 20:z=D.NewArgErrorf(o+1>>0,"element %d is null; cannot concatenate null values",new EI([new $Int(q)]));$s=23;case 23:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=[C.UnknownVal($clone(C.String,C.Type)),z];$s=24;case 24:return aa;case 18:l=$append(l,$clone(w,C.Value).AsString());q=q+(1)>>0;$s=13;continue;case 14:n++;$s=10;continue;case 11:ab=C.StringVal(B.Join(l,c));$s=25;case 25:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=[ab,$ifaceNil];$s=26;case 26:return ac;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.SortFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("list",$clone(C.List($clone(C.String,C.Type)),C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.List($clone(C.String,C.Type)),C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);d=$clone(c,C.Value).IsWhollyKnown();$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}if(!d){$s=1;continue;}$s=2;continue;case 1:$s=-1;return[C.UnknownVal($clone(b,C.Type)),$ifaceNil];case 2:if($clone(c,C.Value).LengthInt()===0){$s=-1;return[c,$ifaceNil];}e=$makeSlice(EJ,0,$clone(c,C.Value).LengthInt());f=$clone(c,C.Value).ElementIterator();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;case 5:h=g.Next();$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(!(h)){$s=6;continue;}j=g.Element();$s=8;case 8:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=$clone(i[0],C.Value);l=$clone(i[1],C.Value);if($clone(l,C.Value).IsNull()){$s=9;continue;}$s=10;continue;case 9:m=$clone(k,C.Value).AsBigFloat();$s=11;case 11:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m.String();$s=12;case 12:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=new $String(n);p=E.Errorf("given list element %s is null; a null string cannot be sorted",new EI([o]));$s=13;case 13:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=[C.UnknownVal($clone(b,C.Type)),p];$s=14;case 14:return q;case 10:e=$append(e,$clone(l,C.Value).AsString());$s=5;continue;case 6:$r=F.Strings(e);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=$makeSlice(EK,e.$length);s=e;t=0;case 16:if(!(t<s.$length)){$s=17;continue;}u=t;v=((t<0||t>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+t]);w=C.StringVal(v);$s=18;case 18:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}C.Value.copy(((u<0||u>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+u]),w);t++;$s=16;continue;case 17:x=C.ListVal(r);$s=19;case 19:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=[x,$ifaceNil];$s=20;case 20:return y;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.SplitFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("separator",$clone(C.String,C.Type),false,false,false,false),new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.List($clone(C.String,C.Type)),C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString();d=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).AsString();e=B.Split(d,c);f=$makeSlice(EK,e.$length);g=e;h=0;case 1:if(!(h<g.$length)){$s=2;continue;}i=h;j=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);k=C.StringVal(j);$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}C.Value.copy(((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]),k);h++;$s=1;continue;case 2:if(f.$length===0){$s=-1;return[C.ListValEmpty($clone(C.String,C.Type)),$ifaceNil];}l=C.ListVal(f);$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=[l,$ifaceNil];$s=5;case 5:return m;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.ChompFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=A.MustCompile("(?:\\r\\n?|\\n)*\\z");$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;h=f.ReplaceAllString($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString(),"");$s=2;case 2:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=C.StringVal(h);$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}g=$clone(i,C.Value);j=$ifaceNil;C.Value.copy(c,g);d=j;k=[c,d];$s=4;case 4:return k;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.IndentFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("spaces",$clone(C.Number,C.Type),false,false,false,false),new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);e=$ifaceNil;c[0]=0;f=H.FromCtyValue($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value),(c.$ptr||(c.$ptr=new EH(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c))));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(!($interfaceIsEqual(g,$ifaceNil))){h=$clone(C.UnknownVal($clone(C.String,C.Type)),C.Value);i=g;C.Value.copy(d,h);e=i;$s=-1;return[d,e];}j=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).AsString();k=B.Repeat(" ",c[0]);m=C.StringVal(B.Replace(j,"\n","\n"+k,-1));$s=2;case 2:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=$clone(m,C.Value);n=$ifaceNil;C.Value.copy(d,l);e=n;o=[d,e];$s=3;case 3:return o;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.TitleFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;f=B.Title($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString());$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=C.StringVal(f);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}e=$clone(g,C.Value);h=$ifaceNil;C.Value.copy(c,e);d=h;i=[c,d];$s=3;case 3:return i;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.TrimSpaceFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;f=B.TrimSpace($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString());$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=C.StringVal(f);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}e=$clone(g,C.Value);h=$ifaceNil;C.Value.copy(c,e);d=h;i=[c,d];$s=3;case 3:return i;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.TrimFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,false,false),new D.Parameter.ptr("cutset",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString();d=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).AsString();e=B.Trim(c,d);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=C.StringVal(e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=[f,$ifaceNil];$s=3;case 3:return g;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.TrimPrefixFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,false,false),new D.Parameter.ptr("prefix",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString();d=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).AsString();e=C.StringVal(B.TrimPrefix(c,d));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=[e,$ifaceNil];$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.TrimSuffixFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,false,false),new D.Parameter.ptr("suffix",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString();d=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).AsString();e=C.StringVal(B.TrimSuffix(c,d));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=[e,$ifaceNil];$s=2;case 2:return f;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.SetHasElementFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("set",$clone(C.Set($clone(C.DynamicPseudoType,C.Type)),C.Type),false,false,true,false),new D.Parameter.ptr("elem",$clone(C.DynamicPseudoType,C.Type),false,false,true,false)]),EF.nil,D.StaticReturnType($clone(C.Bool,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).HasElement($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$clone(f,C.Value);g=$ifaceNil;C.Value.copy(c,e);d=g;h=[c,d];$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.SetUnionFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("first_set",$clone(C.Set($clone(C.DynamicPseudoType,C.Type)),C.Type),false,false,true,false)]),new D.Parameter.ptr("other_sets",$clone(C.Set($clone(C.DynamicPseudoType,C.Type)),C.Type),false,false,true,false),AS,AT((function $b(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone(a,C.ValueSet).Union($clone(b,C.ValueSet));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;}),true))),D.Function);$pkg.SetIntersectionFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("first_set",$clone(C.Set($clone(C.DynamicPseudoType,C.Type)),C.Type),false,false,true,false)]),new D.Parameter.ptr("other_sets",$clone(C.Set($clone(C.DynamicPseudoType,C.Type)),C.Type),false,false,true,false),AS,AT((function $b(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone(a,C.ValueSet).Intersection($clone(b,C.ValueSet));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;}),false))),D.Function);$pkg.SetSubtractFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("a",$clone(C.Set($clone(C.DynamicPseudoType,C.Type)),C.Type),false,false,true,false),new D.Parameter.ptr("b",$clone(C.Set($clone(C.DynamicPseudoType,C.Type)),C.Type),false,false,true,false)]),EF.nil,AS,AT((function $b(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone(a,C.ValueSet).Subtract($clone(b,C.ValueSet));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;}),false))),D.Function);$pkg.SetSymmetricDifferenceFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("first_set",$clone(C.Set($clone(C.DynamicPseudoType,C.Type)),C.Type),false,false,true,false)]),new D.Parameter.ptr("other_sets",$clone(C.Set($clone(C.DynamicPseudoType,C.Type)),C.Type),false,false,true,false),AS,AT((function $b(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone(a,C.ValueSet).SymmetricDifference($clone(b,C.ValueSet));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;}),false))),D.Function);$pkg.ConcatFunc=$clone(D.New(new D.Spec.ptr(new EE([]),new D.Parameter.ptr("seqs",$clone(C.DynamicPseudoType,C.Type),false,false,false,true),(function $b(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new C.Type.ptr($ifaceNil);c=$ifaceNil;if(a.$length===0){$s=1;continue;}$s=2;continue;case 1:d=$clone(C.NilType,C.Type);f=E.Errorf("at least one argument is required",new EI([]));$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;C.Type.copy(b,d);c=e;g=[b,c];$s=4;case 4:return g;case 2:if($clone($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Type(),C.Type).IsListType()){$s=5;continue;}$s=6;continue;case 5:h=$makeSlice(EL,a.$length);i=a;j=0;while(true){if(!(j<i.$length)){break;}k=j;l=$clone(((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]),C.Value);m=$clone($clone(l,C.Value).Type(),C.Type);if(!$clone(m,C.Type).IsListType()){h=EL.nil;break;}C.Type.copy(((k<0||k>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+k]),m);j++;}if(!(h===EL.nil)){$s=7;continue;}$s=8;continue;case 7:o=I.UnifyUnsafe(h);$s=9;case 9:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=$clone(n[0],C.Type);if(!($equal(p,C.NilType,C.Type))){q=$clone(p,C.Type);r=$ifaceNil;C.Type.copy(b,q);c=r;$s=-1;return[b,c];}case 8:case 6:s=$makeSlice(EL,0,a.$length);t=a;u=0;case 10:if(!(u<t.$length)){$s=11;continue;}v=u;w=$clone(((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]),C.Value);y=$clone(w,C.Value).UnmarkDeep();$s=12;case 12:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;z=$clone(x[0],C.Value);aa=$clone($clone(z,C.Value).Type(),C.Type);if($clone(aa,C.Type).IsTupleType()){$s=14;continue;}if($clone(aa,C.Type).IsListType()){$s=15;continue;}$s=16;continue;case 14:s=$appendSlice(s,$clone(aa,C.Type).TupleElementTypes());$s=17;continue;case 15:if(!$clone(z,C.Value).IsKnown()){ab=$clone(C.DynamicPseudoType,C.Type);ac=$ifaceNil;C.Type.copy(b,ab);c=ac;$s=-1;return[b,c];}ad=$clone(z,C.Value).LengthInt();ae=$clone(aa,C.Type).ElementType();$s=18;case 18:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=$clone(ae,C.Type);ag=0;while(true){if(!(ag<ad)){break;}s=$append(s,af);ag=ag+(1)>>0;}$s=17;continue;case 16:ah=$clone(C.NilType,C.Type);aj=v;ak=$clone(aa,C.Type).FriendlyName();$s=19;case 19:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=new $String(ak);am=D.NewArgErrorf(aj,"all arguments must be lists or tuples; got %s",new EI([al]));$s=20;case 20:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}ai=am;C.Type.copy(b,ah);c=ai;an=[b,c];$s=21;case 21:return an;case 17:case 13:u++;$s=10;continue;case 11:ao=$clone(C.Tuple(s),C.Type);ap=$ifaceNil;C.Type.copy(b,ao);c=ap;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;if($clone(b,C.Type).IsListType()){$s=2;continue;}if($clone(b,C.Type).IsTupleType()){$s=3;continue;}$s=4;continue;case 2:e=$makeSlice(EK,0,a.$length);f=EM.nil;g=a;h=0;case 6:if(!(h<g.$length)){$s=7;continue;}i=h;j=$clone(((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]),C.Value);l=I.Convert($clone(j,C.Value),$clone(b,C.Type));$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;C.Value.copy(j,k[0]);d=k[1];if(!($interfaceIsEqual(d,$ifaceNil))){m=$clone(C.NilVal,C.Value);n=D.NewArgError(i,d);C.Value.copy(c,m);d=n;$s=-1;return[c,d];}o=$clone(j,C.Value).Unmark();p=$clone(o[0],C.Value);q=o[1];if($keys(q).length>0){f=$append(f,q);}r=$clone(p,C.Value).ElementIterator();$s=9;case 9:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;case 10:t=s.Next();$s=12;case 12:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}if(!(t)){$s=11;continue;}v=s.Element();$s=13;case 13:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=$clone(u[1],C.Value);e=$append(e,w);$s=10;continue;case 11:h++;$s=6;continue;case 7:if(e.$length===0){$s=14;continue;}$s=15;continue;case 14:y=$clone(b,C.Type).ElementType();$s=16;case 16:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=C.ListValEmpty($clone(y,C.Type));$s=17;case 17:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=$clone(z,C.Value).WithMarks(f);$s=18;case 18:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}x=$clone(aa,C.Value);ab=$ifaceNil;C.Value.copy(c,x);d=ab;ac=[c,d];$s=19;case 19:return ac;case 15:ae=C.ListVal(e);$s=20;case 20:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=$clone(ae,C.Value).WithMarks(f);$s=21;case 21:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ad=$clone(af,C.Value);ag=$ifaceNil;C.Value.copy(c,ad);d=ag;ah=[c,d];$s=22;case 22:return ah;case 3:ai=$makeSlice(EK,0,a.$length);aj=EM.nil;ak=a;al=0;case 23:if(!(al<ak.$length)){$s=24;continue;}am=$clone(((al<0||al>=ak.$length)?($throwRuntimeError("index out of range"),undefined):ak.$array[ak.$offset+al]),C.Value);an=$clone(am,C.Value).Unmark();ao=$clone(an[0],C.Value);ap=an[1];if($keys(ap).length>0){aj=$append(aj,ap);}aq=$clone(ao,C.Value).ElementIterator();$s=25;case 25:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=aq;case 26:as=ar.Next();$s=28;case 28:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}if(!(as)){$s=27;continue;}au=ar.Element();$s=29;case 29:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}at=au;av=$clone(at[1],C.Value);ai=$append(ai,av);$s=26;continue;case 27:al++;$s=23;continue;case 24:aw=$clone($clone(C.TupleVal(ai),C.Value).WithMarks(aj),C.Value);ax=$ifaceNil;C.Value.copy(c,aw);d=ax;$s=-1;return[c,d];case 4:$panic(new $String("unsupported return type"));case 5:case 1:$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.RangeFunc=$clone(D.New(new D.Spec.ptr(EE.nil,new D.Parameter.ptr("params",$clone(C.Number,C.Type),false,false,false,false),D.StaticReturnType($clone(C.List($clone(C.Number,C.Type)),C.Type)),(function $b(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);f=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);g=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);h=$clone(e,C.Value);i=$clone(f,C.Value);j=$clone(g,C.Value);k=a.$length;if(k===(1)){$s=2;continue;}if(k===(2)){$s=3;continue;}if(k===(3)){$s=4;continue;}$s=5;continue;case 2:l=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).LessThan($clone(C.Zero,C.Value));$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=$clone(l,C.Value).True();$s=11;case 11:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(m){$s=7;continue;}$s=8;continue;case 7:n=$clone(C.Zero,C.Value);o=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);q=C.NumberIntVal(new $Int64(-1,4294967295));$s=12;case 12:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=$clone(q,C.Value);C.Value.copy(h,n);C.Value.copy(i,o);C.Value.copy(j,p);$s=9;continue;case 8:r=$clone(C.Zero,C.Value);s=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);u=C.NumberIntVal(new $Int64(0,1));$s=13;case 13:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=$clone(u,C.Value);C.Value.copy(h,r);C.Value.copy(i,s);C.Value.copy(j,t);case 9:$s=6;continue;case 3:v=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).LessThan($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value));$s=17;case 17:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=$clone(v,C.Value).True();$s=18;case 18:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}if(w){$s=14;continue;}$s=15;continue;case 14:x=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);y=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value);aa=C.NumberIntVal(new $Int64(-1,4294967295));$s=19;case 19:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=$clone(aa,C.Value);C.Value.copy(h,x);C.Value.copy(i,y);C.Value.copy(j,z);$s=16;continue;case 15:ab=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);ac=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value);ae=C.NumberIntVal(new $Int64(0,1));$s=20;case 20:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=$clone(ae,C.Value);C.Value.copy(h,ab);C.Value.copy(i,ac);C.Value.copy(j,ad);case 16:$s=6;continue;case 4:af=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);ag=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value);ah=$clone((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]),C.Value);C.Value.copy(h,af);C.Value.copy(i,ag);C.Value.copy(j,ah);$s=6;continue;case 5:ai=$clone(C.NilVal,C.Value);ak=E.Errorf("must have one, two, or three arguments",new EI([]));$s=21;case 21:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;C.Value.copy(c,ai);d=aj;al=[c,d];$s=22;case 22:return al;case 6:case 1:am=EK.nil;if($equal(j,C.Zero,C.Value)){$s=23;continue;}$s=24;continue;case 23:an=$clone(C.NilVal,C.Value);ap=D.NewArgErrorf(2,"step must not be zero",new EI([]));$s=25;case 25:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;C.Value.copy(c,an);d=ao;aq=[c,d];$s=26;case 26:return aq;case 24:ar=$clone(j,C.Value).LessThan($clone(C.Zero,C.Value));$s=27;case 27:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=$clone(ar,C.Value).True();$s=28;case 28:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;if(at){$s=29;continue;}$s=30;continue;case 29:au=$clone(i,C.Value).GreaterThan($clone(h,C.Value));$s=34;case 34:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=$clone(au,C.Value).True();$s=35;case 35:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}if(av){$s=32;continue;}$s=33;continue;case 32:aw=$clone(C.NilVal,C.Value);ay=D.NewArgErrorf(1,"end must be less than start when step is negative",new EI([]));$s=36;case 36:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}ax=ay;C.Value.copy(c,aw);d=ax;az=[c,d];$s=37;case 37:return az;case 33:$s=31;continue;case 30:ba=$clone(i,C.Value).LessThan($clone(h,C.Value));$s=40;case 40:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=$clone(ba,C.Value).True();$s=41;case 41:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}if(bb){$s=38;continue;}$s=39;continue;case 38:bc=$clone(C.NilVal,C.Value);be=D.NewArgErrorf(1,"end must be greater than start when step is positive",new EI([]));$s=42;case 42:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}bd=be;C.Value.copy(c,bc);d=bd;bf=[c,d];$s=43;case 43:return bf;case 39:case 31:bg=$clone(h,C.Value);case 44:if(at){$s=46;continue;}$s=47;continue;case 46:bh=$clone(bg,C.Value).LessThanOrEqualTo($clone(i,C.Value));$s=51;case 51:if($c){$c=false;bh=bh.$blk();}if(bh&&bh.$blk!==undefined){break s;}bi=$clone(bh,C.Value).True();$s=52;case 52:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}if(bi){$s=49;continue;}$s=50;continue;case 49:$s=45;continue;case 50:$s=48;continue;case 47:bj=$clone(bg,C.Value).GreaterThanOrEqualTo($clone(i,C.Value));$s=55;case 55:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}bk=$clone(bj,C.Value).True();$s=56;case 56:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}if(bk){$s=53;continue;}$s=54;continue;case 53:$s=45;continue;case 54:case 48:if(am.$length>=1024){$s=57;continue;}$s=58;continue;case 57:bl=$clone(C.NilVal,C.Value);bn=E.Errorf("more than 1024 values were generated; either decrease the difference between start and end or use a smaller step",new EI([]));$s=59;case 59:if($c){$c=false;bn=bn.$blk();}if(bn&&bn.$blk!==undefined){break s;}bm=bn;C.Value.copy(c,bl);d=bm;bo=[c,d];$s=60;case 60:return bo;case 58:am=$append(am,bg);bp=$clone(bg,C.Value).Add($clone(j,C.Value));$s=61;case 61:if($c){$c=false;bp=bp.$blk();}if(bp&&bp.$blk!==undefined){break s;}C.Value.copy(bg,bp);$s=44;continue;case 45:if(am.$length===0){bq=$clone(C.ListValEmpty($clone(C.Number,C.Type)),C.Value);br=$ifaceNil;C.Value.copy(c,bq);d=br;$s=-1;return[c,d];}bt=C.ListVal(am);$s=62;case 62:if($c){$c=false;bt=bt.$blk();}if(bt&&bt.$blk!==undefined){break s;}bs=$clone(bt,C.Value);bu=$ifaceNil;C.Value.copy(c,bs);d=bu;bv=[c,d];$s=63;case 63:return bv;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.RegexFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("pattern",$clone(C.String,C.Type),false,false,false,false),new D.Parameter.ptr("string",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,(function $b(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).IsKnown()){$s=-1;return[C.DynamicPseudoType,$ifaceNil];}c=AY($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString());$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=$clone(b[0],C.Type);e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){e=D.NewArgError(0,e);}$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($equal(b,C.DynamicPseudoType,C.Type)){$s=-1;return[C.DynamicVal,$ifaceNil];}d=A.Compile($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString());$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:g=D.NewArgErrorf(0,"error parsing pattern: %s",new EI([f]));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=[C.NilVal,g];$s=5;case 5:return h;case 3:i=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).AsString();j=e.FindStringSubmatchIndex(i);$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(k===EN.nil){$s=7;continue;}$s=8;continue;case 7:l=E.Errorf("pattern did not match any part of the given string",new EI([]));$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=[C.NilVal,l];$s=10;case 10:return m;case 8:n=AZ(e,i,k,$clone(b,C.Type));$s=11;case 11:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=[n,$ifaceNil];$s=12;case 12:return o;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.RegexAllFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("pattern",$clone(C.String,C.Type),false,false,false,false),new D.Parameter.ptr("string",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,(function $b(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).IsKnown()){$s=-1;return[C.List($clone(C.DynamicPseudoType,C.Type)),$ifaceNil];}c=AY($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString());$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=$clone(b[0],C.Type);e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){e=D.NewArgError(0,e);}$s=-1;return[C.List($clone(d,C.Type)),e];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone(b,C.Type).ElementType();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=$clone(c,C.Type);if($equal(d,C.DynamicPseudoType,C.Type)){$s=-1;return[C.DynamicVal,$ifaceNil];}f=A.Compile($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString());$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=3;continue;}$s=4;continue;case 3:i=D.NewArgErrorf(0,"error parsing pattern: %s",new EI([h]));$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=[C.NilVal,i];$s=6;case 6:return j;case 4:k=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).AsString();l=g.FindAllStringSubmatchIndex(k,-1);$s=7;case 7:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(m.$length===0){$s=-1;return[C.ListValEmpty($clone(d,C.Type)),$ifaceNil];}n=$makeSlice(EK,m.$length);o=m;p=0;case 8:if(!(p<o.$length)){$s=9;continue;}q=p;r=((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]);s=AZ(g,k,r,$clone(d,C.Type));$s=10;case 10:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}C.Value.copy(((q<0||q>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+q]),s);p++;$s=8;continue;case 9:t=C.ListVal(n);$s=11;case 11:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=[t,$ifaceNil];$s=12;case 12:return u;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.AbsoluteFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("num",$clone(C.Number,C.Type),false,false,true,true)]),EF.nil,D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Absolute();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=[c,$ifaceNil];$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.AddFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("a",$clone(C.Number,C.Type),false,false,true,false),new D.Parameter.ptr("b",$clone(C.Number,C.Type),false,false,true,false)]),EF.nil,D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=[c];d=[d];d[0]=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);c[0]=$ifaceNil;$deferred.push([(function(c,d){return function $b(){var e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$recover();if(!($interfaceIsEqual(e,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:f=$assertType(e,L.ErrNaN,true);g=f[1];if(g){$s=3;continue;}$s=4;continue;case 3:C.Value.copy(d[0],C.NilVal);h=E.Errorf("can't compute sum of opposing infinities",new EI([]));$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}c[0]=h;$s=5;continue;case 4:$panic(e);case 5:case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};})(c,d),[]]);f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Add($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$clone(f,C.Value);g=$ifaceNil;C.Value.copy(d[0],e);c[0]=g;h=[d[0],c[0]];$s=2;case 2:return h;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[d[0],c[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}}))),D.Function);$pkg.SubtractFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("a",$clone(C.Number,C.Type),false,false,true,false),new D.Parameter.ptr("b",$clone(C.Number,C.Type),false,false,true,false)]),EF.nil,D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=[c];d=[d];d[0]=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);c[0]=$ifaceNil;$deferred.push([(function(c,d){return function $b(){var e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$recover();if(!($interfaceIsEqual(e,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:f=$assertType(e,L.ErrNaN,true);g=f[1];if(g){$s=3;continue;}$s=4;continue;case 3:C.Value.copy(d[0],C.NilVal);h=E.Errorf("can't subtract infinity from itself",new EI([]));$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}c[0]=h;$s=5;continue;case 4:$panic(e);case 5:case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};})(c,d),[]]);f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Subtract($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$clone(f,C.Value);g=$ifaceNil;C.Value.copy(d[0],e);c[0]=g;h=[d[0],c[0]];$s=2;case 2:return h;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[d[0],c[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}}))),D.Function);$pkg.MultiplyFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("a",$clone(C.Number,C.Type),false,false,true,false),new D.Parameter.ptr("b",$clone(C.Number,C.Type),false,false,true,false)]),EF.nil,D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=[c];d=[d];d[0]=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);c[0]=$ifaceNil;$deferred.push([(function(c,d){return function $b(){var e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$recover();if(!($interfaceIsEqual(e,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:f=$assertType(e,L.ErrNaN,true);g=f[1];if(g){$s=3;continue;}$s=4;continue;case 3:C.Value.copy(d[0],C.NilVal);h=E.Errorf("can't multiply zero by infinity",new EI([]));$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}c[0]=h;$s=5;continue;case 4:$panic(e);case 5:case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};})(c,d),[]]);f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Multiply($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$clone(f,C.Value);g=$ifaceNil;C.Value.copy(d[0],e);c[0]=g;h=[d[0],c[0]];$s=2;case 2:return h;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[d[0],c[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}}))),D.Function);$pkg.DivideFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("a",$clone(C.Number,C.Type),false,false,true,false),new D.Parameter.ptr("b",$clone(C.Number,C.Type),false,false,true,false)]),EF.nil,D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=[c];d=[d];d[0]=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);c[0]=$ifaceNil;$deferred.push([(function(c,d){return function $b(){var e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$recover();if(!($interfaceIsEqual(e,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:f=$assertType(e,L.ErrNaN,true);g=f[1];if(g){$s=3;continue;}$s=4;continue;case 3:C.Value.copy(d[0],C.NilVal);h=E.Errorf("can't divide zero by zero or infinity by infinity",new EI([]));$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}c[0]=h;$s=5;continue;case 4:$panic(e);case 5:case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};})(c,d),[]]);f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Divide($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$clone(f,C.Value);g=$ifaceNil;C.Value.copy(d[0],e);c[0]=g;h=[d[0],c[0]];$s=2;case 2:return h;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[d[0],c[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}}))),D.Function);$pkg.ModuloFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("a",$clone(C.Number,C.Type),false,false,true,false),new D.Parameter.ptr("b",$clone(C.Number,C.Type),false,false,true,false)]),EF.nil,D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=[c];d=[d];d[0]=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);c[0]=$ifaceNil;$deferred.push([(function(c,d){return function $b(){var e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$recover();if(!($interfaceIsEqual(e,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:f=$assertType(e,L.ErrNaN,true);g=f[1];if(g){$s=3;continue;}$s=4;continue;case 3:C.Value.copy(d[0],C.NilVal);h=E.Errorf("can't use modulo with zero and infinity",new EI([]));$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}c[0]=h;$s=5;continue;case 4:$panic(e);case 5:case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};})(c,d),[]]);f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Modulo($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$clone(f,C.Value);g=$ifaceNil;C.Value.copy(d[0],e);c[0]=g;h=[d[0],c[0]];$s=2;case 2:return h;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[d[0],c[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}}))),D.Function);$pkg.GreaterThanFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("a",$clone(C.Number,C.Type),false,false,true,true),new D.Parameter.ptr("b",$clone(C.Number,C.Type),false,false,true,true)]),EF.nil,D.StaticReturnType($clone(C.Bool,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).GreaterThan($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$clone(f,C.Value);g=$ifaceNil;C.Value.copy(c,e);d=g;h=[c,d];$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.GreaterThanOrEqualToFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("a",$clone(C.Number,C.Type),false,false,true,true),new D.Parameter.ptr("b",$clone(C.Number,C.Type),false,false,true,true)]),EF.nil,D.StaticReturnType($clone(C.Bool,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).GreaterThanOrEqualTo($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$clone(f,C.Value);g=$ifaceNil;C.Value.copy(c,e);d=g;h=[c,d];$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.LessThanFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("a",$clone(C.Number,C.Type),false,false,true,true),new D.Parameter.ptr("b",$clone(C.Number,C.Type),false,false,true,true)]),EF.nil,D.StaticReturnType($clone(C.Bool,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).LessThan($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$clone(f,C.Value);g=$ifaceNil;C.Value.copy(c,e);d=g;h=[c,d];$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.LessThanOrEqualToFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("a",$clone(C.Number,C.Type),false,false,true,true),new D.Parameter.ptr("b",$clone(C.Number,C.Type),false,false,true,true)]),EF.nil,D.StaticReturnType($clone(C.Bool,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).LessThanOrEqualTo($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$clone(f,C.Value);g=$ifaceNil;C.Value.copy(c,e);d=g;h=[c,d];$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.NegateFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("num",$clone(C.Number,C.Type),false,false,true,true)]),EF.nil,D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Negate();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=[c,$ifaceNil];$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.MinFunc=$clone(D.New(new D.Spec.ptr(new EE([]),new D.Parameter.ptr("numbers",$clone(C.Number,C.Type),false,false,true,false),D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(a.$length===0){$s=1;continue;}$s=2;continue;case 1:c=E.Errorf("must pass at least one number",new EI([]));$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=[C.NilVal,c];$s=4;case 4:return d;case 2:e=$clone(C.PositiveInfinity,C.Value);f=a;g=0;case 5:if(!(g<f.$length)){$s=6;continue;}h=$clone(((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]),C.Value);i=$clone(h,C.Value).LessThan($clone(e,C.Value));$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=$clone(i,C.Value).True();$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(j){$s=7;continue;}$s=8;continue;case 7:C.Value.copy(e,h);case 8:g++;$s=5;continue;case 6:$s=-1;return[e,$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.MaxFunc=$clone(D.New(new D.Spec.ptr(new EE([]),new D.Parameter.ptr("numbers",$clone(C.Number,C.Type),false,false,true,false),D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(a.$length===0){$s=1;continue;}$s=2;continue;case 1:c=E.Errorf("must pass at least one number",new EI([]));$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=[C.NilVal,c];$s=4;case 4:return d;case 2:e=$clone(C.NegativeInfinity,C.Value);f=a;g=0;case 5:if(!(g<f.$length)){$s=6;continue;}h=$clone(((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]),C.Value);i=$clone(h,C.Value).GreaterThan($clone(e,C.Value));$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=$clone(i,C.Value).True();$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(j){$s=7;continue;}$s=8;continue;case 7:C.Value.copy(e,h);case 8:g++;$s=5;continue;case 6:$s=-1;return[e,$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.IntFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("num",$clone(C.Number,C.Type),false,false,true,false)]),EF.nil,D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsBigFloat();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=d.IsInt();$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(e){$s=2;continue;}$s=3;continue;case 2:$s=-1;return[(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),$ifaceNil];case 3:g=d.Int(EO.nil);$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=(new L.Float.ptr(0,0,0,0,false,L.nat.nil,0)).SetInt(h);$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}d=i;$s=-1;return[C.NumberVal(d),$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.CeilFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("num",$clone(C.Number,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsBigFloat();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(f.IsInf()){g=$clone(C.NumberVal(f),C.Value);h=$ifaceNil;C.Value.copy(c,g);d=h;$s=-1;return[c,d];}j=f.Int(EO.nil);$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];m=l;if((m===(0))||(m===(1))){$s=4;continue;}if(m===(-1)){$s=5;continue;}$s=6;continue;case 4:$s=6;continue;case 5:n=k.Add(k,L.NewInt(new $Int64(0,1)));$s=7;case 7:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n;case 6:case 3:p=f.SetInt(k);$s=8;case 8:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=C.NumberVal(p);$s=9;case 9:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}o=$clone(q,C.Value);r=$ifaceNil;C.Value.copy(c,o);d=r;s=[c,d];$s=10;case 10:return s;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.FloorFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("num",$clone(C.Number,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsBigFloat();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(f.IsInf()){g=$clone(C.NumberVal(f),C.Value);h=$ifaceNil;C.Value.copy(c,g);d=h;$s=-1;return[c,d];}j=f.Int(EO.nil);$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];m=l;if((m===(0))||(m===(-1))){$s=4;continue;}if(m===(1)){$s=5;continue;}$s=6;continue;case 4:$s=6;continue;case 5:n=k.Sub(k,L.NewInt(new $Int64(0,1)));$s=7;case 7:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n;case 6:case 3:p=f.SetInt(k);$s=8;case 8:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=C.NumberVal(p);$s=9;case 9:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}o=$clone(q,C.Value);r=$ifaceNil;C.Value.copy(c,o);d=r;s=[c,d];$s=10;case 10:return s;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.LogFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("num",$clone(C.Number,C.Type),false,false,false,false),new D.Parameter.ptr("base",$clone(C.Number,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=[d];e=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);f=$ifaceNil;d[0]=0;g=H.FromCtyValue($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value),(d.$ptr||(d.$ptr=new EP(function(){return this.$target[0];},function($v){this.$target[0]=$v;},d))));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!($interfaceIsEqual(h,$ifaceNil))){i=$clone(C.UnknownVal($clone(C.String,C.Type)),C.Value);j=h;C.Value.copy(e,i);f=j;$s=-1;return[e,f];}c[0]=0;k=H.FromCtyValue($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value),(c.$ptr||(c.$ptr=new EP(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c))));$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(!($interfaceIsEqual(l,$ifaceNil))){m=$clone(C.UnknownVal($clone(C.String,C.Type)),C.Value);n=l;C.Value.copy(e,m);f=n;$s=-1;return[e,f];}p=C.NumberFloatVal(K.Log(d[0])/K.Log(c[0]));$s=3;case 3:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=$clone(p,C.Value);q=$ifaceNil;C.Value.copy(e,o);f=q;r=[e,f];$s=4;case 4:return r;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.PowFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("num",$clone(C.Number,C.Type),false,false,false,false),new D.Parameter.ptr("power",$clone(C.Number,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=[d];e=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);f=$ifaceNil;c[0]=0;g=H.FromCtyValue($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value),(c.$ptr||(c.$ptr=new EP(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c))));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!($interfaceIsEqual(h,$ifaceNil))){i=$clone(C.UnknownVal($clone(C.String,C.Type)),C.Value);j=h;C.Value.copy(e,i);f=j;$s=-1;return[e,f];}d[0]=0;k=H.FromCtyValue($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value),(d.$ptr||(d.$ptr=new EP(function(){return this.$target[0];},function($v){this.$target[0]=$v;},d))));$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(!($interfaceIsEqual(l,$ifaceNil))){m=$clone(C.UnknownVal($clone(C.String,C.Type)),C.Value);n=l;C.Value.copy(e,m);f=n;$s=-1;return[e,f];}p=C.NumberFloatVal(K.Pow(c[0],d[0]));$s=3;case 3:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=$clone(p,C.Value);q=$ifaceNil;C.Value.copy(e,o);f=q;r=[e,f];$s=4;case 4:return r;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.SignumFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("num",$clone(C.Number,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);e=$ifaceNil;c[0]=0;f=H.FromCtyValue($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value),(c.$ptr||(c.$ptr=new EH(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c))));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(!($interfaceIsEqual(g,$ifaceNil))){h=$clone(C.UnknownVal($clone(C.String,C.Type)),C.Value);i=g;C.Value.copy(d,h);e=i;$s=-1;return[d,e];}if(c[0]<0){$s=3;continue;}if(c[0]>0){$s=4;continue;}$s=5;continue;case 3:k=C.NumberIntVal(new $Int64(-1,4294967295));$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=$clone(k,C.Value);l=$ifaceNil;C.Value.copy(d,j);e=l;m=[d,e];$s=8;case 8:return m;case 4:o=C.NumberIntVal(new $Int64(0,1));$s=9;case 9:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=$clone(o,C.Value);p=$ifaceNil;C.Value.copy(d,n);e=p;q=[d,e];$s=10;case 10:return q;case 5:s=C.NumberIntVal(new $Int64(0,0));$s=11;case 11:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=$clone(s,C.Value);t=$ifaceNil;C.Value.copy(d,r);e=t;u=[d,e];$s=12;case 12:return u;case 6:case 2:$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.ParseIntFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("number",$clone(C.DynamicPseudoType,C.Type),false,false,false,false),new D.Parameter.ptr("base",$clone(C.Number,C.Type),false,false,false,false)]),EF.nil,(function $b(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$clone($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Type(),C.Type).Equals($clone(C.String,C.Type));$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}if(!b){$s=1;continue;}$s=2;continue;case 1:c=$clone($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Type(),C.Type).FriendlyName();$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=new $String(c);e=D.NewArgErrorf(0,"first argument must be a string, not %s",new EI([d]));$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=[C.Number,e];$s=6;case 6:return f;case 2:$s=-1;return[C.Number,$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=[d];d[0]="";c[0]=0;e=$ifaceNil;f=H.FromCtyValue($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value),(d.$ptr||(d.$ptr=new EQ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},d))));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[C.UnknownVal($clone(C.String,C.Type)),D.NewArgError(0,e)];}g=H.FromCtyValue($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value),(c.$ptr||(c.$ptr=new EH(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c))));$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}e=g;if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[C.UnknownVal($clone(C.Number,C.Type)),D.NewArgError(1,e)];}if(c[0]<2||c[0]>62){$s=3;continue;}$s=4;continue;case 3:h=D.NewArgErrorf(1,"base must be a whole number between 2 and 62 inclusive",new EI([]));$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=[C.UnknownVal($clone(C.Number,C.Type)),h];$s=6;case 6:return i;case 4:k=(new L.Int.ptr(false,L.nat.nil)).SetString(d[0],c[0]);$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];if(!m){$s=8;continue;}$s=9;continue;case 8:n=D.NewArgErrorf(0,"cannot parse %q as a base %d integer",new EI([new $String(d[0]),new $Int(c[0])]));$s=10;case 10:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=[C.UnknownVal($clone(C.Number,C.Type)),n];$s=11;case 11:return o;case 9:p=(new L.Float.ptr(0,0,0,0,false,L.nat.nil,0)).SetInt(l);$s=12;case 12:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=C.NumberVal(p);$s=13;case 13:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=$clone(q,C.Value);$s=-1;return[r,$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.JSONEncodeFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("val",$clone(C.DynamicPseudoType,C.Type),true,false,true,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);d=$clone(c,C.Value).IsWhollyKnown();$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}if(!d){$s=1;continue;}$s=2;continue;case 1:$s=-1;return[C.UnknownVal($clone(b,C.Type)),$ifaceNil];case 2:if($clone(c,C.Value).IsNull()){$s=4;continue;}$s=5;continue;case 4:e=C.StringVal("null");$s=6;case 6:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=[e,$ifaceNil];$s=7;case 7:return f;case 5:h=M.Marshal($clone(c,C.Value),$clone($clone(c,C.Value).Type(),C.Type));$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return[C.NilVal,j];}k=C.StringVal(($bytesToString(i)));$s=9;case 9:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=[k,$ifaceNil];$s=10;case 10:return l;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.JSONDecodeFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,(function $b(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);if(!$clone(b,C.Value).IsKnown()){$s=-1;return[C.DynamicPseudoType,$ifaceNil];}c=(new EG($stringToBytes($clone(b,C.Value).AsString())));d=M.ImpliedType(c);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=(new EG($stringToBytes($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString())));d=M.Unmarshal(c,$clone(b,C.Type));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.EqualFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("a",$clone(C.DynamicPseudoType,C.Type),true,true,true,false),new D.Parameter.ptr("b",$clone(C.DynamicPseudoType,C.Type),true,true,true,false)]),EF.nil,D.StaticReturnType($clone(C.Bool,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Equals($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$clone(f,C.Value);g=$ifaceNil;C.Value.copy(c,e);d=g;h=[c,d];$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.NotEqualFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("a",$clone(C.DynamicPseudoType,C.Type),true,true,true,false),new D.Parameter.ptr("b",$clone(C.DynamicPseudoType,C.Type),true,true,true,false)]),EF.nil,D.StaticReturnType($clone(C.Bool,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Equals($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=$clone(f,C.Value).Not();$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}e=$clone(g,C.Value);h=$ifaceNil;C.Value.copy(c,e);d=h;i=[c,d];$s=3;case 3:return i;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.CoalesceFunc=$clone(D.New(new D.Spec.ptr(new EE([]),new D.Parameter.ptr("vals",$clone(C.DynamicPseudoType,C.Type),true,true,true,false),(function $b(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new C.Type.ptr($ifaceNil);c=$ifaceNil;d=$makeSlice(EL,a.$length);e=a;f=0;while(true){if(!(f<e.$length)){break;}g=f;h=$clone(((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]),C.Value);C.Type.copy(((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]),$clone(h,C.Value).Type());f++;}j=I.UnifyUnsafe(d);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=$clone(i[0],C.Type);if($equal(k,C.NilType,C.Type)){$s=2;continue;}$s=3;continue;case 2:l=$clone(C.NilType,C.Type);n=E.Errorf("all arguments must have the same type",new EI([]));$s=4;case 4:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;C.Type.copy(b,l);c=m;o=[b,c];$s=5;case 5:return o;case 3:p=$clone(k,C.Type);q=$ifaceNil;C.Type.copy(b,p);c=q;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=a;f=0;case 1:if(!(f<e.$length)){$s=2;continue;}g=$clone(((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]),C.Value);if(!$clone(g,C.Value).IsKnown()){h=$clone(C.UnknownVal($clone(b,C.Type)),C.Value);i=$ifaceNil;C.Value.copy(c,h);d=i;$s=-1;return[c,d];}if($clone(g,C.Value).IsNull()){f++;$s=1;continue;}k=I.Convert($clone(g,C.Value),$clone(b,C.Type));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;C.Value.copy(c,j[0]);d=j[1];l=[c,d];$s=4;case 4:return l;case 2:m=$clone(C.NilVal,C.Value);o=E.Errorf("no non-null arguments",new EI([]));$s=5;case 5:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;C.Value.copy(c,m);d=n;p=[c,d];$s=6;case 6:return p;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);BZ=new EG([0,1,0,1,1,1,2,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,14,1,16,1,17,1,18,2,3,4,2,12,10,2,12,16,2,12,18,2,13,14,2,15,10,2,15,18]);CA=new EG([0,0,14,27,34,36,39,43,51]);CB=new EG([32,35,37,43,45,46,48,91,49,57,65,90,97,122,32,35,43,45,46,48,91,49,57,65,90,97,122,91,48,57,65,90,97,122,49,57,93,48,57,65,90,97,122,46,91,48,57,65,90,97,122,37]);CC=new EG([0,8,7,1,0,1,0,2,1]);CD=new EG([0,3,3,3,1,1,2,3,0]);CE=new EG([0,0,12,23,28,30,33,36,42]);CF=new EG([1,2,3,4,5,6,7,10,8,9,9,0,1,2,4,5,6,7,10,8,9,9,0,13,11,12,12,0,14,0,15,14,0,9,9,0,16,19,17,18,18,0,20,3]);CG=new EG([0,2,2,8,2,2,3,2,7,8,4,3,8,4,5,6,3,7,8,4,1]);CH=new EG([7,17,9,3,15,13,25,11,43,29,19,27,49,46,21,0,37,23,40,34,1]);CI=new EG([0,31,31,31,31,31,31,31,5]);$pkg.FormatFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("format",$clone(C.String,C.Type),false,false,false,false)]),new D.Parameter.ptr("args",$clone(C.DynamicPseudoType,C.Type),true,false,false,false),D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$subslice(a,1);d=0;case 1:if(!(d<c.$length)){$s=2;continue;}e=$clone(((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),C.Value);f=$clone(e,C.Value).IsWhollyKnown();$s=5;case 5:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(!f){$s=3;continue;}$s=4;continue;case 3:$s=-1;return[C.UnknownVal($clone(C.String,C.Type)),$ifaceNil];case 4:d++;$s=1;continue;case 2:h=CJ($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString(),$subslice(a,1));$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];k=C.StringVal(i);$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=[k,j];$s=8;case 8:return l;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.FormatListFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("format",$clone(C.String,C.Type),false,false,false,false)]),new D.Parameter.ptr("args",$clone(C.DynamicPseudoType,C.Type),true,true,false,false),D.StaticReturnType($clone(C.List($clone(C.String,C.Type)),C.Type)),(function $b(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);a=$subslice(a,1);if(a.$length===0){$s=1;continue;}$s=2;continue;case 1:e=CK($clone(c,C.Value),a);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=$clone(d[0],C.Value);g=d[1];h=C.ListVal(new EK([$clone(f,C.Value)]));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=[h,g];$s=5;case 5:return i;case 2:j=$clone(c,C.Value).AsString();k=-1;l=-1;m=$makeSlice(ER,a.$length);n=$makeSlice(EK,a.$length);o=$makeSlice(ES,a.$length);p=a;q=0;case 6:if(!(q<p.$length)){$s=7;continue;}r=q;s=$clone(((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]),C.Value);t=$clone($clone(s,C.Value).Type(),C.Type);if(($clone(t,C.Type).IsListType()||$clone(t,C.Type).IsSetType()||$clone(t,C.Type).IsTupleType())&&!$clone(s,C.Value).IsNull()){$s=9;continue;}if($equal(s,C.DynamicVal,C.Value)){$s=10;continue;}$s=11;continue;case 9:if(!(!$clone(t,C.Type).IsTupleType())){u=false;$s=15;continue s;}if(!($clone(s,C.Value).IsKnown())){v=false;$s=16;continue s;}w=$clone(s,C.Value).Length();$s=17;case 17:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=$clone(w,C.Value).IsKnown();$s=18;case 18:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}v=x;case 16:u=!(v);case 15:if(u){$s=13;continue;}$s=14;continue;case 13:((r<0||r>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+r]=true);q++;$s=6;continue;case 14:y=$clone(s,C.Value).LengthInt();if(k===-1){$s=19;continue;}$s=20;continue;case 19:k=y;l=r;$s=21;continue;case 20:if(!((y===k))){$s=22;continue;}$s=23;continue;case 22:z=D.NewArgErrorf(r+1>>0,"argument %d has length %d, which is inconsistent with argument %d of length %d",new EI([new $Int((r+1>>0)),new $Int(y),new $Int((l+1>>0)),new $Int(k)]));$s=24;case 24:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=[C.NullVal($clone(C.List($clone(C.String,C.Type)),C.Type)),z];$s=25;case 25:return aa;case 23:case 21:if(!$clone(s,C.Value).IsKnown()){((r<0||r>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+r]=true);q++;$s=6;continue;}ab=$clone(s,C.Value).ElementIterator();$s=26;case 26:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}((r<0||r>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+r]=ab);$s=12;continue;case 10:((r<0||r>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+r]=true);$s=12;continue;case 11:C.Value.copy(((r<0||r>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+r]),s);case 12:case 8:q++;$s=6;continue;case 7:ac=o;ad=0;while(true){if(!(ad<ac.$length)){break;}ae=((ad<0||ad>=ac.$length)?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+ad]);if(ae){$s=-1;return[C.UnknownVal($clone(b,C.Type)),$ifaceNil];}ad++;}if(k===0){$s=-1;return[C.ListValEmpty($clone(C.String,C.Type)),$ifaceNil];}if(k===-1){k=1;}af=$makeSlice(EK,0,k);ag=$makeSlice(EK,m.$length);ah=0;case 27:if(!(ah<k)){$s=28;continue;}ai=ag;aj=0;case 29:if(!(aj<ai.$length)){$s=30;continue;}ak=aj;if(!($interfaceIsEqual(((ak<0||ak>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+ak]),$ifaceNil))){$s=32;continue;}$s=33;continue;case 32:al=((ak<0||ak>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+ak]);am=al.Next();$s=35;case 35:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}am;ao=al.Element();$s=36;case 36:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}an=ao;ap=$clone(an[1],C.Value);C.Value.copy(((ak<0||ak>=ag.$length)?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+ak]),ap);$s=34;continue;case 33:C.Value.copy(((ak<0||ak>=ag.$length)?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+ak]),((ak<0||ak>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+ak]));case 34:case 31:aq=$clone(((ak<0||ak>=ag.$length)?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+ak]),C.Value).IsWhollyKnown();$s=39;case 39:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}if(!aq){$s=37;continue;}$s=38;continue;case 37:af=$append(af,C.UnknownVal($clone(C.String,C.Type)));ah=ah+(1)>>0;$s=27;continue s;case 38:aj++;$s=29;continue;case 30:as=CJ(j,ag);$s=40;case 40:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as;at=ar[0];au=ar[1];if(!($interfaceIsEqual(au,$ifaceNil))){$s=41;continue;}$s=42;continue;case 41:av=E.Errorf("error on format iteration %d: %s",new EI([new $Int(ah),au]));$s=43;case 43:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=[C.NullVal($clone(C.List($clone(C.String,C.Type)),C.Type)),av];$s=44;case 44:return aw;case 42:ax=C.StringVal(at);$s=45;case 45:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}af=$append(af,ax);ah=ah+(1)>>0;$s=27;continue;case 28:ay=C.ListVal(af);$s=46;case 46:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=[ay,$ifaceNil];$s=47;case 47:return az;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.FormatDateFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("format",$clone(C.String,C.Type),false,false,false,false),new D.Parameter.ptr("time",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,d,da,db,dc,dd,de,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;c=$f.c;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;cr=$f.cr;cs=$f.cs;ct=$f.ct;cu=$f.cu;cv=$f.cv;cw=$f.cw;cx=$f.cx;cy=$f.cy;cz=$f.cz;d=$f.d;da=$f.da;db=$f.db;dc=$f.dc;dd=$f.dd;de=$f.de;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString();e=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).AsString();g=CW(e);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=$clone(f[0],Q.Time);i=f[1];if(!($interfaceIsEqual(i,$ifaceNil))){$s=-1;return[C.DynamicVal,D.NewArgError(1,i)];}c[0]=new N.Buffer.ptr(EG.nil,0,0);j=P.NewScanner(B.NewReader(d));j.Split(CX);case 2:k=j.Scan();$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(!(k)){$s=3;continue;}l=j.Bytes();if(((0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])===39)){$s=6;continue;}if(CY((0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0]))){$s=7;continue;}$s=8;continue;case 6:if(!(((m=l.$length-1>>0,((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]))===39))||(l.$length===1)){$s=10;continue;}$s=11;continue;case 10:n=D.NewArgErrorf(0,"unterminated literal '",new EI([]));$s=12;case 12:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=[C.DynamicVal,n];$s=13;case 13:return o;case 11:if(l.$length===2){$s=14;continue;}$s=15;continue;case 14:p=c[0].WriteByte(39);$s=17;case 17:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;$s=16;continue;case 15:q=$subslice(l,1,(l.$length-1>>0));r=0;case 18:if(!(r<q.$length)){$s=19;continue;}s=c[0].WriteByte(((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]));$s=20;case 20:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}s;if(((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r])===39){r=r+(1)>>0;}r=r+(1)>>0;$s=18;continue;case 19:case 16:$s=9;continue;case 7:t=(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0]);if(t===(89)){$s=22;continue;}if(t===(77)){$s=23;continue;}if(t===(68)){$s=24;continue;}if(t===(69)){$s=25;continue;}if(t===(104)){$s=26;continue;}if(t===(72)){$s=27;continue;}if((t===(65))||(t===(97))){$s=28;continue;}if(t===(109)){$s=29;continue;}if(t===(115)){$s=30;continue;}if(t===(90)){$s=31;continue;}$s=32;continue;case 22:u=$clone(h,Q.Time).Year();$s=34;case 34:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;w=l.$length;if(w===(2)){$s=36;continue;}if(w===(4)){$s=37;continue;}$s=38;continue;case 36:y=E.Fprintf(c[0],"%02d",new EI([new $Int((x=v%100,x===x?x:$throwRuntimeError("integer divide by zero")))]));$s=40;case 40:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}y;$s=39;continue;case 37:z=E.Fprintf(c[0],"%04d",new EI([new $Int(v)]));$s=41;case 41:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}z;$s=39;continue;case 38:aa=D.NewArgErrorf(0,"invalid date format verb %q: year must either be \"YY\" or \"YYYY\"",new EI([l]));$s=42;case 42:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=[C.DynamicVal,aa];$s=43;case 43:return ab;case 39:case 35:$s=33;continue;case 23:ac=$clone(h,Q.Time).Month();$s=44;case 44:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;ae=l.$length;if(ae===(1)){$s=46;continue;}if(ae===(2)){$s=47;continue;}if(ae===(3)){$s=48;continue;}if(ae===(4)){$s=49;continue;}$s=50;continue;case 46:af=E.Fprintf(c[0],"%d",new EI([new Q.Month(ad)]));$s=52;case 52:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}af;$s=51;continue;case 47:ag=E.Fprintf(c[0],"%02d",new EI([new Q.Month(ad)]));$s=53;case 53:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ag;$s=51;continue;case 48:ah=c[0].WriteString($substring(new Q.Month(ad).String(),0,3));$s=54;case 54:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ah;$s=51;continue;case 49:ai=c[0].WriteString(new Q.Month(ad).String());$s=55;case 55:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ai;$s=51;continue;case 50:aj=D.NewArgErrorf(0,"invalid date format verb %q: month must be \"M\", \"MM\", \"MMM\", or \"MMMM\"",new EI([l]));$s=56;case 56:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=[C.DynamicVal,aj];$s=57;case 57:return ak;case 51:case 45:$s=33;continue;case 24:al=$clone(h,Q.Time).Day();$s=58;case 58:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;an=l.$length;if(an===(1)){$s=60;continue;}if(an===(2)){$s=61;continue;}$s=62;continue;case 60:ao=E.Fprintf(c[0],"%d",new EI([new $Int(am)]));$s=64;case 64:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ao;$s=63;continue;case 61:ap=E.Fprintf(c[0],"%02d",new EI([new $Int(am)]));$s=65;case 65:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ap;$s=63;continue;case 62:aq=D.NewArgErrorf(0,"invalid date format verb %q: day of month must either be \"D\" or \"DD\"",new EI([l]));$s=66;case 66:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=[C.DynamicVal,aq];$s=67;case 67:return ar;case 63:case 59:$s=33;continue;case 25:as=$clone(h,Q.Time).Weekday();$s=68;case 68:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;au=l.$length;if(au===(3)){$s=70;continue;}if(au===(4)){$s=71;continue;}$s=72;continue;case 70:av=c[0].WriteString($substring(new Q.Weekday(at).String(),0,3));$s=74;case 74:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}av;$s=73;continue;case 71:aw=c[0].WriteString(new Q.Weekday(at).String());$s=75;case 75:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}aw;$s=73;continue;case 72:ax=D.NewArgErrorf(0,"invalid date format verb %q: day of week must either be \"EEE\" or \"EEEE\"",new EI([l]));$s=76;case 76:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ay=[C.DynamicVal,ax];$s=77;case 77:return ay;case 73:case 69:$s=33;continue;case 26:az=$clone(h,Q.Time).Hour();$s=78;case 78:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=az;bb=l.$length;if(bb===(1)){$s=80;continue;}if(bb===(2)){$s=81;continue;}$s=82;continue;case 80:bc=E.Fprintf(c[0],"%d",new EI([new $Int(ba)]));$s=84;case 84:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}bc;$s=83;continue;case 81:bd=E.Fprintf(c[0],"%02d",new EI([new $Int(ba)]));$s=85;case 85:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}bd;$s=83;continue;case 82:be=D.NewArgErrorf(0,"invalid date format verb %q: 24-hour must either be \"h\" or \"hh\"",new EI([l]));$s=86;case 86:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}bf=[C.DynamicVal,be];$s=87;case 87:return bf;case 83:case 79:$s=33;continue;case 27:bh=$clone(h,Q.Time).Hour();$s=88;case 88:if($c){$c=false;bh=bh.$blk();}if(bh&&bh.$blk!==undefined){break s;}bi=(bg=bh%12,bg===bg?bg:$throwRuntimeError("integer divide by zero"));if(bi===0){bi=12;}bj=l.$length;if(bj===(1)){$s=90;continue;}if(bj===(2)){$s=91;continue;}$s=92;continue;case 90:bk=E.Fprintf(c[0],"%d",new EI([new $Int(bi)]));$s=94;case 94:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}bk;$s=93;continue;case 91:bl=E.Fprintf(c[0],"%02d",new EI([new $Int(bi)]));$s=95;case 95:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}bl;$s=93;continue;case 92:bm=D.NewArgErrorf(0,"invalid date format verb %q: 12-hour must either be \"H\" or \"HH\"",new EI([l]));$s=96;case 96:if($c){$c=false;bm=bm.$blk();}if(bm&&bm.$blk!==undefined){break s;}bn=[C.DynamicVal,bm];$s=97;case 97:return bn;case 93:case 89:$s=33;continue;case 28:if(!((l.$length===2))){$s=98;continue;}$s=99;continue;case 98:bo=D.NewArgErrorf(0,"invalid date format verb %q: must be \"%s%s\"",new EI([l,$subslice(l,0,1),$subslice(l,0,1)]));$s=100;case 100:if($c){$c=false;bo=bo.$blk();}if(bo&&bo.$blk!==undefined){break s;}bp=[C.DynamicVal,bo];$s=101;case 101:return bp;case 99:bq=(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])===65;bs=$clone(h,Q.Time).Hour();$s=103;case 103:if($c){$c=false;bs=bs.$blk();}if(bs&&bs.$blk!==undefined){break s;}bt=(br=bs/12,(br===br&&br!==1/0&&br!==-1/0)?br>>0:$throwRuntimeError("integer divide by zero"));if(bt===(0)){$s=104;continue;}if(bt===(1)){$s=105;continue;}$s=106;continue;case 104:if(bq){$s=107;continue;}$s=108;continue;case 107:bu=c[0].WriteString("AM");$s=110;case 110:if($c){$c=false;bu=bu.$blk();}if(bu&&bu.$blk!==undefined){break s;}bu;$s=109;continue;case 108:bv=c[0].WriteString("am");$s=111;case 111:if($c){$c=false;bv=bv.$blk();}if(bv&&bv.$blk!==undefined){break s;}bv;case 109:$s=106;continue;case 105:if(bq){$s=112;continue;}$s=113;continue;case 112:bw=c[0].WriteString("PM");$s=115;case 115:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}bw;$s=114;continue;case 113:bx=c[0].WriteString("pm");$s=116;case 116:if($c){$c=false;bx=bx.$blk();}if(bx&&bx.$blk!==undefined){break s;}bx;case 114:case 106:case 102:$s=33;continue;case 29:by=$clone(h,Q.Time).Minute();$s=117;case 117:if($c){$c=false;by=by.$blk();}if(by&&by.$blk!==undefined){break s;}bz=by;ca=l.$length;if(ca===(1)){$s=119;continue;}if(ca===(2)){$s=120;continue;}$s=121;continue;case 119:cb=E.Fprintf(c[0],"%d",new EI([new $Int(bz)]));$s=123;case 123:if($c){$c=false;cb=cb.$blk();}if(cb&&cb.$blk!==undefined){break s;}cb;$s=122;continue;case 120:cc=E.Fprintf(c[0],"%02d",new EI([new $Int(bz)]));$s=124;case 124:if($c){$c=false;cc=cc.$blk();}if(cc&&cc.$blk!==undefined){break s;}cc;$s=122;continue;case 121:cd=D.NewArgErrorf(0,"invalid date format verb %q: minute must either be \"m\" or \"mm\"",new EI([l]));$s=125;case 125:if($c){$c=false;cd=cd.$blk();}if(cd&&cd.$blk!==undefined){break s;}ce=[C.DynamicVal,cd];$s=126;case 126:return ce;case 122:case 118:$s=33;continue;case 30:cf=$clone(h,Q.Time).Second();$s=127;case 127:if($c){$c=false;cf=cf.$blk();}if(cf&&cf.$blk!==undefined){break s;}cg=cf;ch=l.$length;if(ch===(1)){$s=129;continue;}if(ch===(2)){$s=130;continue;}$s=131;continue;case 129:ci=E.Fprintf(c[0],"%d",new EI([new $Int(cg)]));$s=133;case 133:if($c){$c=false;ci=ci.$blk();}if(ci&&ci.$blk!==undefined){break s;}ci;$s=132;continue;case 130:cj=E.Fprintf(c[0],"%02d",new EI([new $Int(cg)]));$s=134;case 134:if($c){$c=false;cj=cj.$blk();}if(cj&&cj.$blk!==undefined){break s;}cj;$s=132;continue;case 131:ck=D.NewArgErrorf(0,"invalid date format verb %q: second must either be \"s\" or \"ss\"",new EI([l]));$s=135;case 135:if($c){$c=false;ck=ck.$blk();}if(ck&&ck.$blk!==undefined){break s;}cl=[C.DynamicVal,ck];$s=136;case 136:return cl;case 132:case 128:$s=33;continue;case 31:cm=l.$length;if(cm===(1)){$s=138;continue;}if(cm===(3)){$s=139;continue;}if(cm===(4)){$s=140;continue;}if(cm===(5)){$s=141;continue;}$s=142;continue;case 138:cn=$clone(h,Q.Time).Format("Z07:00");$s=144;case 144:if($c){$c=false;cn=cn.$blk();}if(cn&&cn.$blk!==undefined){break s;}co=c[0].WriteString(cn);$s=145;case 145:if($c){$c=false;co=co.$blk();}if(co&&co.$blk!==undefined){break s;}co;$s=143;continue;case 139:cp=$clone(h,Q.Time).Format("-0700");$s=146;case 146:if($c){$c=false;cp=cp.$blk();}if(cp&&cp.$blk!==undefined){break s;}cq=cp;cr=cq;if(cr===("+0000")){$s=148;continue;}$s=149;continue;case 148:cs=c[0].WriteString("UTC");$s=151;case 151:if($c){$c=false;cs=cs.$blk();}if(cs&&cs.$blk!==undefined){break s;}cs;$s=150;continue;case 149:ct=c[0].WriteString(cq);$s=152;case 152:if($c){$c=false;ct=ct.$blk();}if(ct&&ct.$blk!==undefined){break s;}ct;case 150:case 147:$s=143;continue;case 140:cu=$clone(h,Q.Time).Format("-0700");$s=153;case 153:if($c){$c=false;cu=cu.$blk();}if(cu&&cu.$blk!==undefined){break s;}cv=c[0].WriteString(cu);$s=154;case 154:if($c){$c=false;cv=cv.$blk();}if(cv&&cv.$blk!==undefined){break s;}cv;$s=143;continue;case 141:cw=$clone(h,Q.Time).Format("-07:00");$s=155;case 155:if($c){$c=false;cw=cw.$blk();}if(cw&&cw.$blk!==undefined){break s;}cx=c[0].WriteString(cw);$s=156;case 156:if($c){$c=false;cx=cx.$blk();}if(cx&&cx.$blk!==undefined){break s;}cx;$s=143;continue;case 142:cy=D.NewArgErrorf(0,"invalid date format verb %q: timezone must be Z, ZZZZ, or ZZZZZ",new EI([l]));$s=157;case 157:if($c){$c=false;cy=cy.$blk();}if(cy&&cy.$blk!==undefined){break s;}cz=[C.DynamicVal,cy];$s=158;case 158:return cz;case 143:case 137:$s=33;continue;case 32:da=D.NewArgErrorf(0,"invalid date format verb %q",new EI([l]));$s=159;case 159:if($c){$c=false;da=da.$blk();}if(da&&da.$blk!==undefined){break s;}db=[C.DynamicVal,da];$s=160;case 160:return db;case 33:case 21:$s=9;continue;case 8:dc=c[0].Write(l);$s=161;case 161:if($c){$c=false;dc=dc.$blk();}if(dc&&dc.$blk!==undefined){break s;}dc;case 9:case 5:$s=2;continue;case 3:dd=C.StringVal(c[0].String());$s=162;case 162:if($c){$c=false;dd=dd.$blk();}if(dd&&dd.$blk!==undefined){break s;}de=[dd,$ifaceNil];$s=163;case 163:return de;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.c=c;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.cr=cr;$f.cs=cs;$f.ct=ct;$f.cu=cu;$f.cv=cv;$f.cw=cw;$f.cx=cx;$f.cy=cy;$f.cz=cz;$f.d=d;$f.da=da;$f.db=db;$f.dc=dc;$f.dd=dd;$f.de=de;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.TimeAddFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("timestamp",$clone(C.String,C.Type),false,false,false,false),new D.Parameter.ptr("duration",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.String,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=CW($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).AsString());$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=$clone(c[0],Q.Time);f=c[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[C.UnknownVal($clone(C.String,C.Type)),f];}g=Q.ParseDuration($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).AsString());h=g[0];f=g[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[C.UnknownVal($clone(C.String,C.Type)),f];}i=$clone($clone(e,Q.Time).Add(h),Q.Time).Format("2006-01-02T15:04:05Z07:00");$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=C.StringVal(i);$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=[j,$ifaceNil];$s=4;case 4:return k;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.CSVDecodeFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("str",$clone(C.String,C.Type),false,false,false,false)]),EF.nil,(function $b(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);if(!$clone(b,C.Value).IsKnown()){$s=-1;return[C.DynamicPseudoType,$ifaceNil];}c=B.NewReader($clone(b,C.Value).AsString());d=R.NewReader(c);f=d.Read();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];if($interfaceIsEqual(h,S.EOF)){$s=2;continue;}$s=3;continue;case 2:i=E.Errorf("missing header line",new EI([]));$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=[C.DynamicPseudoType,i];$s=5;case 5:return j;case 3:if(!($interfaceIsEqual(h,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:k=DB(h);$s=8;case 8:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=[C.DynamicPseudoType,k];$s=9;case 9:return l;case 7:n=(m=g.$length,((m<0||m>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));o=g;p=0;case 10:if(!(p<o.$length)){$s=11;continue;}q=((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]);r=(s=n[$String.keyFor(q)],s!==undefined?[s.v,true]:[new C.Type.ptr($ifaceNil),false]);t=r[1];if(t){$s=12;continue;}$s=13;continue;case 12:u=E.Errorf("duplicate column name %q",new EI([new $String(q)]));$s=14;case 14:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=[C.DynamicPseudoType,u];$s=15;case 15:return v;case 13:w=q;(n||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(w)]={k:w,v:$clone(C.String,C.Type)};p++;$s=10;continue;case 11:x=C.Object(n);$s=16;case 16:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=C.List($clone(x,C.Type));$s=17;case 17:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=[y,$ifaceNil];$s=18;case 18:return z;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone(b,C.Type).ElementType();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=$clone(c,C.Type);e=$clone(d,C.Type).AttributeTypes();f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);g=B.NewReader($clone(f,C.Value).AsString());h=R.NewReader(g);h.FieldsPerRecord=$keys(e).length;j=h.Read();$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];if(!($interfaceIsEqual(l,$ifaceNil))){$s=-1;return[C.DynamicVal,l];}m=EK.nil;case 3:o=h.Read();$s=5;case 5:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[1];if($interfaceIsEqual(q,S.EOF)){$s=4;continue;}if(!($interfaceIsEqual(q,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:r=DB(q);$s=8;case 8:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=[C.DynamicVal,r];$s=9;case 9:return s;case 7:u=(t=p.$length,((t<0||t>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));v=p;w=0;case 10:if(!(w<v.$length)){$s=11;continue;}x=w;y=((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w]);z=((x<0||x>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+x]);ab=C.StringVal(y);$s=12;case 12:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=z;(u||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(aa)]={k:aa,v:$clone(ab,C.Value)};w++;$s=10;continue;case 11:ac=C.ObjectVal(u);$s=13;case 13:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}m=$append(m,ac);$s=3;continue;case 4:if(m.$length===0){$s=-1;return[C.ListValEmpty($clone(d,C.Type)),$ifaceNil];}ad=C.ListVal(m);$s=14;case 14:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=[ad,$ifaceNil];$s=15;case 15:return ae;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.HasIndexFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("collection",$clone(C.DynamicPseudoType,C.Type),false,false,true,false),new D.Parameter.ptr("key",$clone(C.DynamicPseudoType,C.Type),false,false,true,false)]),EF.nil,(function $b(a){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new C.Type.ptr($ifaceNil);c=$ifaceNil;d=$clone($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Type(),C.Type);if(!($clone(d,C.Type).IsTupleType()||$clone(d,C.Type).IsListType()||$clone(d,C.Type).IsMapType()||$equal(d,C.DynamicPseudoType,C.Type))){$s=1;continue;}$s=2;continue;case 1:e=$clone(C.NilType,C.Type);g=E.Errorf("collection must be a list, a map or a tuple",new EI([]));$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;C.Type.copy(b,e);c=f;h=[b,c];$s=4;case 4:return h;case 2:i=$clone(C.Bool,C.Type);j=$ifaceNil;C.Type.copy(b,i);c=j;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).HasIndex($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$clone(f,C.Value);g=$ifaceNil;C.Value.copy(c,e);d=g;h=[c,d];$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.IndexFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("collection",$clone(C.DynamicPseudoType,C.Type),false,false,false,false),new D.Parameter.ptr("key",$clone(C.DynamicPseudoType,C.Type),false,false,true,false)]),EF.nil,(function $b(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=new C.Type.ptr($ifaceNil);d=$ifaceNil;e=$clone($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Type(),C.Type);f=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value);g=$clone($clone(f,C.Value).Type(),C.Type);if($clone(e,C.Type).IsTupleType()){$s=2;continue;}if($clone(e,C.Type).IsListType()){$s=3;continue;}if($clone(e,C.Type).IsMapType()){$s=4;continue;}$s=5;continue;case 2:if(!($equal(g,C.Number,C.Type))&&!($equal(g,C.DynamicPseudoType,C.Type))){$s=7;continue;}$s=8;continue;case 7:h=$clone(C.NilType,C.Type);j=E.Errorf("key for tuple must be number",new EI([]));$s=9;case 9:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;C.Type.copy(c,h);d=i;k=[c,d];$s=10;case 10:return k;case 8:if(!$clone(f,C.Value).IsKnown()){l=$clone(C.DynamicPseudoType,C.Type);m=$ifaceNil;C.Type.copy(c,l);d=m;$s=-1;return[c,d];}b[0]=0;n=H.FromCtyValue($clone(f,C.Value),(b.$ptr||(b.$ptr=new EH(function(){return this.$target[0];},function($v){this.$target[0]=$v;},b))));$s=11;case 11:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(!($interfaceIsEqual(o,$ifaceNil))){$s=12;continue;}$s=13;continue;case 12:p=$clone(C.NilType,C.Type);r=E.Errorf("invalid key for tuple: %s",new EI([o]));$s=14;case 14:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;C.Type.copy(c,p);d=q;s=[c,d];$s=15;case 15:return s;case 13:t=$clone(e,C.Type).TupleElementTypes();if(b[0]>=t.$length||b[0]<0){$s=16;continue;}$s=17;continue;case 16:u=$clone(C.NilType,C.Type);w=E.Errorf("key must be between 0 and %d inclusive",new EI([new $Int(t.$length)]));$s=18;case 18:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;C.Type.copy(c,u);d=v;x=[c,d];$s=19;case 19:return x;case 17:y=$clone(((b[0]<0||b[0]>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+b[0]]),C.Type);z=$ifaceNil;C.Type.copy(c,y);d=z;$s=-1;return[c,d];case 3:if(!($equal(g,C.Number,C.Type))&&!($equal(g,C.DynamicPseudoType,C.Type))){$s=20;continue;}$s=21;continue;case 20:aa=$clone(C.NilType,C.Type);ac=E.Errorf("key for list must be number",new EI([]));$s=22;case 22:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;C.Type.copy(c,aa);d=ab;ad=[c,d];$s=23;case 23:return ad;case 21:af=$clone(e,C.Type).ElementType();$s=24;case 24:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=$clone(af,C.Type);ag=$ifaceNil;C.Type.copy(c,ae);d=ag;ah=[c,d];$s=25;case 25:return ah;case 4:if(!($equal(g,C.String,C.Type))&&!($equal(g,C.DynamicPseudoType,C.Type))){$s=26;continue;}$s=27;continue;case 26:ai=$clone(C.NilType,C.Type);ak=E.Errorf("key for map must be string",new EI([]));$s=28;case 28:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;C.Type.copy(c,ai);d=aj;al=[c,d];$s=29;case 29:return al;case 27:an=$clone(e,C.Type).ElementType();$s=30;case 30:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}am=$clone(an,C.Type);ao=$ifaceNil;C.Type.copy(c,am);d=ao;ap=[c,d];$s=31;case 31:return ap;case 5:aq=$clone(C.NilType,C.Type);as=E.Errorf("collection must be a list, a map or a tuple",new EI([]));$s=32;case 32:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as;C.Type.copy(c,aq);d=ar;at=[c,d];$s=33;case 33:return at;case 6:case 1:$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;f=DG($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value),$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=$clone(e[0],C.Value);d=e[1];if(!($interfaceIsEqual(d,$ifaceNil))){h=$clone(C.NilVal,C.Value);i=d;C.Value.copy(c,h);d=i;$s=-1;return[c,d];}j=$clone(g,C.Value).False();$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(j){$s=2;continue;}$s=3;continue;case 2:k=$clone(C.NilVal,C.Value);m=E.Errorf("invalid index",new EI([]));$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;C.Value.copy(c,k);d=l;n=[c,d];$s=6;case 6:return n;case 3:p=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Index($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=7;case 7:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=$clone(p,C.Value);q=$ifaceNil;C.Value.copy(c,o);d=q;r=[c,d];$s=8;case 8:return r;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.LengthFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("collection",$clone(C.DynamicPseudoType,C.Type),false,false,true,true)]),EF.nil,(function $b(a){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new C.Type.ptr($ifaceNil);c=$ifaceNil;d=$clone($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Type(),C.Type);if(!($clone(d,C.Type).IsTupleType()||$clone(d,C.Type).IsListType()||$clone(d,C.Type).IsMapType()||$clone(d,C.Type).IsSetType()||$equal(d,C.DynamicPseudoType,C.Type))){$s=1;continue;}$s=2;continue;case 1:e=$clone(C.NilType,C.Type);g=E.Errorf("collection must be a list, a map or a tuple",new EI([]));$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;C.Type.copy(b,e);c=f;h=[b,c];$s=4;case 4:return h;case 2:i=$clone(C.Number,C.Type);j=$ifaceNil;C.Type.copy(b,i);c=j;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Length();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$clone(f,C.Value);g=$ifaceNil;C.Value.copy(c,e);d=g;h=[c,d];$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.ElementFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("list",$clone(C.DynamicPseudoType,C.Type),false,false,false,true),new D.Parameter.ptr("index",$clone(C.Number,C.Type),false,false,false,false)]),EF.nil,(function $b(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);d=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value);if($clone(d,C.Value).IsKnown()){$s=1;continue;}$s=2;continue;case 1:e=C.NumberIntVal(new $Int64(0,0));$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$clone(d,C.Value).LessThan($clone(e,C.Value));$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=$clone(f,C.Value).True();$s=7;case 7:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}if(g){$s=3;continue;}$s=4;continue;case 3:h=E.Errorf("cannot use element function with a negative index",new EI([]));$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=[C.DynamicPseudoType,h];$s=9;case 9:return i;case 4:case 2:j=$clone($clone(c,C.Value).Type(),C.Type);if($clone(j,C.Type).IsListType()){$s=11;continue;}if($clone(j,C.Type).IsTupleType()){$s=12;continue;}$s=13;continue;case 11:k=$clone(j,C.Type).ElementType();$s=15;case 15:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=[k,$ifaceNil];$s=16;case 16:return l;case 12:if(!$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).IsKnown()){$s=-1;return[C.DynamicPseudoType,$ifaceNil];}m=$clone(j,C.Type).TupleElementTypes();b[0]=0;n=H.FromCtyValue($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value),(b.$ptr||(b.$ptr=new EH(function(){return this.$target[0];},function($v){this.$target[0]=$v;},b))));$s=17;case 17:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(!($interfaceIsEqual(o,$ifaceNil))){$s=18;continue;}$s=19;continue;case 18:p=E.Errorf("invalid index: %s",new EI([o]));$s=20;case 20:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=[C.DynamicPseudoType,p];$s=21;case 21:return q;case 19:if(m.$length===0){$s=-1;return[C.DynamicPseudoType,U.New("cannot use element function with an empty list")];}b[0]=(r=b[0]%m.$length,r===r?r:$throwRuntimeError("integer divide by zero"));$s=-1;return[((b[0]<0||b[0]>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+b[0]]),$ifaceNil];case 13:s=$clone(j,C.Type).FriendlyName();$s=22;case 22:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=new $String(s);u=E.Errorf("cannot read elements from %s",new EI([t]));$s=23;case 23:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=[C.DynamicPseudoType,u];$s=24;case 24:return v;case 14:case 10:$s=-1;return[new C.Type.ptr($ifaceNil),$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];c[0]=0;d=H.FromCtyValue($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value),(c.$ptr||(c.$ptr=new EH(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c))));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:f=E.Errorf("invalid index: %s",new EI([e]));$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=[C.DynamicVal,f];$s=5;case 5:return g;case 3:h=C.NumberIntVal(new $Int64(0,0));$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).LessThan($clone(h,C.Value));$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=$clone(i,C.Value).True();$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(j){$s=6;continue;}$s=7;continue;case 6:k=E.Errorf("cannot use element function with a negative index",new EI([]));$s=11;case 11:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=[C.DynamicVal,k];$s=12;case 12:return l;case 7:m=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Unmark();n=$clone(m[0],C.Value);o=m[1];if(!$clone(n,C.Value).IsKnown()){$s=-1;return[C.UnknownVal($clone(b,C.Type)),$ifaceNil];}p=$clone(n,C.Value).LengthInt();if(p===0){$s=-1;return[C.DynamicVal,U.New("cannot use element function with an empty list")];}c[0]=(q=c[0]%p,q===q?q:$throwRuntimeError("integer divide by zero"));r=C.NumberIntVal((new $Int64(0,c[0])));$s=13;case 13:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=$clone(n,C.Value).Index($clone(r,C.Value));$s=14;case 14:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=$clone(s,C.Value).WithMarks(new EM([o]));$s=15;case 15:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=[t,$ifaceNil];$s=16;case 16:return u;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.CoalesceListFunc=$clone(D.New(new D.Spec.ptr(new EE([]),new D.Parameter.ptr("vals",$clone(C.DynamicPseudoType,C.Type),true,true,true,false),(function $b(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new C.Type.ptr($ifaceNil);c=$ifaceNil;if(a.$length===0){d=$clone(C.NilType,C.Type);e=U.New("at least one argument is required");C.Type.copy(b,d);c=e;$s=-1;return[b,c];}f=$makeSlice(EL,a.$length);g=a;h=0;while(true){if(!(h<g.$length)){break;}i=h;j=$clone(((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]),C.Value);if(!$clone(j,C.Value).IsKnown()){k=$clone(C.DynamicPseudoType,C.Type);l=$ifaceNil;C.Type.copy(b,k);c=l;$s=-1;return[b,c];}m=$clone($clone(j,C.Value).Type(),C.Type);if(!$clone(m,C.Type).IsListType()&&!$clone(m,C.Type).IsTupleType()){n=$clone(C.NilType,C.Type);o=U.New("coalescelist arguments must be lists or tuples");C.Type.copy(b,n);c=o;$s=-1;return[b,c];}C.Type.copy(((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]),$clone(j,C.Value).Type());h++;}p=$clone((0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]),C.Type);q=$subslice(f,1);r=0;case 1:if(!(r<q.$length)){$s=2;continue;}s=$clone(((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]),C.Type);t=$clone(s,C.Type).Equals($clone(p,C.Type));$s=5;case 5:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}if(!t){$s=3;continue;}$s=4;continue;case 3:u=$clone(C.DynamicPseudoType,C.Type);v=$ifaceNil;C.Type.copy(b,u);c=v;$s=-1;return[b,c];case 4:r++;$s=1;continue;case 2:w=$clone(p,C.Type);x=$ifaceNil;C.Type.copy(b,w);c=x;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;}),(function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m;c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=a;f=0;while(true){if(!(f<e.$length)){break;}g=$clone(((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]),C.Value);if(!$clone(g,C.Value).IsKnown()){h=$clone(C.UnknownVal($clone(b,C.Type)),C.Value);i=$ifaceNil;C.Value.copy(c,h);d=i;return[c,d];}if($clone(g,C.Value).IsNull()){f++;continue;}if($clone(g,C.Value).LengthInt()>0){j=$clone(g,C.Value);k=$ifaceNil;C.Value.copy(c,j);d=k;return[c,d];}f++;}l=$clone(C.NilVal,C.Value);m=U.New("no non-null arguments");C.Value.copy(c,l);d=m;return[c,d];}))),D.Function);$pkg.CompactFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("list",$clone(C.List($clone(C.String,C.Type)),C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.List($clone(C.String,C.Type)),C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);f=$clone(e,C.Value).IsWhollyKnown();$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(!f){$s=1;continue;}$s=2;continue;case 1:g=$clone(C.UnknownVal($clone(b,C.Type)),C.Value);h=$ifaceNil;C.Value.copy(c,g);d=h;$s=-1;return[c,d];case 2:i=EK.nil;j=$clone(e,C.Value).ElementIterator();$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;case 5:l=k.Next();$s=7;case 7:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(!(l)){$s=6;continue;}n=k.Element();$s=8;case 8:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=$clone(m[1],C.Value);if($clone(o,C.Value).IsNull()||$clone(o,C.Value).AsString()===""){$s=5;continue;}i=$append(i,o);$s=5;continue;case 6:if(i.$length===0){p=$clone(C.ListValEmpty($clone(C.String,C.Type)),C.Value);q=$ifaceNil;C.Value.copy(c,p);d=q;$s=-1;return[c,d];}s=C.ListVal(i);$s=9;case 9:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=$clone(s,C.Value);t=$ifaceNil;C.Value.copy(c,r);d=t;u=[c,d];$s=10;case 10:return u;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.ContainsFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("list",$clone(C.DynamicPseudoType,C.Type),false,false,false,false),new D.Parameter.ptr("value",$clone(C.DynamicPseudoType,C.Type),false,false,false,false)]),EF.nil,D.StaticReturnType($clone(C.Bool,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);d=$clone($clone(c,C.Value).Type(),C.Type);if(!$clone(d,C.Type).IsListType()&&!$clone(d,C.Type).IsTupleType()&&!$clone(d,C.Type).IsSetType()){$s=-1;return[C.NilVal,U.New("argument must be list, tuple, or set")];}if($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).IsNull()){$s=-1;return[C.NilVal,U.New("cannot search a nil list or set")];}if($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).LengthInt()===0){$s=-1;return[C.False,$ifaceNil];}if(!$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).IsKnown()||!$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).IsKnown()){$s=-1;return[C.UnknownVal($clone(C.Bool,C.Type)),$ifaceNil];}e=false;f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).ElementIterator();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;case 2:h=g.Next();$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(!(h)){$s=3;continue;}j=g.Element();$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=$clone(i[1],C.Value);l=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).Equals($clone(k,C.Value));$s=6;case 6:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=$clone(l,C.Value);if(!$clone(m,C.Value).IsKnown()){e=true;$s=2;continue;}n=$clone(m,C.Value).True();$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(n){$s=7;continue;}$s=8;continue;case 7:$s=-1;return[C.True,$ifaceNil];case 8:$s=2;continue;case 3:if(e){$s=-1;return[C.UnknownVal($clone(C.Bool,C.Type)),$ifaceNil];}$s=-1;return[C.False,$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.DistinctFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("list",$clone(C.List($clone(C.DynamicPseudoType,C.Type)),C.Type),false,false,false,false)]),EF.nil,(function(a){var a;return[$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Type(),$ifaceNil];}),(function $b(a,b){var a,aa,ab,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);f=$clone(e,C.Value).IsWhollyKnown();$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(!f){$s=1;continue;}$s=2;continue;case 1:g=$clone(C.UnknownVal($clone(b,C.Type)),C.Value);h=$ifaceNil;C.Value.copy(c,g);d=h;$s=-1;return[c,d];case 2:i=EK.nil;j=$clone(e,C.Value).ElementIterator();$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;case 5:l=k.Next();$s=7;case 7:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(!(l)){$s=6;continue;}n=k.Element();$s=8;case 8:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=$clone(m[1],C.Value);q=DF(i,$clone(o,C.Value));$s=9;case 9:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;i=p[0];d=p[1];if(!($interfaceIsEqual(d,$ifaceNil))){r=$clone(C.NilVal,C.Value);s=d;C.Value.copy(c,r);d=s;$s=-1;return[c,d];}$s=5;continue;case 6:if(i.$length===0){$s=10;continue;}$s=11;continue;case 10:u=$clone(b,C.Type).ElementType();$s=12;case 12:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=C.ListValEmpty($clone(u,C.Type));$s=13;case 13:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}t=$clone(v,C.Value);w=$ifaceNil;C.Value.copy(c,t);d=w;x=[c,d];$s=14;case 14:return x;case 11:z=C.ListVal(i);$s=15;case 15:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=$clone(z,C.Value);aa=$ifaceNil;C.Value.copy(c,y);d=aa;ab=[c,d];$s=16;case 16:return ab;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.ChunklistFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("list",$clone(C.List($clone(C.DynamicPseudoType,C.Type)),C.Type),false,false,false,true),new D.Parameter.ptr("size",$clone(C.Number,C.Type),false,false,false,true)]),EF.nil,(function(a){var a;return[C.List($clone($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Type(),C.Type)),$ifaceNil];}),(function $b(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);e=$ifaceNil;f=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);g=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value);h=$clone(f,C.Value).Unmark();f=$clone(h[0],C.Value);i=h[1];j=$clone(g,C.Value).Unmark();g=$clone(j[0],C.Value);k=j[1];l=C.NewValueMarks(new EI([new C.ValueMarks(i),new C.ValueMarks(k)]));c[0]=0;m=H.FromCtyValue($clone(g,C.Value),(c.$ptr||(c.$ptr=new EH(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c))));$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}e=m;if(!($interfaceIsEqual(e,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:n=$clone(C.NilVal,C.Value);p=E.Errorf("invalid size: %s",new EI([e]));$s=4;case 4:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;C.Value.copy(d,n);e=o;q=[d,e];$s=5;case 5:return q;case 3:if(c[0]<0){r=$clone(C.NilVal,C.Value);s=U.New("the size argument must be positive");C.Value.copy(d,r);e=s;$s=-1;return[d,e];}if($clone(f,C.Value).LengthInt()===0){t=$clone($clone(C.ListValEmpty($clone($clone(f,C.Value).Type(),C.Type)),C.Value).WithMarks(new EM([l])),C.Value);u=$ifaceNil;C.Value.copy(d,t);e=u;$s=-1;return[d,e];}v=$makeSlice(EK,0);if(c[0]===0){$s=6;continue;}$s=7;continue;case 6:v=$append(v,f);x=C.ListVal(v);$s=8;case 8:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=$clone(x,C.Value).WithMarks(new EM([l]));$s=9;case 9:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}w=$clone(y,C.Value);z=$ifaceNil;C.Value.copy(d,w);e=z;aa=[d,e];$s=10;case 10:return aa;case 7:ab=$makeSlice(EK,0);ac=$clone(f,C.Value).LengthInt();ad=0;ae=$clone(f,C.Value).ElementIterator();$s=11;case 11:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=ae;case 12:ag=af.Next();$s=14;case 14:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}if(!(ag)){$s=13;continue;}ai=af.Element();$s=15;case 15:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;aj=$clone(ah[1],C.Value);ab=$append(ab,aj);if(((ak=((ad+1>>0))%c[0],ak===ak?ak:$throwRuntimeError("integer divide by zero"))===0)||(((ad+1>>0))===ac)){$s=16;continue;}$s=17;continue;case 16:al=C.ListVal(ab);$s=18;case 18:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}v=$append(v,al);ab=$makeSlice(EK,0);case 17:ad=ad+(1)>>0;$s=12;continue;case 13:an=C.ListVal(v);$s=19;case 19:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=$clone(an,C.Value).WithMarks(new EM([l]));$s=20;case 20:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}am=$clone(ao,C.Value);ap=$ifaceNil;C.Value.copy(d,am);e=ap;aq=[d,e];$s=21;case 21:return aq;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.FlattenFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("list",$clone(C.DynamicPseudoType,C.Type),false,false,false,true)]),EF.nil,(function $b(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).IsWhollyKnown();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}if(!b){$s=1;continue;}$s=2;continue;case 1:$s=-1;return[C.DynamicPseudoType,$ifaceNil];case 2:c=$clone($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Type(),C.Type);if(!$clone(c,C.Type).IsListType()&&!$clone(c,C.Type).IsSetType()&&!$clone(c,C.Type).IsTupleType()){$s=-1;return[C.NilType,U.New("can only flatten lists, sets and tuples")];}e=DD($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value));$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[2];if(!g){$s=-1;return[C.DynamicPseudoType,$ifaceNil];}h=$makeSlice(EL,f.$length);i=f;j=0;while(true){if(!(j<i.$length)){break;}k=j;l=$clone(((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]),C.Value);C.Type.copy(((k<0||k>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+k]),$clone(l,C.Value).Type());j++;}$s=-1;return[C.Tuple(h),$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);f=$clone(e,C.Value).Unmark();g=$clone(f[0],C.Value);h=f[1];if($clone(g,C.Value).LengthInt()===0){i=$clone($clone(C.EmptyTupleVal,C.Value).WithMarks(new EM([h])),C.Value);j=$ifaceNil;C.Value.copy(c,i);d=j;$s=-1;return[c,d];}l=DD($clone(e,C.Value));$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=k[1];o=k[2];if(!o){p=$clone($clone(C.UnknownVal($clone(b,C.Type)),C.Value).WithMarks(n),C.Value);q=$ifaceNil;C.Value.copy(c,p);d=q;$s=-1;return[c,d];}r=$clone($clone(C.TupleVal(m),C.Value).WithMarks(n),C.Value);s=$ifaceNil;C.Value.copy(c,r);d=s;$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.KeysFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("inputMap",$clone(C.DynamicPseudoType,C.Type),false,true,false,true)]),EF.nil,(function $b(a){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$clone($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Type(),C.Type);if($clone(b,C.Type).IsMapType()){$s=2;continue;}if($clone(b,C.Type).IsObjectType()){$s=3;continue;}$s=4;continue;case 2:$s=-1;return[C.List($clone(C.String,C.Type)),$ifaceNil];case 3:c=$clone(b,C.Type).AttributeTypes();if($keys(c).length===0){$s=-1;return[C.EmptyTuple,$ifaceNil];}d=$makeSlice(EL,$keys(c).length);e=d;f=0;while(true){if(!(f<e.$length)){break;}g=f;C.Type.copy(((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]),C.String);f++;}$s=-1;return[C.Tuple(d),$ifaceNil];case 4:h=D.NewArgErrorf(0,"must have map or object type",new EI([]));$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=[C.DynamicPseudoType,h];$s=7;case 7:return i;case 5:case 1:$s=-1;return[new C.Type.ptr($ifaceNil),$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Unmark();d=$clone(c[0],C.Value);e=c[1];f=EK.nil;if($clone($clone(d,C.Value).Type(),C.Type).IsObjectType()){$s=2;continue;}$s=3;continue;case 2:g=EJ.nil;h=$clone($clone(d,C.Value).Type(),C.Type).AttributeTypes();i=0;j=$keys(h);while(true){if(!(i<j.length)){break;}k=h[j[i]];if(k===undefined){i++;continue;}l=k.k;g=$append(g,l);i++;}$r=F.Strings(g);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(g.$length===0){$s=-1;return[$clone(C.EmptyTupleVal,C.Value).WithMarks(new EM([e])),$ifaceNil];}f=$makeSlice(EK,g.$length);m=g;n=0;case 6:if(!(n<m.$length)){$s=7;continue;}o=n;p=((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);q=C.StringVal(p);$s=8;case 8:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}C.Value.copy(((o<0||o>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+o]),q);n++;$s=6;continue;case 7:$s=-1;return[$clone(C.TupleVal(f),C.Value).WithMarks(new EM([e])),$ifaceNil];case 3:if(!$clone(d,C.Value).IsKnown()){$s=-1;return[$clone(C.UnknownVal($clone(b,C.Type)),C.Value).WithMarks(new EM([e])),$ifaceNil];}r=$clone(d,C.Value).ElementIterator();$s=9;case 9:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;case 10:t=s.Next();$s=12;case 12:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}if(!(t)){$s=11;continue;}v=s.Element();$s=13;case 13:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=$clone(u[0],C.Value);f=$append(f,w);$s=10;continue;case 11:if(f.$length===0){$s=-1;return[$clone(C.ListValEmpty($clone(C.String,C.Type)),C.Value).WithMarks(new EM([e])),$ifaceNil];}x=C.ListVal(f);$s=14;case 14:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=$clone(x,C.Value).WithMarks(new EM([e]));$s=15;case 15:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=[y,$ifaceNil];$s=16;case 16:return z;case 4:case 1:$s=-1;return[new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil),$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.LookupFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("inputMap",$clone(C.DynamicPseudoType,C.Type),false,false,false,true),new D.Parameter.ptr("key",$clone(C.String,C.Type),false,false,false,true),new D.Parameter.ptr("default",$clone(C.DynamicPseudoType,C.Type),false,false,false,true)]),EF.nil,(function $b(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new C.Type.ptr($ifaceNil);c=$ifaceNil;d=$clone($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Type(),C.Type);if($clone(d,C.Type).IsObjectType()){$s=2;continue;}if($clone(d,C.Type).IsMapType()){$s=3;continue;}$s=4;continue;case 2:if(!$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).IsKnown()){e=$clone(C.DynamicPseudoType,C.Type);f=$ifaceNil;C.Type.copy(b,e);c=f;$s=-1;return[b,c];}g=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).Unmark();h=$clone(g[0],C.Value);i=$clone(h,C.Value).AsString();j=$clone(d,C.Type).HasAttribute(i);$s=9;case 9:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(j){$s=6;continue;}if(a.$length===3){$s=7;continue;}$s=8;continue;case 6:l=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).GetAttr(i);$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=$clone(l,C.Value).Type();$s=11;case 11:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}k=$clone(m,C.Type);n=$ifaceNil;C.Type.copy(b,k);c=n;o=[b,c];$s=12;case 12:return o;case 7:p=$clone($clone((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]),C.Value).Type(),C.Type);q=$ifaceNil;C.Type.copy(b,p);c=q;$s=-1;return[b,c];case 8:r=$clone(C.DynamicPseudoType,C.Type);t=D.NewArgErrorf(0,"the given object has no attribute %q",new EI([new $String(i)]));$s=13;case 13:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;C.Type.copy(b,r);c=s;u=[b,c];$s=14;case 14:return u;case 3:if(a.$length===3){$s=15;continue;}$s=16;continue;case 15:w=$clone((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]),C.Value);x=$clone(d,C.Type).ElementType();$s=17;case 17:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=$clone(x,C.Type);z=I.Convert(w,y);$s=18;case 18:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}v=z;c=v[1];if(!($interfaceIsEqual(c,$ifaceNil))){$s=19;continue;}$s=20;continue;case 19:aa=$clone(C.NilType,C.Type);ac=D.NewArgErrorf(2,"the default value must have the same type as the map elements",new EI([]));$s=21;case 21:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;C.Type.copy(b,aa);c=ab;ad=[b,c];$s=22;case 22:return ad;case 20:case 16:af=$clone(d,C.Type).ElementType();$s=23;case 23:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=$clone(af,C.Type);ag=$ifaceNil;C.Type.copy(b,ae);c=ag;ah=[b,c];$s=24;case 24:return ah;case 4:ai=$clone(C.NilType,C.Type);ak=D.NewArgErrorf(0,"lookup() requires a map as the first argument",new EI([]));$s=25;case 25:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;C.Type.copy(b,ai);c=aj;al=[b,c];$s=26;case 26:return al;case 5:case 1:$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=$clone((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]),C.Value);f=EM.nil;g=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Unmark();h=$clone(g[0],C.Value);i=g[1];f=$append(f,i);j=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value).Unmark();k=$clone(j[0],C.Value);l=j[1];if($keys(l).length>0){f=$append(f,l);}m=$clone(k,C.Value).AsString();n=$clone(h,C.Value).IsWhollyKnown();$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(!n){$s=1;continue;}$s=2;continue;case 1:o=$clone($clone(C.UnknownVal($clone(b,C.Type)),C.Value).WithMarks(f),C.Value);p=$ifaceNil;C.Value.copy(c,o);d=p;$s=-1;return[c,d];case 2:if($clone($clone(h,C.Value).Type(),C.Type).IsObjectType()){$s=4;continue;}q=C.StringVal(m);$s=7;case 7:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=$clone(h,C.Value).HasIndex($clone(q,C.Value));$s=8;case 8:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if($equal(r,C.True,C.Value)){$s=5;continue;}$s=6;continue;case 4:s=$clone($clone(h,C.Value).Type(),C.Type).HasAttribute(m);$s=11;case 11:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}if(s){$s=9;continue;}$s=10;continue;case 9:u=$clone(h,C.Value).GetAttr(m);$s=12;case 12:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=$clone(u,C.Value).WithMarks(f);$s=13;case 13:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}t=$clone(v,C.Value);w=$ifaceNil;C.Value.copy(c,t);d=w;x=[c,d];$s=14;case 14:return x;case 10:$s=6;continue;case 5:z=C.StringVal(m);$s=15;case 15:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=$clone(h,C.Value).Index($clone(z,C.Value));$s=16;case 16:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=$clone(aa,C.Value).WithMarks(f);$s=17;case 17:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}y=$clone(ab,C.Value);ac=$ifaceNil;C.Value.copy(c,y);d=ac;ad=[c,d];$s=18;case 18:return ad;case 6:af=I.Convert($clone(e,C.Value),$clone(b,C.Type));$s=19;case 19:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;C.Value.copy(e,ae[0]);d=ae[1];if(!($interfaceIsEqual(d,$ifaceNil))){ag=$clone(C.NilVal,C.Value);ah=d;C.Value.copy(c,ag);d=ah;$s=-1;return[c,d];}ai=$clone($clone(e,C.Value).WithMarks(f),C.Value);aj=$ifaceNil;C.Value.copy(c,ai);d=aj;$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.MergeFunc=$clone(D.New(new D.Spec.ptr(new EE([]),new D.Parameter.ptr("maps",$clone(C.DynamicPseudoType,C.Type),true,false,true,true),(function $b(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(a.$length===0){$s=-1;return[C.EmptyObject,$ifaceNil];}b=$makeMap($String.keyFor,[]);c=$clone(C.NilType,C.Type);d=true;e=true;f=a;g=0;case 1:if(!(g<f.$length)){$s=2;continue;}h=g;i=$clone(((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]),C.Value);j=$clone($clone(i,C.Value).Type(),C.Type);k=$clone(j,C.Type).Equals($clone(C.DynamicPseudoType,C.Type));$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(k){$s=3;continue;}$s=4;continue;case 3:$s=-1;return[C.DynamicPseudoType,$ifaceNil];case 4:if(!$clone(j,C.Type).IsMapType()&&!$clone(j,C.Type).IsObjectType()){$s=6;continue;}$s=7;continue;case 6:l=$clone(j,C.Type).FriendlyName();$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=new $String(l);n=E.Errorf("arguments must be maps or objects, got %#v",new EI([m]));$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=[C.NilType,n];$s=10;case 10:return o;case 7:p=$clone(i,C.Value).Unmark();C.Value.copy(i,p[0]);if($clone(j,C.Type).IsObjectType()&&!$clone(i,C.Value).IsNull()){$s=12;continue;}if($clone(j,C.Type).IsMapType()){$s=13;continue;}$s=14;continue;case 12:q=$clone(j,C.Type).AttributeTypes();r=0;s=$keys(q);while(true){if(!(r<s.length)){break;}t=q[s[r]];if(t===undefined){r++;continue;}u=t.k;v=$clone(t.v,C.Type);w=u;(b||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(w)]={k:w,v:$clone(v,C.Type)};r++;}$s=14;continue;case 13:if($clone(i,C.Value).IsNull()){$s=16;continue;}if($clone(i,C.Value).IsKnown()){$s=17;continue;}$s=18;continue;case 16:$s=19;continue;case 17:x=$clone($clone(i,C.Value).Type(),C.Type).ElementType();$s=20;case 20:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=$clone(x,C.Type);z=$clone(i,C.Value).ElementIterator();$s=21;case 21:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;case 22:ab=aa.Next();$s=24;case 24:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}if(!(ab)){$s=23;continue;}ad=aa.Element();$s=25;case 25:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;ae=$clone(ac[0],C.Value);af=$clone(ae,C.Value).AsString();(b||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(af)]={k:af,v:$clone(y,C.Type)};$s=22;continue;case 23:$s=19;continue;case 18:e=false;case 19:case 15:case 14:case 11:if(h===0){C.Type.copy(c,$clone(i,C.Value).Type());g++;$s=1;continue;}ag=$clone(j,C.Type).Equals($clone(c,C.Type));$s=28;case 28:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}if(!ag&&d){$s=26;continue;}$s=27;continue;case 26:d=false;case 27:g++;$s=1;continue;case 2:if(d){$s=-1;return[c,$ifaceNil];}if(!e){$s=-1;return[C.DynamicPseudoType,$ifaceNil];}ah=C.Object(b);$s=29;case 29:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=[ah,$ifaceNil];$s=30;case 30:return ai;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e={};f=EM.nil;g=a;h=0;case 1:if(!(h<g.$length)){$s=2;continue;}i=$clone(((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]),C.Value);if($clone(i,C.Value).IsNull()){h++;$s=1;continue;}j=$clone(i,C.Value).Unmark();k=$clone(j[0],C.Value);l=j[1];if($keys(l).length>0){f=$append(f,l);}m=$clone(k,C.Value).ElementIterator();$s=3;case 3:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;case 4:o=n.Next();$s=6;case 6:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}if(!(o)){$s=5;continue;}q=n.Element();$s=7;case 7:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=$clone(p[0],C.Value);s=$clone(p[1],C.Value);t=$clone(r,C.Value).AsString();(e||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(t)]={k:t,v:$clone(s,C.Value)};$s=4;continue;case 5:h++;$s=1;continue;case 2:if($clone(b,C.Type).IsMapType()){$s=9;continue;}if($clone(b,C.Type).IsObjectType()){u=true;$s=13;continue s;}v=$clone(b,C.Type).Equals($clone(C.DynamicPseudoType,C.Type));$s=14;case 14:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;case 13:if(u){$s=10;continue;}$s=11;continue;case 9:if($keys(e).length===0){$s=15;continue;}$s=16;continue;case 15:x=$clone(b,C.Type).ElementType();$s=17;case 17:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=C.MapValEmpty($clone(x,C.Type));$s=18;case 18:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=$clone(y,C.Value).WithMarks(f);$s=19;case 19:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}w=$clone(z,C.Value);aa=$ifaceNil;C.Value.copy(c,w);d=aa;ab=[c,d];$s=20;case 20:return ab;case 16:ad=C.MapVal(e);$s=21;case 21:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,C.Value).WithMarks(f);$s=22;case 22:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ac=$clone(ae,C.Value);af=$ifaceNil;C.Value.copy(c,ac);d=af;ag=[c,d];$s=23;case 23:return ag;case 10:ai=C.ObjectVal(e);$s=24;case 24:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=$clone(ai,C.Value).WithMarks(f);$s=25;case 25:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ah=$clone(aj,C.Value);ak=$ifaceNil;C.Value.copy(c,ah);d=ak;al=[c,d];$s=26;case 26:return al;case 11:am=E.Sprintf("unexpected return type: %#v",new EI([new b.constructor.elem(b)]));$s=27;case 27:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}$panic(new $String(am));case 12:case 8:$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.ReverseListFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("list",$clone(C.DynamicPseudoType,C.Type),false,false,false,true)]),EF.nil,(function $b(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$clone($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Type(),C.Type);if($clone(b,C.Type).IsTupleType()){$s=2;continue;}if(($clone(b,C.Type).IsListType())||($clone(b,C.Type).IsSetType())){$s=3;continue;}$s=4;continue;case 2:c=$clone(b,C.Type).TupleElementTypes();d=$makeSlice(EL,c.$length);e=c;f=0;while(true){if(!(f<e.$length)){break;}g=f;h=$clone(((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]),C.Type);C.Type.copy((i=(d.$length-g>>0)-1>>0,((i<0||i>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+i])),h);f++;}$s=-1;return[C.Tuple(d),$ifaceNil];case 3:j=$clone(b,C.Type).ElementType();$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=C.List($clone(j,C.Type));$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=[k,$ifaceNil];$s=8;case 8:return l;case 4:m=$clone(b,C.Type).FriendlyName();$s=9;case 9:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=new $String(m);o=D.NewArgErrorf(0,"can only reverse list or tuple values, not %s",new EI([n]));$s=10;case 10:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=[C.NilType,o];$s=11;case 11:return p;case 5:case 1:$s=-1;return[new C.Type.ptr($ifaceNil),$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,aa,ab,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Unmark();f=$clone(e[0],C.Value);g=e[1];h=$clone(f,C.Value).AsValueSlice();$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;j=$makeSlice(EK,i.$length);k=i;l=0;while(true){if(!(l<k.$length)){break;}m=l;n=$clone(((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]),C.Value);C.Value.copy((o=(j.$length-m>>0)-1>>0,((o<0||o>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+o])),n);l++;}if($clone(b,C.Type).IsTupleType()){$s=3;continue;}$s=4;continue;case 3:p=$clone($clone(C.TupleVal(j),C.Value).WithMarks(new EM([g])),C.Value);q=$ifaceNil;C.Value.copy(c,p);d=q;$s=-1;return[c,d];case 4:if(j.$length===0){$s=6;continue;}$s=7;continue;case 6:s=$clone(b,C.Type).ElementType();$s=8;case 8:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=C.ListValEmpty($clone(s,C.Type));$s=9;case 9:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=$clone(t,C.Value).WithMarks(new EM([g]));$s=10;case 10:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}r=$clone(u,C.Value);v=$ifaceNil;C.Value.copy(c,r);d=v;w=[c,d];$s=11;case 11:return w;case 7:y=C.ListVal(j);$s=12;case 12:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=$clone(y,C.Value).WithMarks(new EM([g]));$s=13;case 13:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}x=$clone(z,C.Value);aa=$ifaceNil;C.Value.copy(c,x);d=aa;ab=[c,d];$s=14;case 14:return ab;case 5:case 2:$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.SetProductFunc=$clone(D.New(new D.Spec.ptr(new EE([]),new D.Parameter.ptr("sets",$clone(C.DynamicPseudoType,C.Type),false,false,false,true),(function $b(a){var a,aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new C.Type.ptr($ifaceNil);c=$ifaceNil;if(a.$length<2){d=$clone(C.NilType,C.Type);e=U.New("at least two arguments are required");C.Type.copy(b,d);c=e;$s=-1;return[b,c];}f=0;g=$makeSlice(EL,a.$length);h=a;i=0;case 1:if(!(i<h.$length)){$s=2;continue;}j=i;k=$clone(((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]),C.Value);l=$clone($clone(k,C.Value).Type(),C.Type);if($clone(l,C.Type).IsSetType()){$s=4;continue;}if($clone(l,C.Type).IsListType()){$s=5;continue;}if($clone(l,C.Type).IsTupleType()){$s=6;continue;}$s=7;continue;case 4:m=$clone(l,C.Type).ElementType();$s=9;case 9:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}C.Type.copy(((j<0||j>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+j]),m);$s=8;continue;case 5:n=$clone(l,C.Type).ElementType();$s=10;case 10:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}C.Type.copy(((j<0||j>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+j]),n);f=f+(1)>>0;$s=8;continue;case 6:o=$clone(l,C.Type).TupleElementTypes();if(o.$length===0){C.Type.copy(((j<0||j>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+j]),C.DynamicPseudoType);f=f+(1)>>0;$s=3;continue;}q=I.UnifyUnsafe(o);$s=11;case 11:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=$clone(p[0],C.Type);if($equal(r,C.NilType,C.Type)){$s=12;continue;}$s=13;continue;case 12:s=$clone(C.NilType,C.Type);u=D.NewArgErrorf(j,"all elements must be of the same type",new EI([]));$s=14;case 14:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;C.Type.copy(b,s);c=t;v=[b,c];$s=15;case 15:return v;case 13:C.Type.copy(((j<0||j>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+j]),r);f=f+(1)>>0;$s=8;continue;case 7:w=$clone(C.NilType,C.Type);y=D.NewArgErrorf(j,"a set or a list is required",new EI([]));$s=16;case 16:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;C.Type.copy(b,w);c=x;z=[b,c];$s=17;case 17:return z;case 8:case 3:i++;$s=1;continue;case 2:if(f===a.$length){aa=$clone(C.List($clone(C.Tuple(g),C.Type)),C.Type);ab=$ifaceNil;C.Type.copy(b,aa);c=ab;$s=-1;return[b,c];}ac=$clone(C.Set($clone(C.Tuple(g),C.Type)),C.Type);ad=$ifaceNil;C.Type.copy(b,ac);c=ad;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=$clone(b,C.Type).ElementType();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$clone(e,C.Type);g=false;h=1;i=false;j=a;k=0;case 2:if(!(k<j.$length)){$s=3;continue;}l=$clone(((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]),C.Value);m=$clone(l,C.Value).Unmark();n=$clone(m[0],C.Value);o=m[1];g=C.NewValueMarks(new EI([new C.ValueMarks(g),new C.ValueMarks(o)]));p=$clone(n,C.Value).Length();$s=6;case 6:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=$clone(p,C.Value).IsKnown();$s=7;case 7:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}if(!q){$s=4;continue;}$s=5;continue;case 4:i=true;k++;$s=2;continue;case 5:h=$imul(h,($clone(n,C.Value).LengthInt()));k++;$s=2;continue;case 3:if(i){r=$clone($clone(C.UnknownVal($clone(b,C.Type)),C.Value).WithMarks(new EM([g])),C.Value);s=$ifaceNil;C.Value.copy(c,r);d=s;$s=-1;return[c,d];}if(h===0){if($clone(b,C.Type).IsListType()){t=$clone($clone(C.ListValEmpty($clone(f,C.Type)),C.Value).WithMarks(new EM([g])),C.Value);u=$ifaceNil;C.Value.copy(c,t);d=u;$s=-1;return[c,d];}v=$clone($clone(C.SetValEmpty($clone(f,C.Type)),C.Value).WithMarks(new EM([g])),C.Value);w=$ifaceNil;C.Value.copy(c,v);d=w;$s=-1;return[c,d];}x=$clone(f,C.Type).TupleElementTypes();y=$makeSlice(ET,h);z=$makeSlice(EK,($imul(h,a.$length)));aa=$makeSlice(EN,a.$length);ab=0;ac=$makeSlice(ET,a.$length);ad=a;ae=0;case 8:if(!(ae<ad.$length)){$s=9;continue;}af=ae;ag=$clone(((ae<0||ae>=ad.$length)?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+ae]),C.Value);ah=$clone(ag,C.Value).Unmark();ai=$clone(ah[0],C.Value);aj=$clone(ai,C.Value).AsValueSlice();$s=10;case 10:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}((af<0||af>=ac.$length)?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+af]=aj);ae++;$s=8;continue;case 9:ak=y;al=0;case 11:if(!(al<ak.$length)){$s=12;continue;}am=al;an=ab+a.$length>>0;ao=$subslice(z,ab,an);((am<0||am>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+am]=ao);ab=an;ap=aa;aq=0;case 13:if(!(aq<ap.$length)){$s=14;continue;}ar=aq;as=((aq<0||aq>=ap.$length)?($throwRuntimeError("index out of range"),undefined):ap.$array[ap.$offset+aq]);au=$clone((at=((ar<0||ar>=ac.$length)?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+ar]),((as<0||as>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+as])),C.Value);av=$clone(((ar<0||ar>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+ar]),C.Type);aw=$clone($clone(au,C.Value).Type(),C.Type).Equals($clone(av,C.Type));$s=17;case 17:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}if(!aw){$s=15;continue;}$s=16;continue;case 15:ax=$ifaceNil;az=I.Convert($clone(au,C.Value),$clone(av,C.Type));$s=18;case 18:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ay=az;C.Value.copy(au,ay[0]);ax=ay[1];if(!($interfaceIsEqual(ax,$ifaceNil))){$s=19;continue;}$s=20;continue;case 19:ba=$clone(C.NilVal,C.Value);bc=new $Int(ar);bd=new $Int(as);be=$clone(av,C.Type).FriendlyName();$s=21;case 21:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}bf=new $String(be);bg=E.Errorf("failed to convert argVals[%d][%d] to %s; this is a bug in cty",new EI([bc,bd,bf]));$s=22;case 22:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bb=bg;C.Value.copy(c,ba);d=bb;bh=[c,d];$s=23;case 23:return bh;case 20:case 16:C.Value.copy(((ar<0||ar>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+ar]),au);aq++;$s=13;continue;case 14:bi=aa.$length-1>>0;while(true){if(!(bi>=0)){break;}((bi<0||bi>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+bi]=(((bi<0||bi>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+bi])+(1)>>0));if(((bi<0||bi>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+bi])<((bi<0||bi>=ac.$length)?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+bi]).$length){break;}((bi<0||bi>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+bi]=0);bi=bi-(1)>>0;}al++;$s=11;continue;case 12:bj=$makeSlice(EK,h);bk=y;bl=0;while(true){if(!(bl<bk.$length)){break;}bm=bl;bn=((bl<0||bl>=bk.$length)?($throwRuntimeError("index out of range"),undefined):bk.$array[bk.$offset+bl]);C.Value.copy(((bm<0||bm>=bj.$length)?($throwRuntimeError("index out of range"),undefined):bj.$array[bj.$offset+bm]),C.TupleVal(bn));bl++;}if($clone(b,C.Type).IsListType()){$s=24;continue;}$s=25;continue;case 24:bp=C.ListVal(bj);$s=26;case 26:if($c){$c=false;bp=bp.$blk();}if(bp&&bp.$blk!==undefined){break s;}bq=$clone(bp,C.Value).WithMarks(new EM([g]));$s=27;case 27:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}bo=$clone(bq,C.Value);br=$ifaceNil;C.Value.copy(c,bo);d=br;bs=[c,d];$s=28;case 28:return bs;case 25:bu=C.SetVal(bj);$s=29;case 29:if($c){$c=false;bu=bu.$blk();}if(bu&&bu.$blk!==undefined){break s;}bv=$clone(bu,C.Value).WithMarks(new EM([g]));$s=30;case 30:if($c){$c=false;bv=bv.$blk();}if(bv&&bv.$blk!==undefined){break s;}bt=$clone(bv,C.Value);bw=$ifaceNil;C.Value.copy(c,bt);d=bw;bx=[c,d];$s=31;case 31:return bx;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.SliceFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("list",$clone(C.DynamicPseudoType,C.Type),false,false,false,true),new D.Parameter.ptr("start_index",$clone(C.Number,C.Type),false,false,false,false),new D.Parameter.ptr("end_index",$clone(C.Number,C.Type),false,false,false,false)]),EF.nil,(function $b(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);c=$clone($clone(b,C.Value).Type(),C.Type);if($clone(c,C.Type).IsSetType()){$s=1;continue;}$s=2;continue;case 1:d=D.NewArgErrorf(0,"cannot slice a set, because its elements do not have indices; explicitly convert to a list if the ordering of the result is not important",new EI([]));$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=[C.NilType,d];$s=4;case 4:return e;case 2:if(!$clone(c,C.Type).IsListType()&&!$clone(c,C.Type).IsTupleType()){$s=5;continue;}$s=6;continue;case 5:f=D.NewArgErrorf(0,"must be a list or tuple value",new EI([]));$s=7;case 7:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=[C.NilType,f];$s=8;case 8:return g;case 6:i=DE(a);$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=h[0];k=h[1];l=h[2];m=h[3];if(!($interfaceIsEqual(m,$ifaceNil))){$s=-1;return[C.NilType,m];}if($clone(c,C.Type).IsListType()){$s=-1;return[c,$ifaceNil];}if(!l){$s=-1;return[C.DynamicPseudoType,$ifaceNil];}$s=-1;return[C.Tuple($subslice($clone(c,C.Type).TupleElementTypes(),j,k)),$ifaceNil];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,aa,ab,ac,ad,ae,af,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Unmark();f=$clone(e[0],C.Value);g=e[1];if($equal(b,C.DynamicPseudoType,C.Type)){h=$clone($clone(C.DynamicVal,C.Value).WithMarks(new EM([g])),C.Value);i=$ifaceNil;C.Value.copy(c,h);d=i;$s=-1;return[c,d];}k=DE(a);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];d=j[3];if(!($interfaceIsEqual(d,$ifaceNil))){n=$clone(C.NilVal,C.Value);o=d;C.Value.copy(c,n);d=o;$s=-1;return[c,d];}if((m-l>>0)===0){$s=2;continue;}$s=3;continue;case 2:if($clone(b,C.Type).IsTupleType()){p=$clone($clone(C.EmptyTupleVal,C.Value).WithMarks(new EM([g])),C.Value);q=$ifaceNil;C.Value.copy(c,p);d=q;$s=-1;return[c,d];}s=$clone(b,C.Type).ElementType();$s=4;case 4:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=C.ListValEmpty($clone(s,C.Type));$s=5;case 5:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=$clone(t,C.Value).WithMarks(new EM([g]));$s=6;case 6:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}r=$clone(u,C.Value);v=$ifaceNil;C.Value.copy(c,r);d=v;w=[c,d];$s=7;case 7:return w;case 3:x=$clone(f,C.Value).AsValueSlice();$s=8;case 8:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=$subslice(x,l,m);if($clone(b,C.Type).IsTupleType()){z=$clone($clone(C.TupleVal(y),C.Value).WithMarks(new EM([g])),C.Value);aa=$ifaceNil;C.Value.copy(c,z);d=aa;$s=-1;return[c,d];}ac=C.ListVal(y);$s=9;case 9:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=$clone(ac,C.Value).WithMarks(new EM([g]));$s=10;case 10:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ab=$clone(ad,C.Value);ae=$ifaceNil;C.Value.copy(c,ab);d=ae;af=[c,d];$s=11;case 11:return af;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.ValuesFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("values",$clone(C.DynamicPseudoType,C.Type),false,false,false,true)]),EF.nil,(function $b(a){var a,aa,ab,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new C.Type.ptr($ifaceNil);c=$ifaceNil;d=$clone($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Type(),C.Type);if($clone(d,C.Type).IsMapType()){$s=1;continue;}if($clone(d,C.Type).IsObjectType()){$s=2;continue;}$s=3;continue;case 1:f=$clone(d,C.Type).ElementType();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=C.List($clone(f,C.Type));$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}e=$clone(g,C.Type);h=$ifaceNil;C.Type.copy(b,e);c=h;i=[b,c];$s=6;case 6:return i;case 2:j=$clone(d,C.Type).AttributeTypes();if($keys(j).length===0){k=$clone(C.EmptyTuple,C.Type);l=$ifaceNil;C.Type.copy(b,k);c=l;$s=-1;return[b,c];}m=$makeSlice(EJ,0,$keys(j).length);n=j;o=0;p=$keys(n);while(true){if(!(o<p.length)){break;}q=n[p[o]];if(q===undefined){o++;continue;}r=q.k;m=$append(m,r);o++;}$r=F.Strings(m);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}s=$makeSlice(EL,m.$length);t=m;u=0;while(true){if(!(u<t.$length)){break;}v=u;w=((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]);C.Type.copy(((v<0||v>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+v]),(x=j[$String.keyFor(w)],x!==undefined?x.v:new C.Type.ptr($ifaceNil)));u++;}y=$clone(C.Tuple(s),C.Type);z=$ifaceNil;C.Type.copy(b,y);c=z;$s=-1;return[b,c];case 3:aa=$clone(C.NilType,C.Type);ab=U.New("values() requires a map as the first argument");C.Type.copy(b,aa);c=ab;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,aa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);f=$clone(e,C.Value).Unmark();e=$clone(f[0],C.Value);g=f[1];h=EK.nil;i=$clone(e,C.Value).ElementIterator();$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;case 2:k=j.Next();$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(!(k)){$s=3;continue;}m=j.Element();$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=$clone(l[1],C.Value);h=$append(h,n);$s=2;continue;case 3:if($clone(b,C.Type).IsTupleType()){o=$clone($clone(C.TupleVal(h),C.Value).WithMarks(new EM([g])),C.Value);p=$ifaceNil;C.Value.copy(c,o);d=p;$s=-1;return[c,d];}if(h.$length===0){$s=6;continue;}$s=7;continue;case 6:r=$clone(b,C.Type).ElementType();$s=8;case 8:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=C.ListValEmpty($clone(r,C.Type));$s=9;case 9:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=$clone(s,C.Value).WithMarks(new EM([g]));$s=10;case 10:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}q=$clone(t,C.Value);u=$ifaceNil;C.Value.copy(c,q);d=u;v=[c,d];$s=11;case 11:return v;case 7:x=C.ListVal(h);$s=12;case 12:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=$clone(x,C.Value).WithMarks(new EM([g]));$s=13;case 13:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}w=$clone(y,C.Value);z=$ifaceNil;C.Value.copy(c,w);d=z;aa=[c,d];$s=14;case 14:return aa;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.ZipmapFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("keys",$clone(C.List($clone(C.String,C.Type)),C.Type),false,false,false,true),new D.Parameter.ptr("values",$clone(C.DynamicPseudoType,C.Type),false,false,false,true)]),EF.nil,(function $b(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new C.Type.ptr($ifaceNil);c=$ifaceNil;d=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);e=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value);f=$clone($clone(e,C.Value).Type(),C.Type);if($clone(f,C.Type).IsListType()){$s=2;continue;}if($clone(f,C.Type).IsTupleType()){$s=3;continue;}$s=4;continue;case 2:h=$clone($clone(e,C.Value).Type(),C.Type).ElementType();$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=C.Map($clone(h,C.Type));$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}g=$clone(i,C.Type);j=$ifaceNil;C.Type.copy(b,g);c=j;k=[b,c];$s=8;case 8:return k;case 3:l=$clone(d,C.Value).IsWhollyKnown();$s=11;case 11:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(!l){$s=9;continue;}$s=10;continue;case 9:m=$clone(C.DynamicPseudoType,C.Type);n=$ifaceNil;C.Type.copy(b,m);c=n;$s=-1;return[b,c];case 10:o=$clone(d,C.Value).Unmark();p=$clone(o[0],C.Value);q=$clone(p,C.Value).AsValueSlice();$s=12;case 12:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;s=$clone(f,C.Type).TupleElementTypes();if(!((r.$length===s.$length))){$s=13;continue;}$s=14;continue;case 13:t=$clone(C.NilType,C.Type);v=E.Errorf("number of keys (%d) does not match number of values (%d)",new EI([new $Int(r.$length),new $Int(s.$length)]));$s=15;case 15:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;C.Type.copy(b,t);c=u;w=[b,c];$s=16;case 16:return w;case 14:y=(x=s.$length,((x<0||x>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));z=r;aa=0;case 17:if(!(aa<z.$length)){$s=18;continue;}ab=aa;ac=$clone(((aa<0||aa>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+aa]),C.Value);ad=$clone(ac,C.Value).Unmark();C.Value.copy(ac,ad[0]);if($clone(ac,C.Value).IsNull()){$s=19;continue;}$s=20;continue;case 19:ae=$clone(C.NilType,C.Type);ag=E.Errorf("keys list has null value at index %d",new EI([new $Int(ab)]));$s=21;case 21:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;C.Type.copy(b,ae);c=af;ah=[b,c];$s=22;case 22:return ah;case 20:ai=$clone(ac,C.Value).AsString();aj=ai;(y||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(aj)]={k:aj,v:$clone(((ab<0||ab>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+ab]),C.Type)};aa++;$s=17;continue;case 18:al=C.Object(y);$s=23;case 23:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ak=$clone(al,C.Type);am=$ifaceNil;C.Type.copy(b,ak);c=am;an=[b,c];$s=24;case 24:return an;case 4:ao=$clone(C.NilType,C.Type);ap=U.New("values argument must be a list or tuple value");C.Type.copy(b,ao);c=ap;$s=-1;return[b,c];case 5:case 1:$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}),(function $b(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new C.Value.ptr(new C.Type.ptr($ifaceNil),$ifaceNil);d=$ifaceNil;e=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value);f=$clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value);g=$clone(e,C.Value).Unmark();e=$clone(g[0],C.Value);h=g[1];i=$clone(f,C.Value).Unmark();f=$clone(i[0],C.Value);j=i[1];k=C.NewValueMarks(new EI([new C.ValueMarks(h),new C.ValueMarks(j)]));l=$clone(e,C.Value).IsWhollyKnown();$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(!l){$s=1;continue;}$s=2;continue;case 1:m=$clone($clone(C.UnknownVal($clone(b,C.Type)),C.Value).WithMarks(new EM([k])),C.Value);n=$ifaceNil;C.Value.copy(c,m);d=n;$s=-1;return[c,d];case 2:if(!(($clone(e,C.Value).LengthInt()===$clone(f,C.Value).LengthInt()))){$s=4;continue;}$s=5;continue;case 4:o=$clone(C.NilVal,C.Value);q=E.Errorf("number of keys (%d) does not match number of values (%d)",new EI([new $Int($clone(e,C.Value).LengthInt()),new $Int($clone(f,C.Value).LengthInt())]));$s=6;case 6:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;C.Value.copy(c,o);d=p;r=[c,d];$s=7;case 7:return r;case 5:s={};t=0;u=$clone(e,C.Value).ElementIterator();$s=8;case 8:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;case 9:w=v.Next();$s=11;case 11:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}if(!(w)){$s=10;continue;}y=v.Element();$s=12;case 12:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;z=$clone(x[1],C.Value);aa=$clone(z,C.Value).Unmark();z=$clone(aa[0],C.Value);ab=aa[1];ac=C.NumberIntVal((new $Int64(0,t)));$s=13;case 13:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=$clone(f,C.Value).Index($clone(ac,C.Value));$s=14;case 14:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,C.Value);af=$clone(z,C.Value).AsString();(s||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(af)]={k:af,v:$clone(ae,C.Value)};k=C.NewValueMarks(new EI([new C.ValueMarks(k),new C.ValueMarks(ab)]));t=t+(1)>>0;$s=9;continue;case 10:if($clone(b,C.Type).IsMapType()){$s=16;continue;}if($clone(b,C.Type).IsObjectType()){$s=17;continue;}$s=18;continue;case 16:if($keys(s).length===0){$s=20;continue;}$s=21;continue;case 20:ah=$clone(b,C.Type).ElementType();$s=22;case 22:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=C.MapValEmpty($clone(ah,C.Type));$s=23;case 23:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=$clone(ai,C.Value).WithMarks(new EM([k]));$s=24;case 24:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ag=$clone(aj,C.Value);ak=$ifaceNil;C.Value.copy(c,ag);d=ak;al=[c,d];$s=25;case 25:return al;case 21:an=C.MapVal(s);$s=26;case 26:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=$clone(an,C.Value).WithMarks(new EM([k]));$s=27;case 27:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}am=$clone(ao,C.Value);ap=$ifaceNil;C.Value.copy(c,am);d=ap;aq=[c,d];$s=28;case 28:return aq;case 17:as=C.ObjectVal(s);$s=29;case 29:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=$clone(as,C.Value).WithMarks(new EM([k]));$s=30;case 30:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}ar=$clone(at,C.Value);au=$ifaceNil;C.Value.copy(c,ar);d=au;av=[c,d];$s=31;case 31:return av;case 18:aw=$clone(C.NilVal,C.Value);ay=$clone(b,C.Type).FriendlyName();$s=32;case 32:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=new $String(ay);ba=E.Errorf("internally selected incorrect result type %s (this is a bug)",new EI([az]));$s=33;case 33:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}ax=ba;C.Value.copy(c,aw);d=ax;bb=[c,d];$s=34;case 34:return bb;case 19:case 15:$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.Bytes=$clone(C.Capsule("bytes",V.TypeOf((EG.nil))),C.Type);$pkg.BytesLenFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("buf",$clone($pkg.Bytes,C.Type),false,false,true,false)]),EF.nil,D.StaticReturnType($clone(C.Number,C.Type)),(function $b(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$assertType($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).EncapsulatedValue(),EU);d=C.NumberIntVal((new $Int64(0,c.$get().$length)));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=[d,$ifaceNil];$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.BytesSliceFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("buf",$clone($pkg.Bytes,C.Type),false,false,true,false),new D.Parameter.ptr("offset",$clone(C.Number,C.Type),false,false,true,false),new D.Parameter.ptr("length",$clone(C.Number,C.Type),false,false,true,false)]),EF.nil,D.StaticReturnType($clone($pkg.Bytes,C.Type)),(function $b(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=[d];e=$assertType($clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).EncapsulatedValue(),EU);f=0;g=0;d[0]=f;c[0]=g;h=$ifaceNil;i=H.FromCtyValue($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value),(d.$ptr||(d.$ptr=new EH(function(){return this.$target[0];},function($v){this.$target[0]=$v;},d))));$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[C.NilVal,h];}j=H.FromCtyValue($clone((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]),C.Value),(c.$ptr||(c.$ptr=new EH(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c))));$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}h=j;if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[C.NilVal,h];}if(d[0]<0||c[0]<0){$s=3;continue;}$s=4;continue;case 3:k=E.Errorf("offset and length must be non-negative",new EI([]));$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=[C.NilVal,k];$s=6;case 6:return l;case 4:if(d[0]>e.$get().$length){$s=7;continue;}$s=8;continue;case 7:m=E.Errorf("offset %d is greater than total buffer length %d",new EI([new $Int(d[0]),new $Int(e.$get().$length)]));$s=9;case 9:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=[C.NilVal,m];$s=10;case 10:return n;case 8:o=d[0]+c[0]>>0;if(o>e.$get().$length){$s=11;continue;}$s=12;continue;case 11:p=E.Errorf("offset %d + length %d is greater than total buffer length %d",new EI([new $Int(d[0]),new $Int(c[0]),new $Int(e.$get().$length)]));$s=13;case 13:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=[C.NilVal,p];$s=14;case 14:return q;case 12:r=DY($subslice((e.$get()),d[0],o));$s=15;case 15:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=[r,$ifaceNil];$s=16;case 16:return s;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.NotFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("val",$clone(C.Bool,C.Type),false,false,true,true)]),EF.nil,D.StaticReturnType($clone(C.Bool,C.Type)),(function $b(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Not();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=[c,$ifaceNil];$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.AndFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("a",$clone(C.Bool,C.Type),false,false,true,true),new D.Parameter.ptr("b",$clone(C.Bool,C.Type),false,false,true,true)]),EF.nil,D.StaticReturnType($clone(C.Bool,C.Type)),(function $b(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).And($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=[c,$ifaceNil];$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);$pkg.OrFunc=$clone(D.New(new D.Spec.ptr(new EE([new D.Parameter.ptr("a",$clone(C.Bool,C.Type),false,false,true,true),new D.Parameter.ptr("b",$clone(C.Bool,C.Type),false,false,true,true)]),EF.nil,D.StaticReturnType($clone(C.Bool,C.Type)),(function $b(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),C.Value).Or($clone((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]),C.Value));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=[c,$ifaceNil];$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:$b};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;}))),D.Function);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["path/filepath"]=(function(){var $pkg={},$init,A,B,C,D,G,F,E,H;A=$packages["errors"];B=$packages["io/fs"];C=$packages["os"];D=$packages["runtime"];G=$packages["sort"];F=$packages["strings"];E=$packages["syscall"];H=$packages["unicode/utf8"];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrBadPattern=A.New("syntax error in pattern");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/hashicorp/hcl/v2/hclsyntax"]=(function(){var $pkg={},$init,C,D,Q,E,A,P,I,L,M,N,G,H,B,F,O,J,K,W,X,Z,AA,AB,AD,AE,AJ,AL,AM,AN,AO,BW,BX,CA,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CQ,CR,CS,CT,DB,DC,DD,DE,DH,DI,DJ,DL,DM,DN,DO,DP,DQ,DR,DS,DT,DU,DV,DW,DX,DY,EB,EC,ED,EE,EF,EG,EH,EI,EJ,EK,EL,EM,EN,EO,EP,EQ,ER,ES,ET,EU,EV,EW,EX,EY,EZ,FA,FB,FC,FD,FE,FF,FG,FH,FI,FJ,FK,FL,FM,FN,FO,FP,FQ,FR,FS,FT,FU,FV,FW,FX,FY,FZ,GA,GB,GC,GD,GE,GF,GG,GH,GI,GJ,GK,GL,GM,GN,GO,GP,GS,GT,GU,GV,GW,GX,GY,GZ,HA,HB,HC,HD,HE,HF,Y,AH,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BV,CU,CV,CW,CX,CY,CZ,DF,U,V,AF,AG,AI,BB,BM,BN,BR,BY,BZ,CB,CN,CO,CP,DG,DZ,EA;C=$packages["bytes"];D=$packages["fmt"];Q=$packages["github.com/agext/levenshtein"];E=$packages["github.com/apparentlymart/go-textseg/v13/textseg"];A=$packages["github.com/hashicorp/hcl/v2"];P=$packages["github.com/hashicorp/hcl/v2/ext/customdecode"];I=$packages["github.com/zclconf/go-cty/cty"];L=$packages["github.com/zclconf/go-cty/cty/convert"];M=$packages["github.com/zclconf/go-cty/cty/function"];N=$packages["github.com/zclconf/go-cty/cty/function/stdlib"];G=$packages["path/filepath"];H=$packages["runtime"];B=$packages["strconv"];F=$packages["strings"];O=$packages["sync"];J=$packages["unicode"];K=$packages["unicode/utf8"];W=$pkg.variablesWalker=$newType(0,$kindStruct,"hclsyntax.variablesWalker",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,function(Callback_,localScopes_){this.$val=this;if(arguments.length===0){this.Callback=$throwNilPointerError;this.localScopes=EN.nil;return;}this.Callback=Callback_;this.localScopes=localScopes_;});X=$pkg.ChildScope=$newType(0,$kindStruct,"hclsyntax.ChildScope",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(LocalNames_,Expr_){this.$val=this;if(arguments.length===0){this.LocalNames=false;this.Expr=$ifaceNil;return;}this.LocalNames=LocalNames_;this.Expr=Expr_;});Z=$pkg.Token=$newType(0,$kindStruct,"hclsyntax.Token",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Type_,Bytes_,Range_){this.$val=this;if(arguments.length===0){this.Type=0;this.Bytes=EE.nil;this.Range=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Type=Type_;this.Bytes=Bytes_;this.Range=Range_;});AA=$pkg.Tokens=$newType(12,$kindSlice,"hclsyntax.Tokens",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,null);AB=$pkg.TokenType=$newType(4,$kindInt32,"hclsyntax.TokenType",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,null);AD=$pkg.tokenAccum=$newType(0,$kindStruct,"hclsyntax.tokenAccum",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,function(Filename_,Bytes_,Pos_,Tokens_,StartByte_){this.$val=this;if(arguments.length===0){this.Filename="";this.Bytes=EE.nil;this.Pos=new A.Pos.ptr(0,0,0);this.Tokens=FA.nil;this.StartByte=0;return;}this.Filename=Filename_;this.Bytes=Bytes_;this.Pos=Pos_;this.Tokens=Tokens_;this.StartByte=StartByte_;});AE=$pkg.heredocInProgress=$newType(0,$kindStruct,"hclsyntax.heredocInProgress",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,function(Marker_,StartOfLine_){this.$val=this;if(arguments.length===0){this.Marker=EE.nil;this.StartOfLine=false;return;}this.Marker=Marker_;this.StartOfLine=StartOfLine_;});AJ=$pkg.Body=$newType(0,$kindStruct,"hclsyntax.Body",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Attributes_,Blocks_,hiddenAttrs_,hiddenBlocks_,SrcRange_,EndRange_){this.$val=this;if(arguments.length===0){this.Attributes=false;this.Blocks=AN.nil;this.hiddenAttrs=false;this.hiddenBlocks=false;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.EndRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Attributes=Attributes_;this.Blocks=Blocks_;this.hiddenAttrs=hiddenAttrs_;this.hiddenBlocks=hiddenBlocks_;this.SrcRange=SrcRange_;this.EndRange=EndRange_;});AL=$pkg.Attributes=$newType(4,$kindMap,"hclsyntax.Attributes",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,null);AM=$pkg.Attribute=$newType(0,$kindStruct,"hclsyntax.Attribute",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Name_,Expr_,SrcRange_,NameRange_,EqualsRange_){this.$val=this;if(arguments.length===0){this.Name="";this.Expr=$ifaceNil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.NameRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.EqualsRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Name=Name_;this.Expr=Expr_;this.SrcRange=SrcRange_;this.NameRange=NameRange_;this.EqualsRange=EqualsRange_;});AN=$pkg.Blocks=$newType(12,$kindSlice,"hclsyntax.Blocks",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,null);AO=$pkg.Block=$newType(0,$kindStruct,"hclsyntax.Block",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Type_,Labels_,Body_,TypeRange_,LabelRanges_,OpenBraceRange_,CloseBraceRange_){this.$val=this;if(arguments.length===0){this.Type="";this.Labels=EX.nil;this.Body=EV.nil;this.TypeRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.LabelRanges=EY.nil;this.OpenBraceRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.CloseBraceRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Type=Type_;this.Labels=Labels_;this.Body=Body_;this.TypeRange=TypeRange_;this.LabelRanges=LabelRanges_;this.OpenBraceRange=OpenBraceRange_;this.CloseBraceRange=CloseBraceRange_;});BW=$pkg.peeker=$newType(0,$kindStruct,"hclsyntax.peeker",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,function(Tokens_,NextIndex_,IncludeComments_,IncludeNewlinesStack_,newlineStackChanges_){this.$val=this;if(arguments.length===0){this.Tokens=AA.nil;this.NextIndex=0;this.IncludeComments=false;this.IncludeNewlinesStack=FF.nil;this.newlineStackChanges=FG.nil;return;}this.Tokens=Tokens_;this.NextIndex=NextIndex_;this.IncludeComments=IncludeComments_;this.IncludeNewlinesStack=IncludeNewlinesStack_;this.newlineStackChanges=newlineStackChanges_;});BX=$pkg.peekerNewlineStackChange=$newType(0,$kindStruct,"hclsyntax.peekerNewlineStackChange",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,function(Pushing_,Frame_,Include_){this.$val=this;if(arguments.length===0){this.Pushing=false;this.Frame=new H.Frame.ptr(0,GM.nil,"","",0,0);this.Include=false;return;}this.Pushing=Pushing_;this.Frame=Frame_;this.Include=Include_;});CA=$pkg.templateParser=$newType(0,$kindStruct,"hclsyntax.templateParser",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,function(Tokens_,SrcRange_,pos_){this.$val=this;if(arguments.length===0){this.Tokens=FJ.nil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.pos=0;return;}this.Tokens=Tokens_;this.SrcRange=SrcRange_;this.pos=pos_;});CC=$pkg.templateParts=$newType(0,$kindStruct,"hclsyntax.templateParts",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,function(Tokens_,SrcRange_){this.$val=this;if(arguments.length===0){this.Tokens=FJ.nil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Tokens=Tokens_;this.SrcRange=SrcRange_;});CD=$pkg.templateToken=$newType(8,$kindInterface,"hclsyntax.templateToken",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,null);CE=$pkg.templateLiteralToken=$newType(0,$kindStruct,"hclsyntax.templateLiteralToken",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,function(Val_,SrcRange_,isTemplateToken_){this.$val=this;if(arguments.length===0){this.Val="";this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.isTemplateToken=FR.zero();return;}this.Val=Val_;this.SrcRange=SrcRange_;this.isTemplateToken=isTemplateToken_;});CF=$pkg.templateInterpToken=$newType(0,$kindStruct,"hclsyntax.templateInterpToken",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,function(Expr_,SrcRange_,isTemplateToken_){this.$val=this;if(arguments.length===0){this.Expr=$ifaceNil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.isTemplateToken=FR.zero();return;}this.Expr=Expr_;this.SrcRange=SrcRange_;this.isTemplateToken=isTemplateToken_;});CG=$pkg.templateIfToken=$newType(0,$kindStruct,"hclsyntax.templateIfToken",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,function(CondExpr_,SrcRange_,isTemplateToken_){this.$val=this;if(arguments.length===0){this.CondExpr=$ifaceNil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.isTemplateToken=FR.zero();return;}this.CondExpr=CondExpr_;this.SrcRange=SrcRange_;this.isTemplateToken=isTemplateToken_;});CH=$pkg.templateForToken=$newType(0,$kindStruct,"hclsyntax.templateForToken",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,function(KeyVar_,ValVar_,CollExpr_,SrcRange_,isTemplateToken_){this.$val=this;if(arguments.length===0){this.KeyVar="";this.ValVar="";this.CollExpr=$ifaceNil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.isTemplateToken=FR.zero();return;}this.KeyVar=KeyVar_;this.ValVar=ValVar_;this.CollExpr=CollExpr_;this.SrcRange=SrcRange_;this.isTemplateToken=isTemplateToken_;});CI=$pkg.templateEndCtrlType=$newType(4,$kindInt,"hclsyntax.templateEndCtrlType",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,null);CJ=$pkg.templateEndCtrlToken=$newType(0,$kindStruct,"hclsyntax.templateEndCtrlToken",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,function(Type_,SrcRange_,isTemplateToken_){this.$val=this;if(arguments.length===0){this.Type=0;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.isTemplateToken=FR.zero();return;}this.Type=Type_;this.SrcRange=SrcRange_;this.isTemplateToken=isTemplateToken_;});CK=$pkg.templateEndToken=$newType(0,$kindStruct,"hclsyntax.templateEndToken",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,function(SrcRange_,isTemplateToken_){this.$val=this;if(arguments.length===0){this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.isTemplateToken=FR.zero();return;}this.SrcRange=SrcRange_;this.isTemplateToken=isTemplateToken_;});CL=$pkg.isTemplateToken=$newType(0,$kindArray,"hclsyntax.isTemplateToken",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,null);CM=$pkg.parser=$newType(0,$kindStruct,"hclsyntax.parser",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,function(peeker_,recovery_){this.$val=this;if(arguments.length===0){this.peeker=FE.nil;this.recovery=false;return;}this.peeker=peeker_;this.recovery=recovery_;});CQ=$pkg.Node=$newType(8,$kindInterface,"hclsyntax.Node",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,null);CR=$pkg.internalWalkFunc=$newType(4,$kindFunc,"hclsyntax.internalWalkFunc",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,null);CS=$pkg.navigation=$newType(0,$kindStruct,"hclsyntax.navigation",true,"github.com/hashicorp/hcl/v2/hclsyntax",false,function(root_){this.$val=this;if(arguments.length===0){this.root=EV.nil;return;}this.root=root_;});CT=$pkg.Keyword=$newType(12,$kindSlice,"hclsyntax.Keyword",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,null);DB=$pkg.TemplateExpr=$newType(0,$kindStruct,"hclsyntax.TemplateExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Parts_,SrcRange_){this.$val=this;if(arguments.length===0){this.Parts=FI.nil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Parts=Parts_;this.SrcRange=SrcRange_;});DC=$pkg.TemplateJoinExpr=$newType(0,$kindStruct,"hclsyntax.TemplateJoinExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Tuple_){this.$val=this;if(arguments.length===0){this.Tuple=$ifaceNil;return;}this.Tuple=Tuple_;});DD=$pkg.TemplateWrapExpr=$newType(0,$kindStruct,"hclsyntax.TemplateWrapExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Wrapped_,SrcRange_){this.$val=this;if(arguments.length===0){this.Wrapped=$ifaceNil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Wrapped=Wrapped_;this.SrcRange=SrcRange_;});DE=$pkg.Operation=$newType(0,$kindStruct,"hclsyntax.Operation",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Impl_,Type_){this.$val=this;if(arguments.length===0){this.Impl=new M.Function.ptr(EG.nil);this.Type=new I.Type.ptr($ifaceNil);return;}this.Impl=Impl_;this.Type=Type_;});DH=$pkg.BinaryOpExpr=$newType(0,$kindStruct,"hclsyntax.BinaryOpExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(LHS_,Op_,RHS_,SrcRange_){this.$val=this;if(arguments.length===0){this.LHS=$ifaceNil;this.Op=EB.nil;this.RHS=$ifaceNil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.LHS=LHS_;this.Op=Op_;this.RHS=RHS_;this.SrcRange=SrcRange_;});DI=$pkg.UnaryOpExpr=$newType(0,$kindStruct,"hclsyntax.UnaryOpExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Op_,Val_,SrcRange_,SymbolRange_){this.$val=this;if(arguments.length===0){this.Op=EB.nil;this.Val=$ifaceNil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.SymbolRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Op=Op_;this.Val=Val_;this.SrcRange=SrcRange_;this.SymbolRange=SymbolRange_;});DJ=$pkg.Expression=$newType(8,$kindInterface,"hclsyntax.Expression",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,null);DL=$pkg.ParenthesesExpr=$newType(0,$kindStruct,"hclsyntax.ParenthesesExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Expression_,SrcRange_){this.$val=this;if(arguments.length===0){this.Expression=$ifaceNil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Expression=Expression_;this.SrcRange=SrcRange_;});DM=$pkg.LiteralValueExpr=$newType(0,$kindStruct,"hclsyntax.LiteralValueExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Val_,SrcRange_){this.$val=this;if(arguments.length===0){this.Val=new I.Value.ptr(new I.Type.ptr($ifaceNil),$ifaceNil);this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Val=Val_;this.SrcRange=SrcRange_;});DN=$pkg.ScopeTraversalExpr=$newType(0,$kindStruct,"hclsyntax.ScopeTraversalExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Traversal_,SrcRange_){this.$val=this;if(arguments.length===0){this.Traversal=A.Traversal.nil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Traversal=Traversal_;this.SrcRange=SrcRange_;});DO=$pkg.RelativeTraversalExpr=$newType(0,$kindStruct,"hclsyntax.RelativeTraversalExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Source_,Traversal_,SrcRange_){this.$val=this;if(arguments.length===0){this.Source=$ifaceNil;this.Traversal=A.Traversal.nil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Source=Source_;this.Traversal=Traversal_;this.SrcRange=SrcRange_;});DP=$pkg.FunctionCallExpr=$newType(0,$kindStruct,"hclsyntax.FunctionCallExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Name_,Args_,ExpandFinal_,NameRange_,OpenParenRange_,CloseParenRange_){this.$val=this;if(arguments.length===0){this.Name="";this.Args=FI.nil;this.ExpandFinal=false;this.NameRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.OpenParenRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.CloseParenRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Name=Name_;this.Args=Args_;this.ExpandFinal=ExpandFinal_;this.NameRange=NameRange_;this.OpenParenRange=OpenParenRange_;this.CloseParenRange=CloseParenRange_;});DQ=$pkg.ConditionalExpr=$newType(0,$kindStruct,"hclsyntax.ConditionalExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Condition_,TrueResult_,FalseResult_,SrcRange_){this.$val=this;if(arguments.length===0){this.Condition=$ifaceNil;this.TrueResult=$ifaceNil;this.FalseResult=$ifaceNil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Condition=Condition_;this.TrueResult=TrueResult_;this.FalseResult=FalseResult_;this.SrcRange=SrcRange_;});DR=$pkg.IndexExpr=$newType(0,$kindStruct,"hclsyntax.IndexExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Collection_,Key_,SrcRange_,OpenRange_,BracketRange_){this.$val=this;if(arguments.length===0){this.Collection=$ifaceNil;this.Key=$ifaceNil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.OpenRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.BracketRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Collection=Collection_;this.Key=Key_;this.SrcRange=SrcRange_;this.OpenRange=OpenRange_;this.BracketRange=BracketRange_;});DS=$pkg.TupleConsExpr=$newType(0,$kindStruct,"hclsyntax.TupleConsExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Exprs_,SrcRange_,OpenRange_){this.$val=this;if(arguments.length===0){this.Exprs=FI.nil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.OpenRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Exprs=Exprs_;this.SrcRange=SrcRange_;this.OpenRange=OpenRange_;});DT=$pkg.ObjectConsExpr=$newType(0,$kindStruct,"hclsyntax.ObjectConsExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Items_,SrcRange_,OpenRange_){this.$val=this;if(arguments.length===0){this.Items=FX.nil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.OpenRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Items=Items_;this.SrcRange=SrcRange_;this.OpenRange=OpenRange_;});DU=$pkg.ObjectConsItem=$newType(0,$kindStruct,"hclsyntax.ObjectConsItem",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(KeyExpr_,ValueExpr_){this.$val=this;if(arguments.length===0){this.KeyExpr=$ifaceNil;this.ValueExpr=$ifaceNil;return;}this.KeyExpr=KeyExpr_;this.ValueExpr=ValueExpr_;});DV=$pkg.ObjectConsKeyExpr=$newType(0,$kindStruct,"hclsyntax.ObjectConsKeyExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Wrapped_,ForceNonLiteral_){this.$val=this;if(arguments.length===0){this.Wrapped=$ifaceNil;this.ForceNonLiteral=false;return;}this.Wrapped=Wrapped_;this.ForceNonLiteral=ForceNonLiteral_;});DW=$pkg.ForExpr=$newType(0,$kindStruct,"hclsyntax.ForExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(KeyVar_,ValVar_,CollExpr_,KeyExpr_,ValExpr_,CondExpr_,Group_,SrcRange_,OpenRange_,CloseRange_){this.$val=this;if(arguments.length===0){this.KeyVar="";this.ValVar="";this.CollExpr=$ifaceNil;this.KeyExpr=$ifaceNil;this.ValExpr=$ifaceNil;this.CondExpr=$ifaceNil;this.Group=false;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.OpenRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.CloseRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.KeyVar=KeyVar_;this.ValVar=ValVar_;this.CollExpr=CollExpr_;this.KeyExpr=KeyExpr_;this.ValExpr=ValExpr_;this.CondExpr=CondExpr_;this.Group=Group_;this.SrcRange=SrcRange_;this.OpenRange=OpenRange_;this.CloseRange=CloseRange_;});DX=$pkg.SplatExpr=$newType(0,$kindStruct,"hclsyntax.SplatExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(Source_,Each_,Item_,SrcRange_,MarkerRange_){this.$val=this;if(arguments.length===0){this.Source=$ifaceNil;this.Each=$ifaceNil;this.Item=FT.nil;this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.MarkerRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));return;}this.Source=Source_;this.Each=Each_;this.Item=Item_;this.SrcRange=SrcRange_;this.MarkerRange=MarkerRange_;});DY=$pkg.AnonSymbolExpr=$newType(0,$kindStruct,"hclsyntax.AnonSymbolExpr",true,"github.com/hashicorp/hcl/v2/hclsyntax",true,function(SrcRange_,values_,valuesLock_){this.$val=this;if(arguments.length===0){this.SrcRange=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));this.values=false;this.valuesLock=new O.RWMutex.ptr(new O.Mutex.ptr(0,0),0,0,0,0);return;}this.SrcRange=SrcRange_;this.values=values_;this.valuesLock=valuesLock_;});EB=$ptrType(DE);EC=$mapType(AB,EB);ED=$sliceType(EC);EE=$sliceType($Uint8);EF=$sliceType($Int16);EG=$ptrType(M.Spec);EH=$ptrType(DL);EI=$ptrType(A.Diagnostic);EJ=$sliceType(EI);EK=$sliceType(A.Traversal);EL=$structType("",[]);EM=$mapType($String,EL);EN=$sliceType(EM);EO=$ptrType(DN);EP=$sliceType($emptyInterface);EQ=$ptrType(A.Range);ER=$ptrType(A.EvalContext);ES=$ptrType(A.Block);ET=$sliceType(ES);EU=$ptrType(AO);EV=$ptrType(AJ);EW=$ptrType(AM);EX=$sliceType($String);EY=$sliceType(A.Range);EZ=$ptrType(A.Attribute);FA=$sliceType(Z);FB=$sliceType($Int);FC=$sliceType(AE);FD=$sliceType(EE);FE=$ptrType(BW);FF=$sliceType($Bool);FG=$sliceType(BX);FH=$sliceType($Uintptr);FI=$sliceType(DJ);FJ=$sliceType(CD);FK=$ptrType(CF);FL=$ptrType(CK);FM=$ptrType(CE);FN=$ptrType(CG);FO=$ptrType(CH);FP=$ptrType(CJ);FQ=$ptrType(FI);FR=$arrayType($Int,0);FS=$sliceType(FM);FT=$ptrType(DY);FU=$ptrType(DM);FV=$ptrType(DB);FW=$ptrType(DO);FX=$sliceType(DU);FY=$sliceType(AB);FZ=$sliceType(I.ValueMarks);GA=$sliceType(I.Value);GB=$ptrType(M.Parameter);GC=$sliceType(A.Expression);GD=$sliceType(L.Conversion);GE=$sliceType(I.Type);GF=$sliceType(A.KeyValuePair);GG=$ptrType(Q.Params);GH=$ptrType(W);GI=$funcType([A.Traversal],[],false);GJ=$ptrType(AD);GK=$ptrType(A.BodySchema);GL=$ptrType(A.BodyContent);GM=$ptrType(H.Func);GN=$ptrType(CA);GO=$ptrType(CC);GP=$ptrType(CM);GS=$ptrType(DC);GT=$ptrType(DD);GU=$ptrType(DH);GV=$ptrType(DI);GW=$ptrType(A.StaticCall);GX=$ptrType(DP);GY=$ptrType(DQ);GZ=$ptrType(DR);HA=$ptrType(DS);HB=$ptrType(DT);HC=$ptrType(DV);HD=$ptrType(DW);HE=$ptrType(DX);HF=$mapType(ER,I.Value);U=function(b,c){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=[d];e=c[0].Enter(b);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d[0]=e;$r=b.walkChildNodes((function(c,d){return function $b(f){var f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=d[0];h=U(f,c[0]);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=$convertSliceType(h,EJ);d[0]=$appendSlice(g,i);$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};})(c,d));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=c[0].Exit(b);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;d[0]=$appendSlice(d[0],$convertSliceType(g,EJ));$s=-1;return d[0];}return;}if($f===undefined){$f={$blk:U};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Walk=U;V=function(b){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];c[0]=EK.nil;d=new W.ptr((function(c){return function(d){var d;c[0]=$append(c[0],d);};})(c),EN.nil);e=U(b,d);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:V};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Variables=V;W.ptr.prototype.Enter=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=b;if($assertType(d,EO,true)[1]){$s=1;continue;}if($assertType(d,X,true)[1]){$s=2;continue;}$s=3;continue;case 1:e=d.$val;g=e.Traversal;h=g.RootName();i=c.localScopes;j=0;while(true){if(!(j<i.$length)){break;}k=((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);l=(m=k[$String.keyFor(h)],m!==undefined?[m.v,true]:[new EL.ptr(),false]);n=l[1];if(n){$s=-1;return A.Diagnostics.nil;}j++;}$r=c.Callback(g);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=3;continue;case 2:f=$clone(d.$val,X);c.localScopes=$append(c.localScopes,f.LocalNames);case 3:$s=-1;return A.Diagnostics.nil;}return;}if($f===undefined){$f={$blk:W.ptr.prototype.Enter};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};W.prototype.Enter=function(b){return this.$val.Enter(b);};W.ptr.prototype.Exit=function(b){var b,c,d;c=this;d=b;if($assertType(d,X,true)[1]){c.localScopes=$subslice(c.localScopes,0,(c.localScopes.$length-1>>0));}return A.Diagnostics.nil;};W.prototype.Exit=function(b){return this.$val.Exit(b);};X.ptr.prototype.walkChildNodes=function(b){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=b(c.Expr);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:X.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};X.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};X.ptr.prototype.Range=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Expr.Range();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:X.ptr.prototype.Range};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};X.prototype.Range=function(){return this.$val.Range();};AB.prototype.String=function(){var b,c,d,e,f;b=this.$val;c=(d=Y[AB.keyFor(b)],d!==undefined?[d.v,true]:["",false]);e=c[0];f=c[1];if(f){return e;}return"TokenType("+B.FormatInt((new $Int64(0,b)),10)+")";};$ptrType(AB).prototype.String=function(){return new AB(this.$get()).String();};AB.prototype.GoString=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this.$val;c=D.Sprintf("hclsyntax.%s",new EP([new $String(new AB(b).String())]));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:AB.prototype.GoString};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AB).prototype.GoString=function(){return new AB(this.$get()).GoString();};AD.ptr.prototype.emitToken=function(b,c,d){var b,c,d,e,f,g,h,i,j,k;e=this;f=$clone(e.Pos,A.Pos);f.Column=f.Column+(((c+e.StartByte>>0)-e.Pos.Byte>>0))>>0;f.Byte=c+e.StartByte>>0;g=$clone(f,A.Pos);g.Byte=d+e.StartByte>>0;h=$subslice(e.Bytes,c,d);while(true){if(!(h.$length>0)){break;}i=E.ScanGraphemeClusters(h,true);j=i[0];k=i[1];if(((k.$length===1)&&((0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0])===10))||((k.$length===2)&&((0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0])===13)&&((1>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+1])===10))){g.Line=g.Line+(1)>>0;g.Column=1;}else{g.Column=g.Column+(1)>>0;}h=$subslice(h,j);}A.Pos.copy(e.Pos,g);e.Tokens=$append(e.Tokens,new Z.ptr(b,$subslice(e.Bytes,c,d),new A.Range.ptr(e.Filename,$clone(f,A.Pos),$clone(g,A.Pos))));};AD.prototype.emitToken=function(b,c,d){return this.$val.emitToken(b,c,d);};AF=function(b){var b;if(!((b.Type===72))){return false;}return C.HasPrefix(b.Bytes,new EE([60,60,45]));};AG=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=A.Diagnostics.nil;d=0;e=0;f=0;g=0;h=0;i=0;j=0;k=b;l=0;case 1:if(!(l<k.$length)){$s=2;continue;}m=$clone(((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]),Z);n=$clone(m,Z);o=n.Type;if((o===(38))||(o===(124))||(o===(94))||(o===(126))){$s=4;continue;}if(o===(10138)){$s=5;continue;}if(o===(96)){$s=6;continue;}if(o===(39)){$s=7;continue;}if(o===(59)){$s=8;continue;}if(o===(9225)){$s=9;continue;}if(o===(128169)){$s=10;continue;}if(o===(9252)){$s=11;continue;}if(o===(65533)){$s=12;continue;}$s=13;continue;case 4:if(d<4){$s=14;continue;}$s=15;continue;case 14:p="";q=n.Type;if(q===(38)){p=" Did you mean boolean AND (\"&&\")?";}else if(q===(124)){p=" Did you mean boolean OR (\"||\")?";}else if(q===(126)){p=" Did you mean boolean NOT (\"!\")?";}r=D.Sprintf("Bitwise operators are not supported.%s",new EP([new $String(p)]));$s=16;case 16:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}c=$append(c,new A.Diagnostic.ptr(1,"Unsupported operator",r,n.Range,EQ.nil,$ifaceNil,ER.nil));d=d+(1)>>0;case 15:$s=13;continue;case 5:if(e<1){c=$append(c,new A.Diagnostic.ptr(1,"Unsupported operator","\"**\" is not a supported operator. Exponentiation is not supported as an operator.",n.Range,EQ.nil,$ifaceNil,ER.nil));e=e+(1)>>0;}$s=13;continue;case 6:if(((s=f%2,s===s?s:$throwRuntimeError("integer divide by zero")))===0){c=$append(c,new A.Diagnostic.ptr(1,"Invalid character","The \"`\" character is not valid. To create a multi-line string, use the \"heredoc\" syntax, like \"<<EOT\".",n.Range,EQ.nil,$ifaceNil,ER.nil));}if(f<=2){f=f+(1)>>0;}$s=13;continue;case 7:if(((t=g%2,t===t?t:$throwRuntimeError("integer divide by zero")))===0){u=new A.Diagnostic.ptr(1,"Invalid character","Single quotes are not valid. Use double quotes (\") to enclose strings.",n.Range,EQ.nil,$ifaceNil,ER.nil);c=$append(c,u);}if(g<=2){g=g+(1)>>0;}$s=13;continue;case 8:if(h<1){c=$append(c,new A.Diagnostic.ptr(1,"Invalid character","The \";\" character is not valid. Use newlines to separate arguments and blocks, and commas to separate items in collection values.",n.Range,EQ.nil,$ifaceNil,ER.nil));h=h+(1)>>0;}$s=13;continue;case 9:if(i<1){c=$append(c,new A.Diagnostic.ptr(1,"Invalid character","Tab characters may not be used. The recommended indentation style is two spaces per indent.",n.Range,EQ.nil,$ifaceNil,ER.nil));i=i+(1)>>0;}$s=13;continue;case 10:if(j<1){c=$append(c,new A.Diagnostic.ptr(1,"Invalid character encoding","All input files must be UTF-8 encoded. Ensure that UTF-8 encoding is selected in your editor.",n.Range,EQ.nil,$ifaceNil,ER.nil));j=j+(1)>>0;}$s=13;continue;case 11:c=$append(c,new A.Diagnostic.ptr(1,"Invalid multi-line string","Quoted strings may not be split over multiple lines. To produce a multi-line string, either use the \\n escape to represent a newline character or use the \"heredoc\" multi-line template syntax.",n.Range,EQ.nil,$ifaceNil,ER.nil));$s=13;continue;case 12:v=($bytesToString(n.Bytes));w=v;if(w===("\xE2\x80\x9C")||w===("\xE2\x80\x9D")){c=$append(c,new A.Diagnostic.ptr(1,"Invalid character","\"Curly quotes\" are not valid here. These can sometimes be inadvertently introduced when sharing code via documents or discussion forums. It might help to replace the character with a \"straight quote\".",n.Range,EQ.nil,$ifaceNil,ER.nil));}else{c=$append(c,new A.Diagnostic.ptr(1,"Invalid character","This character is not used within the language.",n.Range,EQ.nil,$ifaceNil,ER.nil));}case 13:case 3:l++;$s=1;continue;case 2:$s=-1;return c;}return;}if($f===undefined){$f={$blk:AG};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};AI=function(b){var b;if(C.HasPrefix(b,AH)){return $subslice(b,3);}return b;};AJ.ptr.prototype.BlocksAtPos=function(b){var b,c,d,e;c=this;d=c.blocksAtPos($clone(b,A.Pos),true);e=d[0];return e;};AJ.prototype.BlocksAtPos=function(b){return this.$val.BlocksAtPos(b);};AJ.ptr.prototype.InnermostBlockAtPos=function(b){var b,c,d,e;c=this;d=c.blocksAtPos($clone(b,A.Pos),false);e=d[1];return e.AsHCLBlock();};AJ.prototype.InnermostBlockAtPos=function(b){return this.$val.InnermostBlockAtPos(b);};AJ.ptr.prototype.OutermostBlockAtPos=function(b){var b,c;c=this;return c.outermostBlockAtPos($clone(b,A.Pos)).AsHCLBlock();};AJ.prototype.OutermostBlockAtPos=function(b){return this.$val.OutermostBlockAtPos(b);};AJ.ptr.prototype.blocksAtPos=function(b,c){var b,c,d,e,f,g,h,i,j,k;d=ET.nil;e=EU.nil;f=this;g=f;Blocks:while(true){if(!(!(g===EV.nil))){break;}h=g.Blocks;i=0;while(true){if(!(i<h.$length)){break;}j=((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]);k=$clone(A.RangeBetween($clone(j.TypeRange,A.Range),$clone(j.CloseBraceRange,A.Range)),A.Range);if($clone(k,A.Range).ContainsPos($clone(b,A.Pos))){e=j;if(c){d=$append(d,e.AsHCLBlock());}g=j.Body;continue Blocks;}i++;}break;}return[d,e];};AJ.prototype.blocksAtPos=function(b,c){return this.$val.blocksAtPos(b,c);};AJ.ptr.prototype.outermostBlockAtPos=function(b){var b,c,d,e,f,g;c=this;d=c.Blocks;e=0;while(true){if(!(e<d.$length)){break;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);g=$clone(A.RangeBetween($clone(f.TypeRange,A.Range),$clone(f.CloseBraceRange,A.Range)),A.Range);if($clone(g,A.Range).ContainsPos($clone(b,A.Pos))){return f;}e++;}return EU.nil;};AJ.prototype.outermostBlockAtPos=function(b){return this.$val.outermostBlockAtPos(b);};AJ.ptr.prototype.AttributeAtPos=function(b){var b,c;c=this;return c.attributeAtPos($clone(b,A.Pos)).AsHCLAttribute();};AJ.prototype.AttributeAtPos=function(b){return this.$val.AttributeAtPos(b);};AJ.ptr.prototype.attributeAtPos=function(b){var b,c,d,e,f,g,h,i,j,k;c=this;d=c;e=c.blocksAtPos($clone(b,A.Pos),false);f=e[1];if(!(f===EU.nil)){d=f.Body;}g=d.Attributes;h=0;i=$keys(g);while(true){if(!(h<i.length)){break;}j=g[i[h]];if(j===undefined){h++;continue;}k=j.v;if($clone(k.SrcRange,A.Range).ContainsPos($clone(b,A.Pos))){return k;}h++;}return EW.nil;};AJ.prototype.attributeAtPos=function(b){return this.$val.attributeAtPos(b);};AJ.ptr.prototype.OutermostExprAtPos=function(b){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.attributeAtPos($clone(b,A.Pos));if(d===EW.nil){$s=-1;return $ifaceNil;}e=d.Expr.Range();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$clone(e,A.Range).ContainsPos($clone(b,A.Pos));$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(!f){$s=1;continue;}$s=2;continue;case 1:$s=-1;return $ifaceNil;case 2:$s=-1;return d.Expr;}return;}if($f===undefined){$f={$blk:AJ.ptr.prototype.OutermostExprAtPos};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AJ.prototype.OutermostExprAtPos=function(b){return this.$val.OutermostExprAtPos(b);};AO.ptr.prototype.AsHCLBlock=function(){var b;b=this;if(b===EU.nil){return ES.nil;}return new A.Block.ptr(b.Type,b.Labels,b.Body,$clone(b.DefRange(),A.Range),$clone(b.TypeRange,A.Range),b.LabelRanges);};AO.prototype.AsHCLBlock=function(){return this.$val.AsHCLBlock();};AJ.ptr.prototype.walkChildNodes=function(b){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=b(new AL(c.Attributes));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b(c.Blocks);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AJ.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AJ.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};AJ.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};AJ.prototype.Range=function(){return this.$val.Range();};AJ.ptr.prototype.Content=function(b){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=c.PartialContent(b);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];h=d[2];i=$assertType(g,EV);j=c.Attributes;k=0;l=$keys(j);case 2:if(!(k<l.length)){$s=3;continue;}m=j[l[k]];if(m===undefined){k++;$s=2;continue;}n=m.k;o=m.v;p=(q=i.hiddenAttrs[$String.keyFor(n)],q!==undefined?[q.v,true]:[new EL.ptr(),false]);r=p[1];if(!r){$s=4;continue;}$s=5;continue;case 4:s=EX.nil;t=b.Attributes;u=0;while(true){if(!(u<t.$length)){break;}v=$clone(((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]),A.AttributeSchema);w=(x=f.Attributes[$String.keyFor(v.Name)],x!==undefined?[x.v,true]:[EZ.nil,false]);y=w[1];if(y){u++;continue;}s=$append(s,v.Name);u++;}z=DZ(n,s);if(!(z==="")){$s=6;continue;}$s=7;continue;case 6:aa=D.Sprintf(" Did you mean %q?",new EP([new $String(z)]));$s=9;case 9:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;$s=8;continue;case 7:ab=b.Blocks;ac=0;case 10:if(!(ac<ab.$length)){$s=11;continue;}ad=$clone(((ac<0||ac>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+ac]),A.BlockHeaderSchema);if(ad.Type===n){$s=12;continue;}$s=13;continue;case 12:ae=D.Sprintf(" Did you mean to define a block of type %q?",new EP([new $String(n)]));$s=14;case 14:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}z=ae;$s=11;continue;case 13:ac++;$s=10;continue;case 11:case 8:af=D.Sprintf("An argument named %q is not expected here.%s",new EP([new $String(n),new $String(z)]));$s=15;case 15:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}h=$append(h,new A.Diagnostic.ptr(1,"Unsupported argument",af,o.NameRange,EQ.nil,$ifaceNil,ER.nil));case 5:k++;$s=2;continue;case 3:ag=c.Blocks;ah=0;case 16:if(!(ah<ag.$length)){$s=17;continue;}ai=((ah<0||ah>=ag.$length)?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+ah]);aj=ai.Type;ak=(al=i.hiddenBlocks[$String.keyFor(aj)],al!==undefined?[al.v,true]:[new EL.ptr(),false]);am=ak[1];if(!am){$s=18;continue;}$s=19;continue;case 18:an=EX.nil;ao=b.Blocks;ap=0;while(true){if(!(ap<ao.$length)){break;}aq=$clone(((ap<0||ap>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+ap]),A.BlockHeaderSchema);an=$append(an,aq.Type);ap++;}ar=DZ(aj,an);if(!(ar==="")){$s=20;continue;}$s=21;continue;case 20:as=D.Sprintf(" Did you mean %q?",new EP([new $String(ar)]));$s=23;case 23:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as;$s=22;continue;case 21:at=b.Attributes;au=0;case 24:if(!(au<at.$length)){$s=25;continue;}av=$clone(((au<0||au>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+au]),A.AttributeSchema);if(av.Name===aj){$s=26;continue;}$s=27;continue;case 26:aw=D.Sprintf(" Did you mean to define argument %q? If so, use the equals sign to assign it a value.",new EP([new $String(aj)]));$s=28;case 28:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ar=aw;$s=25;continue;case 27:au++;$s=24;continue;case 25:case 22:ax=D.Sprintf("Blocks of type %q are not expected here.%s",new EP([new $String(aj),new $String(ar)]));$s=29;case 29:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}h=$append(h,new A.Diagnostic.ptr(1,"Unsupported block type",ax,ai.TypeRange,EQ.nil,$ifaceNil,ER.nil));case 19:ah++;$s=16;continue;case 17:$s=-1;return[f,h];}return;}if($f===undefined){$f={$blk:AJ.ptr.prototype.Content};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AJ.prototype.Content=function(b){return this.$val.Content(b);};AJ.ptr.prototype.PartialContent=function(b){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d={};e=A.Blocks.nil;f=A.Diagnostics.nil;g={};h={};if(!(c.hiddenAttrs===false)){i=c.hiddenAttrs;j=0;k=$keys(i);while(true){if(!(j<k.length)){break;}l=i[k[j]];if(l===undefined){j++;continue;}m=l.k;n=$clone(l.v,EL);o=m;(g||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(o)]={k:o,v:$clone(n,EL)};j++;}}if(!(c.hiddenBlocks===false)){p=c.hiddenBlocks;q=0;r=$keys(p);while(true){if(!(q<r.length)){break;}s=p[r[q]];if(s===undefined){q++;continue;}t=s.k;u=$clone(s.v,EL);v=t;(h||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(v)]={k:v,v:$clone(u,EL)};q++;}}w=b.Attributes;x=0;case 1:if(!(x<w.$length)){$s=2;continue;}y=$clone(((x<0||x>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+x]),A.AttributeSchema);z=y.Name;aa=(ab=c.Attributes[$String.keyFor(z)],ab!==undefined?[ab.v,true]:[EW.nil,false]);ac=aa[0];ad=aa[1];ae=(af=g[$String.keyFor(z)],af!==undefined?[af.v,true]:[new EL.ptr(),false]);ag=ae[1];if(ag||!ad){$s=3;continue;}$s=4;continue;case 3:if(y.Required){$s=5;continue;}$s=6;continue;case 5:ah=D.Sprintf("The argument %q is required, but no definition was found.",new EP([new $String(y.Name)]));$s=7;case 7:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}f=$append(f,new A.Diagnostic.ptr(1,"Missing required argument",ah,$clone(c.MissingItemRange(),A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));case 6:x++;$s=1;continue;case 4:ai=z;(g||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(ai)]={k:ai,v:new EL.ptr()};aj=z;(d||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(aj)]={k:aj,v:ac.AsHCLAttribute()};x++;$s=1;continue;case 2:ak={};al=b.Blocks;am=0;while(true){if(!(am<al.$length)){break;}an=$clone(((am<0||am>=al.$length)?($throwRuntimeError("index out of range"),undefined):al.$array[al.$offset+am]),A.BlockHeaderSchema);ao=an.Type;(ak||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(ao)]={k:ao,v:$clone(an,A.BlockHeaderSchema)};am++;}ap=c.Blocks;aq=0;case 8:if(!(aq<ap.$length)){$s=9;continue;}ar=((aq<0||aq>=ap.$length)?($throwRuntimeError("index out of range"),undefined):ap.$array[ap.$offset+aq]);as=(at=h[$String.keyFor(ar.Type)],at!==undefined?[at.v,true]:[new EL.ptr(),false]);au=as[1];if(au){aq++;$s=8;continue;}av=(aw=ak[$String.keyFor(ar.Type)],aw!==undefined?[aw.v,true]:[new A.BlockHeaderSchema.ptr("",EX.nil),false]);ax=$clone(av[0],A.BlockHeaderSchema);ay=av[1];if(!ay){aq++;$s=8;continue;}if(ar.Labels.$length>ax.LabelNames.$length){$s=10;continue;}$s=11;continue;case 10:az=ar.Type;if(ax.LabelNames.$length===0){$s=12;continue;}$s=13;continue;case 12:ba=D.Sprintf("Extraneous label for %s",new EP([new $String(az)]));$s=15;case 15:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=D.Sprintf("No labels are expected for %s blocks.",new EP([new $String(az)]));$s=16;case 16:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}f=$append(f,new A.Diagnostic.ptr(1,ba,bb,$clone((bc=ar.LabelRanges,(0>=bc.$length?($throwRuntimeError("index out of range"),undefined):bc.$array[bc.$offset+0])),A.Range).Ptr(),$clone(A.RangeBetween($clone(ar.TypeRange,A.Range),$clone(ar.OpenBraceRange,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));$s=14;continue;case 13:bd=D.Sprintf("Extraneous label for %s",new EP([new $String(az)]));$s=17;case 17:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}be=D.Sprintf("Only %d labels (%s) are expected for %s blocks.",new EP([new $Int(ax.LabelNames.$length),new $String(F.Join(ax.LabelNames,", ")),new $String(az)]));$s=18;case 18:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}f=$append(f,new A.Diagnostic.ptr(1,bd,be,$clone((bf=ar.LabelRanges,bg=ax.LabelNames.$length,((bg<0||bg>=bf.$length)?($throwRuntimeError("index out of range"),undefined):bf.$array[bf.$offset+bg])),A.Range).Ptr(),$clone(A.RangeBetween($clone(ar.TypeRange,A.Range),$clone(ar.OpenBraceRange,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));case 14:aq++;$s=8;continue;case 11:if(ar.Labels.$length<ax.LabelNames.$length){$s=19;continue;}$s=20;continue;case 19:bh=ar.Type;bk=D.Sprintf("Missing %s for %s",new EP([new $String((bi=ax.LabelNames,bj=ar.Labels.$length,((bj<0||bj>=bi.$length)?($throwRuntimeError("index out of range"),undefined):bi.$array[bi.$offset+bj]))),new $String(bh)]));$s=21;case 21:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}bl=D.Sprintf("All %s blocks must have %d labels (%s).",new EP([new $String(bh),new $Int(ax.LabelNames.$length),new $String(F.Join(ax.LabelNames,", "))]));$s=22;case 22:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}f=$append(f,new A.Diagnostic.ptr(1,bk,bl,ar.OpenBraceRange,$clone(A.RangeBetween($clone(ar.TypeRange,A.Range),$clone(ar.OpenBraceRange,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));aq++;$s=8;continue;case 20:e=$append(e,ar.AsHCLBlock());aq++;$s=8;continue;case 9:bm=b.Blocks;bn=0;while(true){if(!(bn<bm.$length)){break;}bo=$clone(((bn<0||bn>=bm.$length)?($throwRuntimeError("index out of range"),undefined):bm.$array[bm.$offset+bn]),A.BlockHeaderSchema);bp=bo.Type;(h||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(bp)]={k:bp,v:new EL.ptr()};bn++;}bq=new AJ.ptr(c.Attributes,c.Blocks,g,h,$clone(c.SrcRange,A.Range),$clone(c.EndRange,A.Range));$s=-1;return[new A.BodyContent.ptr(d,e,$clone(c.MissingItemRange(),A.Range)),bq,f];}return;}if($f===undefined){$f={$blk:AJ.ptr.prototype.PartialContent};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AJ.prototype.PartialContent=function(b){return this.$val.PartialContent(b);};AJ.ptr.prototype.JustAttributes=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c={};d=A.Diagnostics.nil;if(b.Blocks.$length>0){$s=1;continue;}$s=2;continue;case 1:f=(e=b.Blocks,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]));g=D.Sprintf("Unexpected %q block",new EP([new $String(f.Type)]));$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,g,"Blocks are not allowed here.",f.TypeRange,EQ.nil,$ifaceNil,ER.nil));case 2:if(b.Attributes===false){$s=-1;return[c,d];}h=b.Attributes;i=0;j=$keys(h);while(true){if(!(i<j.length)){break;}k=h[j[i]];if(k===undefined){i++;continue;}l=k.k;m=k.v;n=(o=b.hiddenAttrs[$String.keyFor(l)],o!==undefined?[o.v,true]:[new EL.ptr(),false]);p=n[1];if(p){i++;continue;}q=l;(c||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(q)]={k:q,v:m.AsHCLAttribute()};i++;}$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:AJ.ptr.prototype.JustAttributes};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};AJ.prototype.JustAttributes=function(){return this.$val.JustAttributes();};AJ.ptr.prototype.MissingItemRange=function(){var b;b=this;return new A.Range.ptr(b.SrcRange.Filename,$clone(b.SrcRange.Start,A.Pos),$clone(b.SrcRange.Start,A.Pos));};AJ.prototype.MissingItemRange=function(){return this.$val.MissingItemRange();};AL.prototype.walkChildNodes=function(b){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this.$val;d=c;e=0;f=$keys(d);case 1:if(!(e<f.length)){$s=2;continue;}g=d[f[e]];if(g===undefined){e++;$s=1;continue;}h=g.v;$r=b(h);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AL.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AL).prototype.walkChildNodes=function(b){return new AL(this.$get()).walkChildNodes(b);};AL.prototype.Range=function(){var b,c,d,e,f,g;b=this.$val;c=b;d=0;e=$keys(c);while(true){if(!(d<e.length)){break;}f=c[e[d]];if(f===undefined){d++;continue;}g=f.v;return g.Range();}return new A.Range.ptr("<unknown>",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));};$ptrType(AL).prototype.Range=function(){return new AL(this.$get()).Range();};AM.ptr.prototype.walkChildNodes=function(b){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=b(c.Expr);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AM.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AM.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};AM.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};AM.prototype.Range=function(){return this.$val.Range();};AM.ptr.prototype.AsHCLAttribute=function(){var b;b=this;if(b===EW.nil){return EZ.nil;}return new A.Attribute.ptr(b.Name,b.Expr,$clone(b.SrcRange,A.Range),$clone(b.NameRange,A.Range));};AM.prototype.AsHCLAttribute=function(){return this.$val.AsHCLAttribute();};AN.prototype.walkChildNodes=function(b){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c;e=0;case 1:if(!(e<d.$length)){$s=2;continue;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);$r=b(f);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AN.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AN).prototype.walkChildNodes=function(b){return this.$get().walkChildNodes(b);};AN.prototype.Range=function(){var b;b=this;if(b.$length>0){return(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]).Range();}return new A.Range.ptr("<unknown>",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));};$ptrType(AN).prototype.Range=function(){return this.$get().Range();};AO.ptr.prototype.walkChildNodes=function(b){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=b(c.Body);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AO.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AO.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};AO.ptr.prototype.Range=function(){var b;b=this;return A.RangeBetween($clone(b.TypeRange,A.Range),$clone(b.CloseBraceRange,A.Range));};AO.prototype.Range=function(){return this.$val.Range();};AO.ptr.prototype.DefRange=function(){var b,c,d,e;b=this;c=$clone(b.TypeRange,A.Range);if(b.LabelRanges.$length>0){A.Range.copy(c,(d=b.LabelRanges,e=b.LabelRanges.$length-1>>0,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e])));}return A.RangeBetween($clone(b.TypeRange,A.Range),$clone(c,A.Range));};AO.prototype.DefRange=function(){return this.$val.DefRange();};BB=function(b,c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];f=[f];g=[g];h=[h];i=AI(b[0]);d.Byte=d.Byte+((b[0].$length-i.$length>>0))>>0;b[0]=i;f[0]=new AD.ptr(c,b[0],$clone(d,A.Pos),FA.nil,d.Byte);j=0;k=b[0].$length;h[0]=0;g[0]=0;l=0;m=k;n=FB.nil;o=0;p=0;q=e;if(q===(0)){p=1459;}else if(q===(1)){p=1534;}else if(q===(2)){p=1545;}else{$panic(new $String("invalid scanMode"));}r=0;s=FB.nil;t=FC.nil;$unused(h[0]);$unused(g[0]);$unused(l);$unused(m);u=(function(b,f,g,h){return function(u){var u;f[0].emitToken(u,h[0],g[0]);};})(b,f,g,h);v=(function(b,f,g,h){return function(){var v;v=$subslice(b[0],h[0],g[0]);if(!((v.$length===1))){$panic(new $String("selfToken only works for single-character tokens"));}f[0].emitToken((((0>=v.$length?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+0])>>0)),h[0],g[0]);};})(b,f,g,h);o=0;h[0]=0;g[0]=0;l=0;w=0;x=0;y=0;z=0;aa=0;if(j===k){$s=1;continue;}$s=2;continue;case 1:$s=3;continue;case 2:if(p===0){$s=4;continue;}$s=5;continue;case 4:$s=6;continue;case 5:case 7:y=((((p<0||p>=AZ.$length)?($throwRuntimeError("index out of range"),undefined):AZ.$array[AZ.$offset+p])>>0));z=((((y<0||y>=AP.$length)?($throwRuntimeError("index out of range"),undefined):AP.$array[AP.$offset+y])>>>0));y=y+(1)>>0;while(true){if(!(z>0)){break;}y=y+(1)>>0;ac=(ab=y-1>>0,((ab<0||ab>=AP.$length)?($throwRuntimeError("index out of range"),undefined):AP.$array[AP.$offset+ab]));if(ac===(3)){h[0]=j;}z=z-(1)>>>0;}aa=((((p<0||p>=AQ.$length)?($throwRuntimeError("index out of range"),undefined):AQ.$array[AQ.$offset+p])>>0));x=((((p<0||p>=AU.$length)?($throwRuntimeError("index out of range"),undefined):AU.$array[AU.$offset+p])>>0));w=((((p<0||p>=AS.$length)?($throwRuntimeError("index out of range"),undefined):AS.$array[AS.$offset+p])>>0));if(w>0){$s=8;continue;}$s=9;continue;case 8:ad=(aa);ae=0;af=(((aa+w>>0)-1>>0));case 10:if(af<ad){$s=11;continue;}ae=ad+((((af-ad>>0))>>1>>0))>>0;if(((j<0||j>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+j])<((ae<0||ae>=AR.$length)?($throwRuntimeError("index out of range"),undefined):AR.$array[AR.$offset+ae])){$s=13;continue;}if(((j<0||j>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+j])>((ae<0||ae>=AR.$length)?($throwRuntimeError("index out of range"),undefined):AR.$array[AR.$offset+ae])){$s=14;continue;}$s=15;continue;case 13:af=ae-1>>0;$s=16;continue;case 14:ad=ae+1>>0;$s=16;continue;case 15:x=x+(((ae-(aa)>>0)))>>0;$s=17;continue;case 16:case 12:$s=10;continue;case 11:aa=aa+(w)>>0;x=x+(w)>>0;case 9:w=((((p<0||p>=AT.$length)?($throwRuntimeError("index out of range"),undefined):AT.$array[AT.$offset+p])>>0));if(w>0){$s=18;continue;}$s=19;continue;case 18:ag=(aa);ah=0;ai=(((aa+((w<<1>>0))>>0)-2>>0));case 20:if(ai<ag){$s=21;continue;}ah=ag+((((((ai-ag>>0))>>1>>0))&-2))>>0;if(((j<0||j>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+j])<((ah<0||ah>=AR.$length)?($throwRuntimeError("index out of range"),undefined):AR.$array[AR.$offset+ah])){$s=23;continue;}if(((j<0||j>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+j])>(aj=ah+1>>0,((aj<0||aj>=AR.$length)?($throwRuntimeError("index out of range"),undefined):AR.$array[AR.$offset+aj]))){$s=24;continue;}$s=25;continue;case 23:ai=ah-2>>0;$s=26;continue;case 24:ag=ah+2>>0;$s=26;continue;case 25:x=x+(((((ah-(aa)>>0))>>1>>0)))>>0;$s=17;continue;case 26:case 22:$s=20;continue;case 21:x=x+(w)>>0;case 19:case 17:x=((((x<0||x>=AV.$length)?($throwRuntimeError("index out of range"),undefined):AV.$array[AV.$offset+x])>>0));case 27:p=((((x<0||x>=AW.$length)?($throwRuntimeError("index out of range"),undefined):AW.$array[AW.$offset+x])>>0));if(((x<0||x>=AX.$length)?($throwRuntimeError("index out of range"),undefined):AX.$array[AX.$offset+x])===0){$s=28;continue;}$s=29;continue;case 28:$s=30;continue;case 29:y=((((x<0||x>=AX.$length)?($throwRuntimeError("index out of range"),undefined):AX.$array[AX.$offset+x])>>0));z=((((y<0||y>=AP.$length)?($throwRuntimeError("index out of range"),undefined):AP.$array[AP.$offset+y])>>>0));y=y+(1)>>0;case 31:if(!(z>0)){$s=32;continue;}y=y+(1)>>0;al=(ak=y-1>>0,((ak<0||ak>=AP.$length)?($throwRuntimeError("index out of range"),undefined):AP.$array[AP.$offset+ak]));if(al===(0)){$s=34;continue;}if(al===(4)){$s=35;continue;}if(al===(5)){$s=36;continue;}if(al===(6)){$s=37;continue;}if(al===(7)){$s=38;continue;}if(al===(8)){$s=39;continue;}if(al===(9)){$s=40;continue;}if(al===(10)){$s=41;continue;}if(al===(11)){$s=42;continue;}if(al===(12)){$s=43;continue;}if(al===(13)){$s=44;continue;}if(al===(14)){$s=45;continue;}if(al===(15)){$s=46;continue;}if(al===(16)){$s=47;continue;}if(al===(17)){$s=48;continue;}if(al===(18)){$s=49;continue;}if(al===(19)){$s=50;continue;}if(al===(20)){$s=51;continue;}if(al===(21)){$s=52;continue;}if(al===(22)){$s=53;continue;}if(al===(23)){$s=54;continue;}if(al===(24)){$s=55;continue;}if(al===(25)){$s=56;continue;}if(al===(26)){$s=57;continue;}if(al===(27)){$s=58;continue;}if(al===(28)){$s=59;continue;}if(al===(29)){$s=60;continue;}if(al===(30)){$s=61;continue;}if(al===(31)){$s=62;continue;}if(al===(32)){$s=63;continue;}if(al===(33)){$s=64;continue;}if(al===(34)){$s=65;continue;}if(al===(35)){$s=66;continue;}if(al===(36)){$s=67;continue;}if(al===(37)){$s=68;continue;}if(al===(38)){$s=69;continue;}if(al===(39)){$s=70;continue;}if(al===(40)){$s=71;continue;}if(al===(41)){$s=72;continue;}if(al===(42)){$s=73;continue;}if(al===(43)){$s=74;continue;}if(al===(44)){$s=75;continue;}if(al===(45)){$s=76;continue;}if(al===(46)){$s=77;continue;}if(al===(47)){$s=78;continue;}if(al===(48)){$s=79;continue;}if(al===(49)){$s=80;continue;}if(al===(50)){$s=81;continue;}if(al===(51)){$s=82;continue;}if(al===(52)){$s=83;continue;}if(al===(53)){$s=84;continue;}if(al===(54)){$s=85;continue;}if(al===(55)){$s=86;continue;}if(al===(56)){$s=87;continue;}if(al===(57)){$s=88;continue;}if(al===(58)){$s=89;continue;}if(al===(59)){$s=90;continue;}if(al===(60)){$s=91;continue;}if(al===(61)){$s=92;continue;}if(al===(62)){$s=93;continue;}if(al===(63)){$s=94;continue;}if(al===(64)){$s=95;continue;}if(al===(65)){$s=96;continue;}if(al===(66)){$s=97;continue;}if(al===(67)){$s=98;continue;}if(al===(68)){$s=99;continue;}if(al===(69)){$s=100;continue;}if(al===(70)){$s=101;continue;}if(al===(71)){$s=102;continue;}if(al===(72)){$s=103;continue;}if(al===(73)){$s=104;continue;}if(al===(74)){$s=105;continue;}if(al===(75)){$s=106;continue;}if(al===(76)){$s=107;continue;}if(al===(77)){$s=108;continue;}if(al===(78)){$s=109;continue;}if(al===(79)){$s=110;continue;}if(al===(80)){$s=111;continue;}if(al===(81)){$s=112;continue;}if(al===(82)){$s=113;continue;}if(al===(83)){$s=114;continue;}if(al===(84)){$s=115;continue;}if(al===(85)){$s=116;continue;}$s=117;continue;case 34:j=j-(1)>>0;$s=117;continue;case 35:g[0]=j+1>>0;$s=117;continue;case 36:l=4;$s=117;continue;case 37:l=6;$s=117;continue;case 38:g[0]=j+1>>0;$r=u(8747);$s=118;case 118:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r+(1)>>0;s=$append(s,r);if(t.$length>0){(am=t.$length-1>>0,((am<0||am>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+am])).StartOfLine=false;}n=$append(n,0);((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=p);o=o+(1)>>0;p=1459;$s=30;continue;$s=117;continue;case 39:g[0]=j+1>>0;$r=u(955);$s=119;case 119:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r+(1)>>0;s=$append(s,r);if(t.$length>0){(an=t.$length-1>>0,((an<0||an>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+an])).StartOfLine=false;}n=$append(n,0);((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=p);o=o+(1)>>0;p=1459;$s=30;continue;$s=117;continue;case 40:g[0]=j+1>>0;$r=u(187);$s=120;case 120:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}o=o-(1)>>0;p=((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]);n=$subslice(n,0,(n.$length-1>>0));$s=30;continue;$s=117;continue;case 41:g[0]=j+1>>0;$r=u(81);$s=121;case 121:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 42:g[0]=j+1>>0;$r=u(128169);$s=122;case 122:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 43:g[0]=j;j=j-(1)>>0;$r=u(8747);$s=123;case 123:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r+(1)>>0;s=$append(s,r);if(t.$length>0){(ao=t.$length-1>>0,((ao<0||ao>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+ao])).StartOfLine=false;}n=$append(n,0);((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=p);o=o+(1)>>0;p=1459;$s=30;continue;$s=117;continue;case 44:g[0]=j;j=j-(1)>>0;$r=u(955);$s=124;case 124:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r+(1)>>0;s=$append(s,r);if(t.$length>0){(ap=t.$length-1>>0,((ap<0||ap>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+ap])).StartOfLine=false;}n=$append(n,0);((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=p);o=o+(1)>>0;p=1459;$s=30;continue;$s=117;continue;case 45:g[0]=j;j=j-(1)>>0;$r=u(81);$s=125;case 125:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 46:g[0]=j;j=j-(1)>>0;$r=u(9252);$s=126;case 126:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 47:g[0]=j;j=j-(1)>>0;$r=u(65533);$s=127;case 127:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 48:g[0]=j;j=j-(1)>>0;$r=u(128169);$s=128;case 128:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 49:j=(g[0])-1>>0;$r=u(81);$s=129;case 129:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 50:j=(g[0])-1>>0;$r=u(128169);$s=130;case 130:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 51:aq=l;if(aq===(4)){$s=132;continue;}if(aq===(6)){$s=133;continue;}$s=134;continue;case 132:j=(g[0])-1>>0;$r=u(81);$s=135;case 135:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=134;continue;case 133:j=(g[0])-1>>0;$r=u(65533);$s=136;case 136:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 134:case 131:$s=117;continue;case 52:l=11;$s=117;continue;case 53:l=12;$s=117;continue;case 54:g[0]=j+1>>0;$r=u(8747);$s=137;case 137:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r+(1)>>0;s=$append(s,r);if(t.$length>0){(ar=t.$length-1>>0,((ar<0||ar>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+ar])).StartOfLine=false;}n=$append(n,0);((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=p);o=o+(1)>>0;p=1459;$s=30;continue;$s=117;continue;case 55:g[0]=j+1>>0;$r=u(955);$s=138;case 138:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r+(1)>>0;s=$append(s,r);if(t.$length>0){(as=t.$length-1>>0,((as<0||as>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+as])).StartOfLine=false;}n=$append(n,0);((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=p);o=o+(1)>>0;p=1459;$s=30;continue;$s=117;continue;case 56:g[0]=j+1>>0;au=(at=t.$length-1>>0,((at<0||at>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+at]));if(au.StartOfLine){$s=139;continue;}$s=140;continue;case 139:av=C.TrimSpace($subslice(b[0],h[0],g[0]));$s=141;case 141:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=av;if(C.Equal(aw,au.Marker)){$s=142;continue;}$s=143;continue;case 142:ax=g[0]-1>>0;ay=g[0];g[0]=g[0]-(1)>>0;if((az=g[0]-1>>0,((az<0||az>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+az]))===13){ax=ax-(1)>>0;g[0]=g[0]-(1)>>0;}$r=u(104);$s=144;case 144:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h[0]=ax;g[0]=ay;$r=u(10);$s=145;case 145:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}t=$subslice(t,0,(t.$length-1>>0));o=o-(1)>>0;p=((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]);n=$subslice(n,0,(n.$length-1>>0));$s=30;continue;case 143:case 140:au.StartOfLine=true;$r=u(83);$s=146;case 146:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 57:g[0]=j+1>>0;$r=u(128169);$s=147;case 147:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 58:g[0]=j;j=j-(1)>>0;$r=u(8747);$s=148;case 148:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r+(1)>>0;s=$append(s,r);if(t.$length>0){(ba=t.$length-1>>0,((ba<0||ba>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+ba])).StartOfLine=false;}n=$append(n,0);((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=p);o=o+(1)>>0;p=1459;$s=30;continue;$s=117;continue;case 59:g[0]=j;j=j-(1)>>0;$r=u(955);$s=149;case 149:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r+(1)>>0;s=$append(s,r);if(t.$length>0){(bb=t.$length-1>>0,((bb<0||bb>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+bb])).StartOfLine=false;}n=$append(n,0);((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=p);o=o+(1)>>0;p=1459;$s=30;continue;$s=117;continue;case 60:g[0]=j;j=j-(1)>>0;(bc=t.$length-1>>0,((bc<0||bc>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+bc])).StartOfLine=false;$r=u(83);$s=150;case 150:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 61:g[0]=j;j=j-(1)>>0;$r=u(128169);$s=151;case 151:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 62:j=(g[0])-1>>0;(bd=t.$length-1>>0,((bd<0||bd>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+bd])).StartOfLine=false;$r=u(83);$s=152;case 152:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 63:be=l;if(be===(0)){$s=154;continue;}if(be===(11)){$s=155;continue;}if(be===(12)){$s=156;continue;}$s=157;continue;case 154:p=0;$s=30;continue;$s=157;continue;case 155:j=(g[0])-1>>0;(bf=t.$length-1>>0,((bf<0||bf>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+bf])).StartOfLine=false;$r=u(83);$s=158;case 158:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=157;continue;case 156:j=(g[0])-1>>0;$r=u(128169);$s=159;case 159:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 157:case 153:$s=117;continue;case 64:l=15;$s=117;continue;case 65:l=16;$s=117;continue;case 66:g[0]=j+1>>0;$r=u(8747);$s=160;case 160:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r+(1)>>0;s=$append(s,r);if(t.$length>0){(bg=t.$length-1>>0,((bg<0||bg>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+bg])).StartOfLine=false;}n=$append(n,0);((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=p);o=o+(1)>>0;p=1459;$s=30;continue;$s=117;continue;case 67:g[0]=j+1>>0;$r=u(955);$s=161;case 161:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r+(1)>>0;s=$append(s,r);if(t.$length>0){(bh=t.$length-1>>0,((bh<0||bh>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+bh])).StartOfLine=false;}n=$append(n,0);((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=p);o=o+(1)>>0;p=1459;$s=30;continue;$s=117;continue;case 68:g[0]=j+1>>0;$r=u(83);$s=162;case 162:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 69:g[0]=j+1>>0;$r=u(128169);$s=163;case 163:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 70:g[0]=j;j=j-(1)>>0;$r=u(8747);$s=164;case 164:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r+(1)>>0;s=$append(s,r);if(t.$length>0){(bi=t.$length-1>>0,((bi<0||bi>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+bi])).StartOfLine=false;}n=$append(n,0);((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=p);o=o+(1)>>0;p=1459;$s=30;continue;$s=117;continue;case 71:g[0]=j;j=j-(1)>>0;$r=u(955);$s=165;case 165:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r+(1)>>0;s=$append(s,r);if(t.$length>0){(bj=t.$length-1>>0,((bj<0||bj>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+bj])).StartOfLine=false;}n=$append(n,0);((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=p);o=o+(1)>>0;p=1459;$s=30;continue;$s=117;continue;case 72:g[0]=j;j=j-(1)>>0;$r=u(83);$s=166;case 166:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 73:g[0]=j;j=j-(1)>>0;$r=u(128169);$s=167;case 167:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 74:j=(g[0])-1>>0;$r=u(83);$s=168;case 168:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 75:bk=l;if(bk===(0)){$s=170;continue;}if(bk===(15)){$s=171;continue;}if(bk===(16)){$s=172;continue;}$s=173;continue;case 170:p=0;$s=30;continue;$s=173;continue;case 171:j=(g[0])-1>>0;$r=u(83);$s=174;case 174:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=173;continue;case 172:j=(g[0])-1>>0;$r=u(128169);$s=175;case 175:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 173:case 169:$s=117;continue;case 76:l=17;$s=117;continue;case 77:l=18;$s=117;continue;case 78:g[0]=j+1>>0;$r=u(128169);$s=176;case 176:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 79:g[0]=j+1>>0;$r=u(65533);$s=177;case 177:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 80:g[0]=j;j=j-(1)>>0;$r=u(73);$s=178;case 178:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 81:g[0]=j;j=j-(1)>>0;$r=u(128169);$s=179;case 179:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 82:j=(g[0])-1>>0;$r=u(73);$s=180;case 180:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 83:j=(g[0])-1>>0;$r=u(128169);$s=181;case 181:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 84:bl=l;if(bl===(17)){$s=183;continue;}if(bl===(18)){$s=184;continue;}$s=185;continue;case 183:j=(g[0])-1>>0;$r=u(73);$s=186;case 186:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=185;continue;case 184:j=(g[0])-1>>0;$r=u(128169);$s=187;case 187:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 185:case 182:$s=117;continue;case 85:l=22;$s=117;continue;case 86:l=39;$s=117;continue;case 87:g[0]=j+1>>0;$r=u(67);$s=188;case 188:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 88:g[0]=j+1>>0;$r=u(10);$s=189;case 189:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 89:g[0]=j+1>>0;$r=u(8788);$s=190;case 190:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 90:g[0]=j+1>>0;$r=u(8800);$s=191;case 191:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 91:g[0]=j+1>>0;$r=u(8805);$s=192;case 192:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 92:g[0]=j+1>>0;$r=u(8804);$s=193;case 193:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 93:g[0]=j+1>>0;$r=u(8743);$s=194;case 194:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 94:g[0]=j+1>>0;$r=u(8744);$s=195;case 195:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 95:g[0]=j+1>>0;$r=u(8230);$s=196;case 196:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 96:g[0]=j+1>>0;$r=u(8658);$s=197;case 197:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 97:g[0]=j+1>>0;$r=v();$s=198;case 198:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 98:g[0]=j+1>>0;$r=u(123);$s=199;case 199:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r+(1)>>0;$s=117;continue;case 99:g[0]=j+1>>0;if(s.$length>0&&((bm=s.$length-1>>0,((bm<0||bm>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+bm]))===r)){$s=200;continue;}$s=201;continue;case 200:$r=u(8718);$s=203;case 203:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r-(1)>>0;s=$subslice(s,0,(s.$length-1>>0));o=o-(1)>>0;p=((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]);n=$subslice(n,0,(n.$length-1>>0));$s=30;continue;$s=202;continue;case 201:$r=u(125);$s=204;case 204:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r-(1)>>0;case 202:$s=117;continue;case 100:g[0]=j+1>>0;if(s.$length>0&&((bn=s.$length-1>>0,((bn<0||bn>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+bn]))===r)){$s=205;continue;}$s=206;continue;case 205:$r=u(8718);$s=208;case 208:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r-(1)>>0;s=$subslice(s,0,(s.$length-1>>0));o=o-(1)>>0;p=((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]);n=$subslice(n,0,(n.$length-1>>0));$s=30;continue;$s=207;continue;case 206:$r=u(8718);$s=209;case 209:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=r-(1)>>0;case 207:$s=117;continue;case 101:g[0]=j+1>>0;$r=u(171);$s=210;case 210:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}n=$append(n,0);((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=p);o=o+(1)>>0;p=1509;$s=30;continue;$s=117;continue;case 102:g[0]=j+1>>0;$r=u(72);$s=211;case 211:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bo=$subslice(b[0],(h[0]+2>>0),(g[0]-1>>0));if((0>=bo.$length?($throwRuntimeError("index out of range"),undefined):bo.$array[bo.$offset+0])===45){bo=$subslice(bo,1);}if((bp=bo.$length-1>>0,((bp<0||bp>=bo.$length)?($throwRuntimeError("index out of range"),undefined):bo.$array[bo.$offset+bp]))===13){bo=$subslice(bo,0,(bo.$length-1>>0));}t=$append(t,new AE.ptr(bo,true));n=$append(n,0);((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=p);o=o+(1)>>0;p=1523;$s=30;continue;$s=117;continue;case 103:g[0]=j+1>>0;$r=u(128169);$s=212;case 212:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 104:g[0]=j+1>>0;$r=u(65533);$s=213;case 213:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 105:g[0]=j;j=j-(1)>>0;$s=117;continue;case 106:g[0]=j;j=j-(1)>>0;$r=u(78);$s=214;case 214:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 107:g[0]=j;j=j-(1)>>0;$r=u(73);$s=215;case 215:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 108:g[0]=j;j=j-(1)>>0;$r=u(67);$s=216;case 216:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 109:g[0]=j;j=j-(1)>>0;$r=v();$s=217;case 217:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 110:g[0]=j;j=j-(1)>>0;$r=u(128169);$s=218;case 218:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 111:g[0]=j;j=j-(1)>>0;$r=u(65533);$s=219;case 219:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 112:j=(g[0])-1>>0;$r=u(78);$s=220;case 220:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 113:j=(g[0])-1>>0;$r=u(73);$s=221;case 221:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 114:j=(g[0])-1>>0;$r=v();$s=222;case 222:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 115:j=(g[0])-1>>0;$r=u(128169);$s=223;case 223:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=117;continue;case 116:bq=l;if(bq===(22)){$s=225;continue;}if(bq===(39)){$s=226;continue;}$s=227;continue;case 225:j=(g[0])-1>>0;$r=u(73);$s=228;case 228:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=227;continue;case 226:j=(g[0])-1>>0;$r=u(128169);$s=229;case 229:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 227:case 224:case 117:case 33:z=z-(1)>>>0;$s=31;continue;case 32:case 30:y=((((p<0||p>=AY.$length)?($throwRuntimeError("index out of range"),undefined):AY.$array[AY.$offset+p])>>0));z=((((y<0||y>=AP.$length)?($throwRuntimeError("index out of range"),undefined):AP.$array[AP.$offset+y])>>>0));y=y+(1)>>0;while(true){if(!(z>0)){break;}y=y+(1)>>0;bs=(br=y-1>>0,((br<0||br>=AP.$length)?($throwRuntimeError("index out of range"),undefined):AP.$array[AP.$offset+br]));if(bs===(1)){h[0]=0;}else if(bs===(2)){l=0;}z=z-(1)>>>0;}if(p===0){$s=230;continue;}$s=231;continue;case 230:$s=6;continue;case 231:j=j+(1)>>0;if(!((j===k))){$s=232;continue;}$s=233;continue;case 232:$s=7;continue;case 233:case 3:if(j===m){$s=234;continue;}$s=235;continue;case 234:if(((p<0||p>=BA.$length)?($throwRuntimeError("index out of range"),undefined):BA.$array[BA.$offset+p])>0){$s=236;continue;}$s=237;continue;case 236:x=(((((p<0||p>=BA.$length)?($throwRuntimeError("index out of range"),undefined):BA.$array[BA.$offset+p])-1<<16>>16)>>0));$s=27;continue;case 237:case 235:case 6:if(p<1459){if((e===1)&&(n.$length===0)){f[0].emitToken(83,h[0],b[0].$length);}else{f[0].emitToken(65533,h[0],b[0].$length);}}f[0].emitToken(9220,b[0].$length,b[0].$length);$s=-1;return f[0].Tokens;}return;}if($f===undefined){$f={$blk:BB};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BM=function(b,c){var aa,ab,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s;$s=0;s:while(true){switch($s){case 0:d=FD.nil;e=0;f=b.$length;g=0;h=0;i=f;j=0;if(c){j=10;}else{j=4;}$unused(g);$unused(i);k=0;l=0;m=0;n=0;o=0;if(e===f){$s=1;continue;}$s=2;continue;case 1:$s=3;continue;case 2:if(j===0){$s=4;continue;}$s=5;continue;case 4:$s=6;continue;case 5:case 7:o=((((j<0||j>=BD.$length)?($throwRuntimeError("index out of range"),undefined):BD.$array[BD.$offset+j])>>0));l=((((j<0||j>=BH.$length)?($throwRuntimeError("index out of range"),undefined):BH.$array[BH.$offset+j])>>0));k=((((j<0||j>=BF.$length)?($throwRuntimeError("index out of range"),undefined):BF.$array[BF.$offset+j])>>0));if(k>0){$s=8;continue;}$s=9;continue;case 8:p=(o);q=0;r=(((o+k>>0)-1>>0));case 10:if(r<p){$s=11;continue;}q=p+((((r-p>>0))>>1>>0))>>0;if(((e<0||e>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+e])<((q<0||q>=BE.$length)?($throwRuntimeError("index out of range"),undefined):BE.$array[BE.$offset+q])){$s=13;continue;}if(((e<0||e>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+e])>((q<0||q>=BE.$length)?($throwRuntimeError("index out of range"),undefined):BE.$array[BE.$offset+q])){$s=14;continue;}$s=15;continue;case 13:r=q-1>>0;$s=16;continue;case 14:p=q+1>>0;$s=16;continue;case 15:l=l+(((q-(o)>>0)))>>0;$s=17;continue;case 16:case 12:$s=10;continue;case 11:o=o+(k)>>0;l=l+(k)>>0;case 9:k=((((j<0||j>=BG.$length)?($throwRuntimeError("index out of range"),undefined):BG.$array[BG.$offset+j])>>0));if(k>0){$s=18;continue;}$s=19;continue;case 18:s=(o);t=0;u=(((o+((k<<1>>0))>>0)-2>>0));case 20:if(u<s){$s=21;continue;}t=s+((((((u-s>>0))>>1>>0))&-2))>>0;if(((e<0||e>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+e])<((t<0||t>=BE.$length)?($throwRuntimeError("index out of range"),undefined):BE.$array[BE.$offset+t])){$s=23;continue;}if(((e<0||e>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+e])>(v=t+1>>0,((v<0||v>=BE.$length)?($throwRuntimeError("index out of range"),undefined):BE.$array[BE.$offset+v]))){$s=24;continue;}$s=25;continue;case 23:u=t-2>>0;$s=26;continue;case 24:s=t+2>>0;$s=26;continue;case 25:l=l+(((((t-(o)>>0))>>1>>0)))>>0;$s=17;continue;case 26:case 22:$s=20;continue;case 21:l=l+(k)>>0;case 19:case 17:l=((((l<0||l>=BI.$length)?($throwRuntimeError("index out of range"),undefined):BI.$array[BI.$offset+l])>>0));j=((((l<0||l>=BJ.$length)?($throwRuntimeError("index out of range"),undefined):BJ.$array[BJ.$offset+l])>>0));if(((l<0||l>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+l])===0){$s=27;continue;}$s=28;continue;case 27:$s=29;continue;case 28:m=((((l<0||l>=BK.$length)?($throwRuntimeError("index out of range"),undefined):BK.$array[BK.$offset+l])>>0));n=((((m<0||m>=BC.$length)?($throwRuntimeError("index out of range"),undefined):BC.$array[BC.$offset+m])>>>0));m=m+(1)>>0;while(true){if(!(n>0)){break;}m=m+(1)>>0;x=(w=m-1>>0,((w<0||w>=BC.$length)?($throwRuntimeError("index out of range"),undefined):BC.$array[BC.$offset+w]));if(x===(0)){if(h<e){d=$append(d,$subslice(b,h,e));}g=e;}else if(x===(1)){h=e;d=$append(d,$subslice(b,g,h));}n=n-(1)>>>0;}case 29:if(j===0){$s=30;continue;}$s=31;continue;case 30:$s=6;continue;case 31:e=e+(1)>>0;if(!((e===f))){$s=32;continue;}$s=33;continue;case 32:$s=7;continue;case 33:case 3:if(e===i){y=((j<0||j>=BL.$length)?($throwRuntimeError("index out of range"),undefined):BL.$array[BL.$offset+j]);z=((((y<0||y>=BC.$length)?($throwRuntimeError("index out of range"),undefined):BC.$array[BC.$offset+y])>>>0));y=y+(1)<<24>>>24;while(true){if(!(z>0)){break;}y=y+(1)<<24>>>24;ab=(aa=y-1<<24>>>24,((aa<0||aa>=BC.$length)?($throwRuntimeError("index out of range"),undefined):BC.$array[BC.$offset+aa]));if(ab===(1)){h=e;d=$append(d,$subslice(b,g,h));}z=z-(1)>>>0;}}case 6:if(h<e){d=$append(d,$subslice(b,h,e));}if(j<4){d=$append(d,$subslice(b,e,b.$length));}$s=-1;return d;}return;}};BN=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=BR(b,c,$clone(d,A.Pos));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];i=BY(g,false);j=new CM.ptr(i,false);l=j.ParseBody(9220);$s=2;case 2:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=k[1];h=$appendSlice(h,$convertSliceType(n,EJ));$r=i.AssertEmptyIncludeNewlinesStack();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[new A.File.ptr(m,b,(o=new CS.ptr(m),new o.constructor.elem(o))),h];}return;}if($f===undefined){$f={$blk:BN};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ParseConfig=BN;BR=function(b,c,d){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=BB(b,c,$clone(d,A.Pos),0);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=AG($convertSliceType(f,AA));$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=-1;return[$convertSliceType(f,AA),h];}return;}if($f===undefined){$f={$blk:BR};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.LexConfig=BR;BY=function(b,c){var b,c;return new BW.ptr(b,0,c,new FF([true]),FG.nil);};BW.ptr.prototype.Peek=function(){var b,c,d;b=this;c=b.nextToken();d=$clone(c[0],Z);return d;};BW.prototype.Peek=function(){return this.$val.Peek();};BW.ptr.prototype.Read=function(){var b,c,d,e;b=this;c=b.nextToken();d=$clone(c[0],Z);e=c[1];b.NextIndex=e;return d;};BW.prototype.Read=function(){return this.$val.Read();};BW.ptr.prototype.NextRange=function(){var b;b=this;return b.Peek().Range;};BW.prototype.NextRange=function(){return this.$val.NextRange();};BW.ptr.prototype.PrevRange=function(){var b,c,d;b=this;if(b.NextIndex===0){return b.NextRange();}return(c=b.Tokens,d=b.NextIndex-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).Range;};BW.prototype.PrevRange=function(){return this.$val.PrevRange();};BW.ptr.prototype.nextToken=function(){var b,c,d,e,f,g,h,i,j,k;b=this;c=b.NextIndex;while(true){if(!(c<b.Tokens.$length)){break;}e=$clone((d=b.Tokens,((c<0||c>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+c])),Z);f=e.Type;if(f===(67)){if(!b.IncludeComments){if(b.includingNewlines()){if(e.Bytes.$length>0&&((g=e.Bytes,h=e.Bytes.$length-1>>0,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]))===10)){i=new Z.ptr(10,$subslice(e.Bytes,(e.Bytes.$length-1>>0),e.Bytes.$length),$clone(e.Range,A.Range));return[i,c+1>>0];}}c=c+(1)>>0;continue;}}else if(f===(10)){if(!b.includingNewlines()){c=c+(1)>>0;continue;}}return[e,c+1>>0];}return[(j=b.Tokens,k=b.Tokens.$length-1>>0,((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k])),b.Tokens.$length];};BW.prototype.nextToken=function(){return this.$val.nextToken();};BW.ptr.prototype.includingNewlines=function(){var b,c,d;b=this;return(c=b.IncludeNewlinesStack,d=b.IncludeNewlinesStack.$length-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]));};BW.prototype.includingNewlines=function(){return this.$val.includingNewlines();};BW.ptr.prototype.PushIncludeNewlines=function(b){var b,c,d,e,f,g;c=this;if(BV){d=new FH([0]);H.Callers(2,d);e=H.CallersFrames(d);f=e.Next();g=$clone(f[0],H.Frame);c.newlineStackChanges=$append(c.newlineStackChanges,new BX.ptr(true,$clone(g,H.Frame),b));}c.IncludeNewlinesStack=$append(c.IncludeNewlinesStack,b);};BW.prototype.PushIncludeNewlines=function(b){return this.$val.PushIncludeNewlines(b);};BW.ptr.prototype.PopIncludeNewlines=function(){var b,c,d,e,f,g,h,i,j,k,l;b=this;c=b.IncludeNewlinesStack;d=$subslice(c,0,(c.$length-1>>0));e=(f=c.$length-1>>0,((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]));g=d;h=e;b.IncludeNewlinesStack=g;if(BV){i=new FH([0]);H.Callers(2,i);j=H.CallersFrames(i);k=j.Next();l=$clone(k[0],H.Frame);b.newlineStackChanges=$append(b.newlineStackChanges,new BX.ptr(false,$clone(l,H.Frame),h));}return h;};BW.prototype.PopIncludeNewlines=function(){return this.$val.PopIncludeNewlines();};BW.ptr.prototype.AssertEmptyIncludeNewlinesStack=function(){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(!((b.IncludeNewlinesStack.$length===1))){$s=1;continue;}$s=2;continue;case 1:if(!(b.newlineStackChanges===FG.nil)){$s=3;continue;}$s=4;continue;case 3:c=new $Int((b.IncludeNewlinesStack.$length-1>>0));d=BZ(b.newlineStackChanges);$s=6;case 6:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=new $String(d);f=D.Errorf("non-empty IncludeNewlinesStack after parse with %d calls unaccounted for:\n%s",new EP([c,e]));$s=7;case 7:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$panic(f);$s=5;continue;case 4:g=D.Errorf("non-empty IncludeNewlinesStack after parse: %#v",new EP([b.IncludeNewlinesStack]));$s=8;case 8:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$panic(g);case 5:case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:BW.ptr.prototype.AssertEmptyIncludeNewlinesStack};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BW.prototype.AssertEmptyIncludeNewlinesStack=function(){return this.$val.AssertEmptyIncludeNewlinesStack();};BZ=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=0;c[0]=new C.Buffer.ptr(EE.nil,0,0);e=b;f=0;case 1:if(!(f<e.$length)){$s=2;continue;}g=$clone(((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]),BX);h=g.Frame.Function;i=F.LastIndexByte(h,46);if(!((i===-1))){h=$substring(h,(i+1>>0));}j=g.Frame.File;k=F.LastIndexByte(j,47);if(!((k===-1))){j=$substring(j,(k+1>>0));}l=g.Pushing;if(l){$s=4;continue;}if(l===(false)){$s=5;continue;}$s=6;continue;case 4:m=c[0].WriteString(F.Repeat(" ",d));$s=7;case 7:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;n=D.Fprintf(c[0],"PUSH %#v (%s at %s:%d)\n",new EP([new $Bool(g.Include),new $String(h),new $String(j),new $Int(g.Frame.Line)]));$s=8;case 8:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n;d=d+(1)>>0;$s=6;continue;case 5:d=d-(1)>>0;o=c[0].WriteString(F.Repeat(" ",d));$s=9;case 9:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;p=D.Fprintf(c[0],"POP %#v (%s at %s:%d)\n",new EP([new $Bool(g.Include),new $String(h),new $String(j),new $Int(g.Frame.Line)]));$s=10;case 10:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;case 6:case 3:f++;$s=1;continue;case 2:$s=-1;return c[0].String();}return;}if($f===undefined){$f={$blk:BZ};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};CM.ptr.prototype.ParseTraversalAbs=function(){var aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.Traversal.nil;d=A.Diagnostics.nil;e=$clone(b.peeker.Read(),Z);if(!((e.Type===73))){d=$append(d,new A.Diagnostic.ptr(1,"Variable name required","Must begin with a variable name.",e.Range,EQ.nil,$ifaceNil,ER.nil));$s=-1;return[c,d];}f=($bytesToString(e.Bytes));c=$append(c,(g=new A.TraverseRoot.ptr(new A.isTraverser.ptr(),f,$clone(e.Range,A.Range)),new g.constructor.elem(g)));case 1:h=$clone(b.peeker.Peek(),Z);if(h.Type===9220){$s=-1;return[c,d];}i=h.Type;if(i===(46)){$s=4;continue;}if(i===(91)){$s=5;continue;}$s=6;continue;case 4:j=$clone(b.peeker.Read(),Z);k=$clone(b.peeker.Read(),Z);if(!((k.Type===73))){if(k.Type===42){d=$append(d,new A.Diagnostic.ptr(1,"Attribute name required","Splat expressions (.*) may not be used here.",k.Range,$clone(A.RangeBetween($clone(e.Range,A.Range),$clone(k.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}else{d=$append(d,new A.Diagnostic.ptr(1,"Attribute name required","Dot must be followed by attribute name.",k.Range,$clone(A.RangeBetween($clone(e.Range,A.Range),$clone(k.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}$s=-1;return[c,d];}l=($bytesToString(k.Bytes));c=$append(c,(m=new A.TraverseAttr.ptr(new A.isTraverser.ptr(),l,$clone(A.RangeBetween($clone(j.Range,A.Range),$clone(k.Range,A.Range)),A.Range)),new m.constructor.elem(m)));$s=7;continue;case 5:n=$clone(b.peeker.Read(),Z);o=$clone(b.peeker.Peek(),Z);p=o.Type;if(p===(78)){$s=9;continue;}if(p===(171)){$s=10;continue;}$s=11;continue;case 9:q=$clone(b.peeker.Read(),Z);s=b.numberLitValue($clone(q,Z));$s=13;case 13:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=$clone(r[0],I.Value);u=r[1];d=$appendSlice(d,$convertSliceType(u,EJ));v=$clone(b.peeker.Read(),Z);if(!((v.Type===93))){d=$append(d,new A.Diagnostic.ptr(1,"Unclosed index brackets","Index key must be followed by a closing bracket.",v.Range,$clone(A.RangeBetween($clone(n.Range,A.Range),$clone(v.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}c=$append(c,(w=new A.TraverseIndex.ptr(new A.isTraverser.ptr(),$clone(t,I.Value),$clone(A.RangeBetween($clone(n.Range,A.Range),$clone(v.Range,A.Range)),A.Range)),new w.constructor.elem(w)));if(d.HasErrors()){$s=-1;return[c,d];}$s=12;continue;case 10:y=b.parseQuotedStringLiteral();$s=14;case 14:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;z=x[0];aa=x[2];d=$appendSlice(d,$convertSliceType(aa,EJ));ab=$clone(b.peeker.Read(),Z);if(!((ab.Type===93))){d=$append(d,new A.Diagnostic.ptr(1,"Unclosed index brackets","Index key must be followed by a closing bracket.",ab.Range,$clone(A.RangeBetween($clone(n.Range,A.Range),$clone(ab.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}ad=I.StringVal(z);$s=15;case 15:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}c=$append(c,(ac=new A.TraverseIndex.ptr(new A.isTraverser.ptr(),$clone(ad,I.Value),$clone(A.RangeBetween($clone(n.Range,A.Range),$clone(ab.Range,A.Range)),A.Range)),new ac.constructor.elem(ac)));if(d.HasErrors()){$s=-1;return[c,d];}$s=12;continue;case 11:if(o.Type===42){d=$append(d,new A.Diagnostic.ptr(1,"Attribute name required","Splat expressions ([*]) may not be used here.",o.Range,$clone(A.RangeBetween($clone(e.Range,A.Range),$clone(o.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}else{d=$append(d,new A.Diagnostic.ptr(1,"Index value required","Index brackets must contain either a literal number or a literal string.",o.Range,$clone(A.RangeBetween($clone(e.Range,A.Range),$clone(o.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}$s=-1;return[c,d];case 12:case 8:$s=7;continue;case 6:d=$append(d,new A.Diagnostic.ptr(1,"Invalid character","Expected an attribute access or an index operator.",h.Range,$clone(A.RangeBetween($clone(e.Range,A.Range),$clone(h.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));$s=-1;return[c,d];case 7:case 3:$s=1;continue;case 2:$s=-1;return[A.Traversal.nil,A.Diagnostics.nil];}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.ParseTraversalAbs};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.ParseTraversalAbs=function(){return this.$val.ParseTraversalAbs();};CM.ptr.prototype.ParseTemplate=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.parseTemplate(9220,false);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.ParseTemplate};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.ParseTemplate=function(){return this.$val.ParseTemplate();};CM.ptr.prototype.parseTemplate=function(b,c){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=d.parseTemplateInner(b,c);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];i=$clone(e[2],A.Range);j=e[3];if(h){if(!((g.$length===1))){$panic(new $String("passthru set with len(exprs) != 1"));}$s=-1;return[new DD.ptr((0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]),$clone(i,A.Range)),j];}$s=-1;return[new DB.ptr(g,$clone(i,A.Range)),j];}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.parseTemplate};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.parseTemplate=function(b,c){return this.$val.parseTemplate(b,c);};CM.ptr.prototype.parseTemplateInner=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;f=d.parseTemplateParts(b);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];if(c){$s=2;continue;}$s=3;continue;case 2:$r=CB(g);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:i=new CA.ptr(g.Tokens,$clone(g.SrcRange,A.Range),0);k=i.parseRoot();$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];h=$appendSlice(h,$convertSliceType(m,EJ));n=false;if(g.Tokens.$length===2){o=$assertType((p=g.Tokens,(0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0])),FK,true);q=o[1];if(q){n=true;}}$s=-1;return[l,n,g.SrcRange,h];}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.parseTemplateInner};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.parseTemplateInner=function(b,c){return this.$val.parseTemplateInner(b,c);};CA.ptr.prototype.parseRoot=function(){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=FI.nil;d=A.Diagnostics.nil;case 1:e=b.Peek();f=$assertType(e,FL,true);g=f[1];if(g){$s=2;continue;}i=b.parseExpr();$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=h[0];k=h[1];d=$appendSlice(d,$convertSliceType(k,EJ));c=$append(c,j);$s=1;continue;case 2:$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:CA.ptr.prototype.parseRoot};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};CA.prototype.parseRoot=function(){return this.$val.parseRoot();};CA.ptr.prototype.parseExpr=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Peek();d=c;if($assertType(d,FM,true)[1]){$s=1;continue;}if($assertType(d,FK,true)[1]){$s=2;continue;}if($assertType(d,FN,true)[1]){$s=3;continue;}if($assertType(d,FO,true)[1]){$s=4;continue;}if($assertType(d,FL,true)[1]){$s=5;continue;}if($assertType(d,FP,true)[1]){$s=6;continue;}$s=7;continue;case 1:e=d.$val;b.Read();l=I.StringVal(e.Val);$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=[new DM.ptr($clone(l,I.Value),$clone(e.SrcRange,A.Range)),A.Diagnostics.nil];$s=10;case 10:return m;case 2:f=d.$val;b.Read();$s=-1;return[f.Expr,A.Diagnostics.nil];case 3:g=d.$val;n=b.parseIf();$s=11;case 11:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;$s=12;case 12:return o;case 4:h=d.$val;p=b.parseFor();$s=13;case 13:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;$s=14;case 14:return q;case 5:i=d.$val;b.Read();$s=-1;return[CP($clone(i.SrcRange,A.Range)),new A.Diagnostics([new A.Diagnostic.ptr(1,"Unexpected end of template","The control directives within this template are unbalanced.",i.SrcRange,EQ.nil,$ifaceNil,ER.nil)])];case 6:j=d.$val;b.Read();r=D.Sprintf("Unexpected %s directive",new EP([new $String(j.Name())]));$s=15;case 15:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=[CP($clone(j.SrcRange,A.Range)),new A.Diagnostics([new A.Diagnostic.ptr(1,r,"The control directives within this template are unbalanced.",j.SrcRange,EQ.nil,$ifaceNil,ER.nil)])];$s=16;case 16:return s;case 7:k=d;t=D.Sprintf("unhandled template token type %T",new EP([c]));$s=17;case 17:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}$panic(new $String(t));case 8:$s=-1;return[$ifaceNil,A.Diagnostics.nil];}return;}if($f===undefined){$f={$blk:CA.ptr.prototype.parseExpr};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};CA.prototype.parseExpr=function(){return this.$val.parseExpr();};CA.ptr.prototype.parseIf=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=[c];d=this;e=d.Read();f=$assertType(e,FN,true);g=f[0];h=f[1];if(!h){$panic(new $String("parseIf called with peeker not pointing at if token"));}i=FI.nil;j=FI.nil;c[0]=i;b[0]=j;k=A.Diagnostics.nil;l=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));m=(c.$ptr||(c.$ptr=new FQ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c)));case 1:n=d.Peek();o=$assertType(n,FL,true);p=o[0];q=o[1];if(q){$s=3;continue;}$s=4;continue;case 3:s=D.Sprintf("The if directive at %s is missing its corresponding endif directive.",new EP([(r=g.SrcRange,new r.constructor.elem(r))]));$s=5;case 5:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}k=$append(k,new A.Diagnostic.ptr(1,"Unexpected end of template",s,p.SrcRange,EQ.nil,$ifaceNil,ER.nil));$s=-1;return[CP($clone(p.SrcRange,A.Range)),k];case 4:t=$assertType(n,FP,true);u=t[0];v=t[1];if(v){$s=6;continue;}$s=7;continue;case 6:d.Read();w=u.Type;if(w===(1)){$s=9;continue;}if(w===(0)){$s=10;continue;}$s=11;continue;case 9:if(m===(c.$ptr||(c.$ptr=new FQ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c)))){m=(b.$ptr||(b.$ptr=new FQ(function(){return this.$target[0];},function($v){this.$target[0]=$v;},b)));$s=1;continue s;}y=D.Sprintf("Already in the else clause for the if started at %s.",new EP([(x=g.SrcRange,new x.constructor.elem(x))]));$s=13;case 13:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}k=$append(k,new A.Diagnostic.ptr(1,"Unexpected else directive",y,u.SrcRange,EQ.nil,$ifaceNil,ER.nil));$s=12;continue;case 10:A.Range.copy(l,u.SrcRange);$s=2;continue s;$s=12;continue;case 11:z=D.Sprintf("Unexpected %s directive",new EP([new $String(u.Name())]));$s=14;case 14:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}ab=D.Sprintf("Expecting an endif directive for the if started at %s.",new EP([(aa=g.SrcRange,new aa.constructor.elem(aa))]));$s=15;case 15:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}k=$append(k,new A.Diagnostic.ptr(1,z,ab,u.SrcRange,EQ.nil,$ifaceNil,ER.nil));case 12:case 8:$s=-1;return[CP($clone(u.SrcRange,A.Range)),k];case 7:ad=d.parseExpr();$s=16;case 16:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;ae=ac[0];af=ac[1];k=$appendSlice(k,$convertSliceType(af,EJ));m.$set($append(m.$get(),ae));$s=1;continue;case 2:if(c[0].$length===0){$s=17;continue;}$s=18;continue;case 17:ag=I.StringVal("");$s=19;case 19:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}c[0]=$append(c[0],new DM.ptr($clone(ag,I.Value),new A.Range.ptr(g.SrcRange.Filename,$clone(g.SrcRange.End,A.Pos),$clone(g.SrcRange.End,A.Pos))));case 18:if(b[0].$length===0){$s=20;continue;}$s=21;continue;case 20:ah=I.StringVal("");$s=22;case 22:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}b[0]=$append(b[0],new DM.ptr($clone(ah,I.Value),new A.Range.ptr(l.Filename,$clone(l.Start,A.Pos),$clone(l.Start,A.Pos))));case 21:ai=(0>=c[0].$length?($throwRuntimeError("index out of range"),undefined):c[0].$array[c[0].$offset+0]).Range();$s=23;case 23:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=$clone(ai,A.Range);al=(ak=c[0].$length-1>>0,((ak<0||ak>=c[0].$length)?($throwRuntimeError("index out of range"),undefined):c[0].$array[c[0].$offset+ak])).Range();$s=24;case 24:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=$clone(al,A.Range);an=A.RangeBetween(aj,am);$s=25;case 25:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=new DB.ptr(c[0],$clone(an,A.Range));ap=(0>=b[0].$length?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+0]).Range();$s=26;case 26:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=$clone(ap,A.Range);as=(ar=b[0].$length-1>>0,((ar<0||ar>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+ar])).Range();$s=27;case 27:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=$clone(as,A.Range);au=A.RangeBetween(aq,at);$s=28;case 28:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=new DB.ptr(b[0],$clone(au,A.Range));$s=-1;return[new DQ.ptr(g.CondExpr,ao,av,$clone(A.RangeBetween($clone(g.SrcRange,A.Range),$clone(l,A.Range)),A.Range)),k];}return;}if($f===undefined){$f={$blk:CA.ptr.prototype.parseIf};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CA.prototype.parseIf=function(){return this.$val.parseIf();};CA.ptr.prototype.parseFor=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Read();d=$assertType(c,FO,true);e=d[0];f=d[1];if(!f){$panic(new $String("parseFor called with peeker not pointing at for token"));}g=FI.nil;h=A.Diagnostics.nil;i=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));case 1:j=b.Peek();k=$assertType(j,FL,true);l=k[0];m=k[1];if(m){$s=3;continue;}$s=4;continue;case 3:o=D.Sprintf("The for directive at %s is missing its corresponding endfor directive.",new EP([(n=e.SrcRange,new n.constructor.elem(n))]));$s=5;case 5:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}h=$append(h,new A.Diagnostic.ptr(1,"Unexpected end of template",o,l.SrcRange,EQ.nil,$ifaceNil,ER.nil));$s=-1;return[CP($clone(l.SrcRange,A.Range)),h];case 4:p=$assertType(j,FP,true);q=p[0];r=p[1];if(r){$s=6;continue;}$s=7;continue;case 6:b.Read();s=q.Type;if(s===(1)){$s=9;continue;}if(s===(2)){$s=10;continue;}$s=11;continue;case 9:h=$append(h,new A.Diagnostic.ptr(1,"Unexpected else directive","An else clause is not expected for a for directive.",q.SrcRange,EQ.nil,$ifaceNil,ER.nil));$s=12;continue;case 10:A.Range.copy(i,q.SrcRange);$s=2;continue s;$s=12;continue;case 11:t=D.Sprintf("Unexpected %s directive",new EP([new $String(q.Name())]));$s=13;case 13:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}v=D.Sprintf("Expecting an endfor directive corresponding to the for directive at %s.",new EP([(u=e.SrcRange,new u.constructor.elem(u))]));$s=14;case 14:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}h=$append(h,new A.Diagnostic.ptr(1,t,v,q.SrcRange,EQ.nil,$ifaceNil,ER.nil));case 12:case 8:$s=-1;return[CP($clone(q.SrcRange,A.Range)),h];case 7:x=b.parseExpr();$s=15;case 15:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;y=w[0];z=w[1];h=$appendSlice(h,$convertSliceType(z,EJ));g=$append(g,y);$s=1;continue;case 2:if(g.$length===0){$s=16;continue;}$s=17;continue;case 16:aa=I.StringVal("");$s=18;case 18:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}g=$append(g,new DM.ptr($clone(aa,I.Value),new A.Range.ptr(e.SrcRange.Filename,$clone(e.SrcRange.End,A.Pos),$clone(e.SrcRange.End,A.Pos))));case 17:ab=(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]).Range();$s=19;case 19:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,A.Range);ae=(ad=g.$length-1>>0,((ad<0||ad>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+ad])).Range();$s=20;case 20:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=$clone(ae,A.Range);ag=A.RangeBetween(ac,af);$s=21;case 21:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=new DB.ptr(g,$clone(ag,A.Range));ai=new DW.ptr(e.KeyVar,e.ValVar,e.CollExpr,$ifaceNil,ah,$ifaceNil,false,$clone(A.RangeBetween($clone(e.SrcRange,A.Range),$clone(i,A.Range)),A.Range),$clone(e.SrcRange,A.Range),$clone(i,A.Range));$s=-1;return[new DC.ptr(ai),h];}return;}if($f===undefined){$f={$blk:CA.ptr.prototype.parseFor};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CA.prototype.parseFor=function(){return this.$val.parseFor();};CA.ptr.prototype.Peek=function(){var b,c,d;b=this;return(c=b.Tokens,d=b.pos,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]));};CA.prototype.Peek=function(){return this.$val.Peek();};CA.ptr.prototype.Read=function(){var b,c,d,e;b=this;c=b.Peek();d=$assertType(c,FL,true);e=d[1];if(!e){b.pos=b.pos+(1)>>0;}return c;};CA.prototype.Read=function(){return this.$val.Read();};CM.ptr.prototype.parseTemplateParts=function(b){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;e=FJ.nil;f=A.Diagnostics.nil;c[0]=$clone(d.peeker.NextRange(),A.Range);g=false;h=false;i=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));case 1:j=$clone(d.peeker.Read(),Z);if(j.Type===b){A.Range.copy(i,j.Range);$s=2;continue;}k=g;g=false;l=h;h=false;m=j.Type;if((m===(83))||(m===(81))){$s=4;continue;}if(m===(8747)){$s=5;continue;}if(m===(955)){$s=6;continue;}$s=7;continue;case 4:o=CO($clone(j,Z));$s=9;case 9:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[1];f=$appendSlice(f,$convertSliceType(q,EJ));if(k){$s=10;continue;}$s=11;continue;case 10:r=F.TrimLeftFunc(p,J.IsSpace);$s=12;case 12:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}p=r;case 11:e=$append(e,new CE.ptr(p,$clone(j.Range,A.Range),FR.zero()));h=true;$s=8;continue;case 5:if(l&&(j.Bytes.$length===3)&&((s=j.Bytes,(2>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+2]))===126)&&e.$length>0){$s=13;continue;}$s=14;continue;case 13:u=(t=e.$length-1>>0,((t<0||t>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+t]));v=$assertType(u,FM,true);w=v[0];x=v[1];if(x){$s=15;continue;}$s=16;continue;case 15:y=F.TrimRightFunc(w.Val,J.IsSpace);$s=17;case 17:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}w.Val=y;case 16:case 14:d.peeker.PushIncludeNewlines(false);aa=d.ParseExpression();$s=18;case 18:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;ab=z[0];ac=z[1];f=$appendSlice(f,$convertSliceType(ac,EJ));ad=$clone(d.peeker.Peek(),Z);if(!((ad.Type===8718))){if(!d.recovery){ae=ad.Type;if(ae===(9220)){f=$append(f,new A.Diagnostic.ptr(1,"Unclosed template interpolation sequence","There is no closing brace for this interpolation sequence before the end of the file. This might be caused by incorrect nesting inside the given expression.",c[0],EQ.nil,$ifaceNil,ER.nil));}else if(ae===(58)){f=$append(f,new A.Diagnostic.ptr(1,"Extra characters after interpolation expression","Template interpolation doesn't expect a colon at this location. Did you intend this to be a literal sequence to be processed as part of another language? If so, you can escape it by starting with \"$${\" instead of just \"${\".",ad.Range,$clone(A.RangeBetween($clone(c[0],A.Range),$clone(ad.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}else if(((ad.Type===187)||(ad.Type===171))&&(b===187)){f=$append(f,new A.Diagnostic.ptr(1,"Unclosed template interpolation sequence","There is no closing brace for this interpolation sequence before the end of the quoted template. This might be caused by incorrect nesting inside the given expression.",c[0],EQ.nil,$ifaceNil,ER.nil));}else{f=$append(f,new A.Diagnostic.ptr(1,"Extra characters after interpolation expression","Expected a closing brace to end the interpolation expression, but found extra characters.\n\nThis can happen when you include interpolation syntax for another language, such as shell scripting, but forget to escape the interpolation start token. If this is an embedded sequence for another language, escape it by starting with \"$${\" instead of just \"${\".",ad.Range,$clone(A.RangeBetween($clone(c[0],A.Range),$clone(ad.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}}d.recover(8718);}else{d.peeker.Read();if((ad.Bytes.$length===2)&&((af=ad.Bytes,(0>=af.$length?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+0]))===126)){g=true;}}d.peeker.PopIncludeNewlines();e=$append(e,new CF.ptr(ab,$clone(A.RangeBetween($clone(j.Range,A.Range),$clone(ad.Range,A.Range)),A.Range),FR.zero()));$s=8;continue;case 6:if(l&&(j.Bytes.$length===3)&&((ag=j.Bytes,(2>=ag.$length?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+2]))===126)&&e.$length>0){$s=19;continue;}$s=20;continue;case 19:ai=(ah=e.$length-1>>0,((ah<0||ah>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+ah]));aj=$assertType(ai,FM,true);ak=aj[0];al=aj[1];if(al){$s=21;continue;}$s=22;continue;case 21:am=F.TrimRightFunc(ak.Val,J.IsSpace);$s=23;case 23:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}ak.Val=am;case 22:case 20:d.peeker.PushIncludeNewlines(false);an=$clone(d.peeker.Peek(),Z);if(!((an.Type===73))){if(!d.recovery){f=$append(f,new A.Diagnostic.ptr(1,"Invalid template directive","A template directive keyword (\"if\", \"for\", etc) is expected at the beginning of a %{ sequence.",an.Range,$clone(A.RangeBetween($clone(j.Range,A.Range),$clone(an.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}d.recover(8718);d.peeker.PopIncludeNewlines();$s=1;continue s;}d.peeker.Read();if(CW.TokenMatches($clone(an,Z))){$s=25;continue;}if(CX.TokenMatches($clone(an,Z))){$s=26;continue;}if(CY.TokenMatches($clone(an,Z))){$s=27;continue;}if(CU.TokenMatches($clone(an,Z))){$s=28;continue;}if(CZ.TokenMatches($clone(an,Z))){$s=29;continue;}$s=30;continue;case 25:ap=d.ParseExpression();$s=32;case 32:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;aq=ao[0];ar=ao[1];f=$appendSlice(f,$convertSliceType(ar,EJ));e=$append(e,new CG.ptr(aq,$clone(A.RangeBetween($clone(j.Range,A.Range),$clone(d.peeker.NextRange(),A.Range)),A.Range),FR.zero()));$s=31;continue;case 26:e=$append(e,new CJ.ptr(1,$clone(A.RangeBetween($clone(j.Range,A.Range),$clone(d.peeker.NextRange(),A.Range)),A.Range),FR.zero()));$s=31;continue;case 27:e=$append(e,new CJ.ptr(0,$clone(A.RangeBetween($clone(j.Range,A.Range),$clone(d.peeker.NextRange(),A.Range)),A.Range),FR.zero()));$s=31;continue;case 28:as="";at="";au=as;av=at;if(!((d.peeker.Peek().Type===73))){if(!d.recovery){f=$append(f,new A.Diagnostic.ptr(1,"Invalid 'for' directive","For directive requires variable name after 'for'.",$clone(d.peeker.Peek().Range,A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));}d.recover(8718);d.peeker.PopIncludeNewlines();$s=1;continue s;}av=($bytesToString(d.peeker.Read().Bytes));if(d.peeker.Peek().Type===44){au=av;d.peeker.Read();if(!((d.peeker.Peek().Type===73))){if(!d.recovery){f=$append(f,new A.Diagnostic.ptr(1,"Invalid 'for' directive","For directive requires value variable name after comma.",$clone(d.peeker.Peek().Range,A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));}d.recover(8718);d.peeker.PopIncludeNewlines();$s=1;continue s;}av=($bytesToString(d.peeker.Read().Bytes));}if(!CV.TokenMatches($clone(d.peeker.Peek(),Z))){if(!d.recovery){f=$append(f,new A.Diagnostic.ptr(1,"Invalid 'for' directive","For directive requires 'in' keyword after names.",$clone(d.peeker.Peek().Range,A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));}d.recover(8718);d.peeker.PopIncludeNewlines();$s=1;continue s;}d.peeker.Read();ax=d.ParseExpression();$s=33;case 33:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}aw=ax;ay=aw[0];az=aw[1];f=$appendSlice(f,$convertSliceType(az,EJ));e=$append(e,new CH.ptr(au,av,ay,$clone(A.RangeBetween($clone(j.Range,A.Range),$clone(d.peeker.NextRange(),A.Range)),A.Range),FR.zero()));$s=31;continue;case 29:e=$append(e,new CJ.ptr(2,$clone(A.RangeBetween($clone(j.Range,A.Range),$clone(d.peeker.NextRange(),A.Range)),A.Range),FR.zero()));$s=31;continue;case 30:if(!d.recovery){$s=34;continue;}$s=35;continue;case 34:ba=new EX(["if","for","else","endif","endfor"]);bb=($bytesToString(an.Bytes));bc=DZ(bb,ba);if(!(bc==="")){$s=36;continue;}$s=37;continue;case 36:bd=D.Sprintf(" Did you mean %q?",new EP([new $String(bc)]));$s=38;case 38:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}bc=bd;case 37:be=D.Sprintf("%q is not a valid template control keyword.%s",new EP([new $String(bb),new $String(bc)]));$s=39;case 39:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}f=$append(f,new A.Diagnostic.ptr(1,"Invalid template control keyword",be,an.Range,$clone(A.RangeBetween($clone(j.Range,A.Range),$clone(an.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));case 35:d.recover(8718);d.peeker.PopIncludeNewlines();$s=1;continue s;case 31:case 24:bf=$clone(d.peeker.Peek(),Z);if(!((bf.Type===8718))){$s=40;continue;}$s=41;continue;case 40:if(!d.recovery){$s=43;continue;}$s=44;continue;case 43:bg=D.Sprintf("Extra characters in %s marker",new EP([an.Bytes]));$s=45;case 45:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}f=$append(f,new A.Diagnostic.ptr(1,bg,"Expected a closing brace to end the sequence, but found extra characters.",bf.Range,$clone(A.RangeBetween($clone(c[0],A.Range),$clone(bf.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));case 44:d.recover(8718);$s=42;continue;case 41:d.peeker.Read();if((bf.Bytes.$length===2)&&((bh=bf.Bytes,(0>=bh.$length?($throwRuntimeError("index out of range"),undefined):bh.$array[bh.$offset+0]))===126)){g=true;}case 42:d.peeker.PopIncludeNewlines();$s=8;continue;case 7:if(!d.recovery){f=$append(f,new A.Diagnostic.ptr(1,"Unterminated template string","No closing marker was found for the string.",j.Range,$clone(A.RangeBetween($clone(c[0],A.Range),$clone(j.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}bi=$clone(d.recover(b),Z);A.Range.copy(i,bi.Range);$s=2;continue s;case 8:case 3:$s=1;continue;case 2:if(e.$length===0){e=$append(e,new CE.ptr("",new A.Range.ptr(c[0].Filename,$clone(c[0].End,A.Pos),$clone(c[0].End,A.Pos)),FR.zero()));}e=$append(e,new CK.ptr($clone(i,A.Range),FR.zero()));bj=new CC.ptr(e,$clone(A.RangeBetween($clone(c[0],A.Range),$clone(i,A.Range)),A.Range));$s=-1;return[bj,f];}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.parseTemplateParts};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.parseTemplateParts=function(b){return this.$val.parseTemplateParts(b);};CB=function(b){var aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(b.Tokens.$length===0){$s=-1;return;}c=2147483647;d=true;e=FS.nil;f=b.Tokens;g=0;case 1:if(!(g<f.$length)){$s=2;continue;}h=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(d){$s=3;continue;}$s=4;continue;case 3:d=false;i=0;j=$assertType(h,FM,true);k=j[0];l=j[1];if(l){$s=5;continue;}$s=6;continue;case 5:m=k.Val;n=F.TrimLeftFunc(m,J.IsSpace);$s=8;case 8:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if((o.length===0)&&F.HasSuffix(m,"\n")){$s=9;continue;}$s=10;continue;case 9:i=2147483647;$s=11;continue;case 10:p=k.Val.length-o.length>>0;r=E.TokenCount((new EE($stringToBytes($substring(m,0,p)))),E.ScanGraphemeClusters);$s=12;case 12:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;i=q[0];e=$append(e,k);case 11:$s=7;continue;case 6:s=$assertType(h,FL,true);t=s[1];if(t){$s=2;continue;}case 7:if(i<c){c=i;}case 4:u=$assertType(h,FM,true);v=u[0];w=u[1];if(w){if(F.HasSuffix(v.Val,"\n")){d=true;}}g++;$s=1;continue;case 2:x=e;y=0;while(true){if(!(y<x.$length)){break;}z=((y<0||y>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+y]);aa=(new EE($stringToBytes(z.Val)));ab=0;ac=0;while(true){if(!(ac<c)){break;}ad=E.ScanGraphemeClusters(aa,true);ae=ad[0];ab=ab+(ae)>>0;aa=$subslice(aa,ae);ac=ac+(1)>>0;}z.Val=$substring(z.Val,ab);z.SrcRange.Start.Column=z.SrcRange.Start.Column+(c)>>0;z.SrcRange.Start.Byte=z.SrcRange.Start.Byte+(ab)>>0;y++;}$s=-1;return;}return;}if($f===undefined){$f={$blk:CB};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CJ.ptr.prototype.Name=function(){var b,c;b=this;c=b.Type;if(c===(0)){return"endif";}else if(c===(1)){return"else";}else if(c===(2)){return"endfor";}else{$panic(new $String("invalid templateEndCtrlType"));}};CJ.prototype.Name=function(){return this.$val.Name();};CM.ptr.prototype.ParseBody=function(b){var aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;e=$makeMap($String.keyFor,[]);f=new AN([]);g=A.Diagnostics.nil;c[0]=$clone(d.peeker.PrevRange(),A.Range);h=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));case 1:i=$clone(d.peeker.Peek(),Z);if(i.Type===b){A.Range.copy(h,d.peeker.NextRange());d.peeker.Read();$s=2;continue s;}j=i.Type;if(j===(10)){$s=4;continue;}if(j===(73)){$s=5;continue;}$s=6;continue;case 4:d.peeker.Read();$s=1;continue;$s=7;continue;case 5:l=d.ParseBodyItem();$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=k[1];g=$appendSlice(g,$convertSliceType(n,EJ));o=m;if($assertType(o,EU,true)[1]){$s=9;continue;}if($assertType(o,EW,true)[1]){$s=10;continue;}$s=11;continue;case 9:p=o.$val;f=$append(f,p);$s=12;continue;case 10:q=o.$val;s=(t=e[$String.keyFor(q.Name)],t!==undefined?[t.v,true]:[EW.nil,false]);u=s[0];v=s[1];if(v){$s=13;continue;}$s=14;continue;case 13:w=new $String(q.Name);x=$clone(u.NameRange,A.Range).String();$s=16;case 16:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=new $String(x);z=D.Sprintf("The argument %q was already set at %s. Each argument may be set only once.",new EP([w,y]));$s=17;case 17:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}g=$append(g,new A.Diagnostic.ptr(1,"Attribute redefined",z,q.NameRange,EQ.nil,$ifaceNil,ER.nil));$s=15;continue;case 14:aa=q.Name;(e||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(aa)]={k:aa,v:q};case 15:$s=12;continue;case 11:r=o;$s=1;continue;case 12:$s=7;continue;case 6:ab=$clone(d.peeker.Read(),Z);if(!d.recovery){ac=ab.Type;if(ac===(171)){g=$append(g,new A.Diagnostic.ptr(1,"Invalid argument name","Argument names must not be quoted.",ab.Range,EQ.nil,$ifaceNil,ER.nil));}else if(ac===(9220)){ad=b;if(ad===(125)){g=$append(g,new A.Diagnostic.ptr(1,"Unclosed configuration block","There is no closing brace for this block before the end of the file. This may be caused by incorrect brace nesting elsewhere in this file.",c[0],EQ.nil,$ifaceNil,ER.nil));}else{g=$append(g,new A.Diagnostic.ptr(1,"Unclosed configuration body","Found end of file before the end of this configuration body.",c[0],EQ.nil,$ifaceNil,ER.nil));}}else{g=$append(g,new A.Diagnostic.ptr(1,"Argument or block definition required","An argument or block definition is required here.",ab.Range,EQ.nil,$ifaceNil,ER.nil));}}A.Range.copy(h,d.peeker.PrevRange());d.recover(b);$s=2;continue s;case 7:case 3:$s=1;continue;case 2:$s=-1;return[new AJ.ptr(e,f,false,false,$clone(A.RangeBetween($clone(c[0],A.Range),$clone(h,A.Range)),A.Range),new A.Range.ptr(h.Filename,$clone(h.End,A.Pos),$clone(h.End,A.Pos))),g];}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.ParseBody};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.ParseBody=function(b){return this.$val.ParseBody(b);};CM.ptr.prototype.ParseBodyItem=function(){var b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$clone(b.peeker.Read(),Z);if(!((c.Type===73))){b.recoverAfterBodyItem();$s=-1;return[$ifaceNil,new A.Diagnostics([new A.Diagnostic.ptr(1,"Argument or block definition required","An argument or block definition is required here.",c.Range,EQ.nil,$ifaceNil,ER.nil)])];}d=$clone(b.peeker.Peek(),Z);e=d.Type;if(e===(61)){$s=2;continue;}if((e===(171))||(e===(123))||(e===(73))){$s=3;continue;}$s=4;continue;case 2:f=b.finishParsingBodyAttribute($clone(c,Z),false);$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=7;case 7:return g;case 3:h=b.finishParsingBodyBlock($clone(c,Z));$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=9;case 9:return i;case 4:b.recoverAfterBodyItem();$s=-1;return[$ifaceNil,new A.Diagnostics([new A.Diagnostic.ptr(1,"Argument or block definition required","An argument or block definition is required here. To set an argument, use the equals sign \"=\" to introduce the argument value.",c.Range,EQ.nil,$ifaceNil,ER.nil)])];case 5:case 1:$s=-1;return[$ifaceNil,A.Diagnostics.nil];}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.ParseBodyItem};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.ParseBodyItem=function(){return this.$val.ParseBodyItem();};CM.ptr.prototype.parseSingleAttrBody=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$clone(c.peeker.Read(),Z);if(!((d.Type===73))){c.recoverAfterBodyItem();$s=-1;return[EV.nil,new A.Diagnostics([new A.Diagnostic.ptr(1,"Argument or block definition required","An argument or block definition is required here.",d.Range,EQ.nil,$ifaceNil,ER.nil)])];}e=EW.nil;f=A.Diagnostics.nil;g=$clone(c.peeker.Peek(),Z);h=g.Type;if(h===(61)){$s=2;continue;}if((h===(171))||(h===(123))||(h===(73))){$s=3;continue;}$s=4;continue;case 2:j=c.finishParsingBodyAttribute($clone(d,Z),true);$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];f=$appendSlice(f,$convertSliceType(l,EJ));e=$assertType(k,EW);$s=5;continue;case 3:c.recoverAfterBodyItem();m=D.Sprintf("A single-line block definition can contain only a single argument. If you meant to define argument %q, use an equals sign to assign it a value. To define a nested block, place it on a line of its own within its parent block.",new EP([d.Bytes]));$s=7;case 7:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=[EV.nil,new A.Diagnostics([new A.Diagnostic.ptr(1,"Argument definition required",m,$clone(A.RangeBetween($clone(d.Range,A.Range),$clone(g.Range,A.Range)),A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil)])];$s=8;case 8:return n;case 4:c.recoverAfterBodyItem();$s=-1;return[EV.nil,new A.Diagnostics([new A.Diagnostic.ptr(1,"Argument or block definition required","An argument or block definition is required here. To set an argument, use the equals sign \"=\" to introduce the argument value.",d.Range,EQ.nil,$ifaceNil,ER.nil)])];case 5:case 1:$s=-1;return[new AJ.ptr($makeMap($String.keyFor,[{k:($bytesToString(d.Bytes)),v:e}]),AN.nil,false,false,$clone(e.SrcRange,A.Range),new A.Range.ptr(e.SrcRange.Filename,$clone(e.SrcRange.End,A.Pos),$clone(e.SrcRange.End,A.Pos))),f];}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.parseSingleAttrBody};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.parseSingleAttrBody=function(b){return this.$val.parseSingleAttrBody(b);};CM.ptr.prototype.finishParsingBodyAttribute=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(d.peeker.Read(),Z);if(!((e.Type===61))){$panic(new $String("finishParsingBodyAttribute called with next not equals"));}f=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));h=d.ParseExpression();$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];if(d.recovery&&j.HasErrors()){A.Range.copy(f,d.peeker.PrevRange());d.recoverAfterBodyItem();}else{A.Range.copy(f,d.peeker.PrevRange());if(!c){k=$clone(d.peeker.Peek(),Z);if(!((k.Type===10))&&!((k.Type===9220))){if(!d.recovery){l="Missing newline after argument";m="An argument definition must end with a newline.";if(k.Type===44){l="Unexpected comma after argument";m="Argument definitions must be separated by newlines, not commas. "+m;}j=$append(j,new A.Diagnostic.ptr(1,l,m,k.Range,$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(k.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}A.Range.copy(f,d.peeker.PrevRange());d.recoverAfterBodyItem();}else{A.Range.copy(f,d.peeker.PrevRange());d.peeker.Read();}}}$s=-1;return[new AM.ptr(($bytesToString(b.Bytes)),i,$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(f,A.Range)),A.Range),$clone(b.Range,A.Range),$clone(e.Range,A.Range)),j];}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.finishParsingBodyAttribute};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.finishParsingBodyAttribute=function(b,c){return this.$val.finishParsingBodyAttribute(b,c);};CM.ptr.prototype.finishParsingBodyBlock=function(b){var aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=($bytesToString(b.Bytes));e=A.Diagnostics.nil;f=EX.nil;g=EY.nil;h=new Z.ptr(0,EE.nil,new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0)));case 1:i=$clone(c.peeker.Peek(),Z);j=i.Type;if(j===(123)){$s=4;continue;}if(j===(171)){$s=5;continue;}if(j===(73)){$s=6;continue;}$s=7;continue;case 4:Z.copy(h,c.peeker.Read());$s=2;continue s;$s=8;continue;case 5:l=c.parseQuotedStringLiteral();$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=$clone(k[1],A.Range);o=k[2];e=$appendSlice(e,$convertSliceType(o,EJ));f=$append(f,m);g=$append(g,n);$s=8;continue;case 6:Z.copy(i,c.peeker.Read());p=($bytesToString(i.Bytes));q=$clone(i.Range,A.Range);r=p;s=$clone(q,A.Range);f=$append(f,r);g=$append(g,s);$s=8;continue;case 7:t=i.Type;if(t===(61)){e=$append(e,new A.Diagnostic.ptr(1,"Invalid block definition","The equals sign \"=\" indicates an argument definition, and must not be used when defining a block.",i.Range,$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(i.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}else if(t===(10)){e=$append(e,new A.Diagnostic.ptr(1,"Invalid block definition","A block definition must have block content delimited by \"{\" and \"}\", starting on the same line as the block header.",i.Range,$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(i.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}else if(!c.recovery){e=$append(e,new A.Diagnostic.ptr(1,"Invalid block definition","Either a quoted string block label or an opening brace (\"{\") is expected here.",i.Range,$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(i.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}c.recoverAfterBodyItem();$s=-1;return[new AO.ptr(d,f,new AJ.ptr(false,AN.nil,false,false,$clone(b.Range,A.Range),$clone(b.Range,A.Range)),$clone(b.Range,A.Range),g,$clone(b.Range,A.Range),$clone(b.Range,A.Range)),e];case 8:case 3:$s=1;continue;case 2:u=EV.nil;v=A.Diagnostics.nil;w=c.peeker.Peek().Type;if((w===(10))||(w===(9220))||(w===(125))){$s=11;continue;}$s=12;continue;case 11:y=c.ParseBody(125);$s=14;case 14:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;u=x[0];v=x[1];$s=13;continue;case 12:aa=c.parseSingleAttrBody(125);$s=15;case 15:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;u=z[0];v=z[1];ab=c.peeker.Peek().Type;if(ab===(125)){c.peeker.Read();}else if(ab===(44)){e=$append(e,new A.Diagnostic.ptr(1,"Invalid single-argument block definition","Single-line block syntax can include only one argument definition. To define multiple arguments, use the multi-line block syntax with one argument definition per line.",$clone(c.peeker.Peek().Range,A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));c.recover(125);}else if(ab===(10)){e=$append(e,new A.Diagnostic.ptr(1,"Invalid single-argument block definition","An argument definition on the same line as its containing block creates a single-line block definition, which must also be closed on the same line. Place the block's closing brace immediately after the argument definition.",$clone(c.peeker.Peek().Range,A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));c.recover(125);}else{if(!c.recovery){ac=c.peeker.Peek().Type;if(ac===(9220)){e=$append(e,new A.Diagnostic.ptr(1,"Unclosed configuration block","There is no closing brace for this block before the end of the file. This may be caused by incorrect brace nesting elsewhere in this file.",$clone(h.Range,A.Range).Ptr(),$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(h.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}else{e=$append(e,new A.Diagnostic.ptr(1,"Invalid single-argument block definition","A single-line block definition must end with a closing brace immediately after its single argument definition.",$clone(c.peeker.Peek().Range,A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));}}c.recover(125);}case 13:case 10:e=$appendSlice(e,$convertSliceType(v,EJ));ad=$clone(c.peeker.PrevRange(),A.Range);ae=$clone(c.peeker.Peek(),Z);if((ae.Type===10)||(ae.Type===9220)){c.peeker.Read();}else{if(!c.recovery){e=$append(e,new A.Diagnostic.ptr(1,"Missing newline after block definition","A block definition must end with a newline.",ae.Range,$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(ae.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}c.recoverAfterBodyItem();}if(u===EV.nil&&e.HasErrors()){u=new AJ.ptr(false,AN.nil,false,false,$clone(A.RangeBetween($clone(h.Range,A.Range),$clone(ad,A.Range)),A.Range),$clone(ad,A.Range));}$s=-1;return[new AO.ptr(d,f,u,$clone(b.Range,A.Range),g,$clone(h.Range,A.Range),$clone(ad,A.Range)),e];}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.finishParsingBodyBlock};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.finishParsingBodyBlock=function(b){return this.$val.finishParsingBodyBlock(b);};CM.ptr.prototype.ParseExpression=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.parseTernaryConditional();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.ParseExpression};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.ParseExpression=function(){return this.$val.ParseExpression();};CM.ptr.prototype.parseTernaryConditional=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$clone(b.peeker.NextRange(),A.Range);d=$ifaceNil;e=$ifaceNil;f=$ifaceNil;g=d;h=e;i=f;j=A.Diagnostics.nil;l=b.parseBinaryOps(DF);$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;g=k[0];m=k[1];j=$appendSlice(j,$convertSliceType(m,EJ));if(b.recovery&&m.HasErrors()){$s=-1;return[g,j];}n=$clone(b.peeker.Peek(),Z);if(!((n.Type===63))){$s=-1;return[g,j];}b.peeker.Read();p=b.ParseExpression();$s=2;case 2:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;h=o[0];q=o[1];j=$appendSlice(j,$convertSliceType(q,EJ));if(b.recovery&&q.HasErrors()){$s=-1;return[g,j];}r=$clone(b.peeker.Peek(),Z);if(!((r.Type===58))){j=$append(j,new A.Diagnostic.ptr(1,"Missing false expression in conditional","The conditional operator (...?...:...) requires a false expression, delimited by a colon.",r.Range,$clone(A.RangeBetween($clone(c,A.Range),$clone(r.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));$s=-1;return[g,j];}b.peeker.Read();t=b.ParseExpression();$s=3;case 3:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;i=s[0];u=s[1];j=$appendSlice(j,$convertSliceType(u,EJ));if(b.recovery&&u.HasErrors()){$s=-1;return[g,j];}v=$clone(c,A.Range);w=i.Range();$s=4;case 4:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=$clone(w,A.Range);y=A.RangeBetween(v,x);$s=5;case 5:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=[new DQ.ptr(g,h,i,$clone(y,A.Range)),j];$s=6;case 6:return z;}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.parseTernaryConditional};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.parseTernaryConditional=function(){return this.$val.parseTernaryConditional();};CM.ptr.prototype.parseBinaryOps=function(b){var aa,ab,ac,ad,ae,af,ag,ah,ai,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b.$length===0){$s=1;continue;}$s=2;continue;case 1:d=c.parseExpressionWithTraversals();$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=4;case 4:return e;case 2:f=(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]);g=$subslice(b,1);h=$ifaceNil;i=$ifaceNil;j=h;k=i;l=EB.nil;m=A.Diagnostics.nil;o=c.parseBinaryOps(g);$s=5;case 5:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;j=n[0];p=n[1];m=$appendSlice(m,$convertSliceType(p,EJ));if(c.recovery&&p.HasErrors()){$s=-1;return[j,m];}case 6:q=$clone(c.peeker.Peek(),Z);r=EB.nil;s=false;t=(u=f[AB.keyFor(q.Type)],u!==undefined?[u.v,true]:[EB.nil,false]);r=t[0];s=t[1];if(!s){$s=7;continue;}if(!(l===EB.nil)){$s=8;continue;}$s=9;continue;case 8:v=j.Range();$s=10;case 10:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=$clone(v,A.Range);x=k.Range();$s=11;case 11:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=$clone(x,A.Range);z=A.RangeBetween(w,y);$s=12;case 12:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}j=new DH.ptr(j,l,k,$clone(z,A.Range));case 9:l=r;c.peeker.Read();aa=A.Diagnostics.nil;ac=c.parseBinaryOps(g);$s=13;case 13:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;k=ab[0];aa=ab[1];m=$appendSlice(m,$convertSliceType(aa,EJ));if(c.recovery&&aa.HasErrors()){$s=-1;return[j,m];}$s=6;continue;case 7:if(l===EB.nil){$s=-1;return[j,m];}ad=j.Range();$s=14;case 14:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,A.Range);af=k.Range();$s=15;case 15:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=$clone(af,A.Range);ah=A.RangeBetween(ae,ag);$s=16;case 16:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=[new DH.ptr(j,l,k,$clone(ah,A.Range)),m];$s=17;case 17:return ai;}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.parseBinaryOps};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.parseBinaryOps=function(b){return this.$val.parseBinaryOps(b);};CM.ptr.prototype.parseExpressionWithTraversals=function(){var b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=b.parseExpressionTerm();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];h=b.parseExpressionTraversals(e);$s=2;case 2:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];f=$appendSlice(f,$convertSliceType(j,EJ));$s=-1;return[i,f];}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.parseExpressionWithTraversals};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.parseExpressionWithTraversals=function(){return this.$val.parseExpressionWithTraversals();};CM.ptr.prototype.parseExpressionTraversals=function(b){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;c=$f.c;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Diagnostics.nil;e=b;case 1:f=$clone(c.peeker.Peek(),Z);g=f.Type;if(g===(46)){$s=4;continue;}if(g===(91)){$s=5;continue;}$s=6;continue;case 4:h=$clone(c.peeker.Read(),Z);i=$clone(c.peeker.Peek(),Z);j=i.Type;if(j===(73)){$s=9;continue;}if(j===(78)){$s=10;continue;}if(j===(42)){$s=11;continue;}$s=12;continue;case 9:Z.copy(i,c.peeker.Read());k=($bytesToString(i.Bytes));l=$clone(A.RangeBetween($clone(h.Range,A.Range),$clone(i.Range,A.Range)),A.Range);m=new A.TraverseAttr.ptr(new A.isTraverser.ptr(),k,$clone(l,A.Range));n=CN(e,new m.constructor.elem(m),$clone(l,A.Range));$s=14;case 14:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}e=n;$s=13;continue;case 10:o=$clone(c.peeker.Read(),Z);Z.copy(i,o);p=C.IndexByte(o.Bytes,46);if(p>=0){$s=15;continue;}$s=16;continue;case 15:q=$subslice(o.Bytes,0,p);r=$subslice(o.Bytes,(p+1>>0));s=D.Sprintf("When using the legacy index syntax, chaining two indexes together is not permitted. Use the proper index syntax instead, like [%s][%s].",new EP([q,r]));$s=17;case 17:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid legacy index syntax",s,i.Range,EQ.nil,$ifaceNil,ER.nil));t=$clone(A.RangeBetween($clone(h.Range,A.Range),$clone(o.Range,A.Range)),A.Range);u=new A.TraverseIndex.ptr(new A.isTraverser.ptr(),$clone(I.DynamicVal,I.Value),$clone(t,A.Range));v=CN(e,new u.constructor.elem(u),$clone(t,A.Range));$s=18;case 18:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}e=v;$s=8;continue;case 16:x=c.numberLitValue($clone(o,Z));$s=19;case 19:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;y=$clone(w[0],I.Value);z=w[1];d=$appendSlice(d,$convertSliceType(z,EJ));aa=$clone(A.RangeBetween($clone(h.Range,A.Range),$clone(o.Range,A.Range)),A.Range);ab=new A.TraverseIndex.ptr(new A.isTraverser.ptr(),$clone(y,I.Value),$clone(aa,A.Range));ac=CN(e,new ab.constructor.elem(ab),$clone(aa,A.Range));$s=20;case 20:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}e=ac;$s=13;continue;case 11:ad=$clone(c.peeker.Read(),Z);ae=$makeSlice(A.Traversal,0,1);af=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));ag=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));ah=$clone(af,A.Range);ai=$clone(ag,A.Range);A.Range.copy(ah,c.peeker.NextRange());A.Range.copy(ai,ad.Range);case 21:if(!(c.peeker.Peek().Type===46)){$s=22;continue;}aj=$clone(c.peeker.Read(),Z);if(c.peeker.Peek().Type===78){$s=23;continue;}$s=24;continue;case 23:ak=$clone(c.peeker.Read(),Z);al=C.IndexByte(ak.Bytes,46);if(al>=0){$s=25;continue;}$s=26;continue;case 25:am=$subslice(ak.Bytes,0,al);an=$subslice(ak.Bytes,(al+1>>0));ao=D.Sprintf("When using the legacy index syntax, chaining two indexes together is not permitted. Use the proper index syntax with a full splat expression [*] instead, like [%s][%s].",new EP([am,an]));$s=27;case 27:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid legacy index syntax",ao,i.Range,EQ.nil,$ifaceNil,ER.nil));ae=$append(ae,(ap=new A.TraverseIndex.ptr(new A.isTraverser.ptr(),$clone(I.DynamicVal,I.Value),$clone(A.RangeBetween($clone(aj.Range,A.Range),$clone(ak.Range,A.Range)),A.Range)),new ap.constructor.elem(ap)));A.Range.copy(ai,ak.Range);$s=21;continue;case 26:ar=c.numberLitValue($clone(ak,Z));$s=28;case 28:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}aq=ar;as=$clone(aq[0],I.Value);at=aq[1];d=$appendSlice(d,$convertSliceType(at,EJ));ae=$append(ae,(au=new A.TraverseIndex.ptr(new A.isTraverser.ptr(),$clone(as,I.Value),$clone(A.RangeBetween($clone(aj.Range,A.Range),$clone(ak.Range,A.Range)),A.Range)),new au.constructor.elem(au)));A.Range.copy(ai,ak.Range);$s=21;continue;case 24:if(!((c.peeker.Peek().Type===73))){if(!c.recovery){if(c.peeker.Peek().Type===42){d=$append(d,new A.Diagnostic.ptr(1,"Nested splat expression not allowed","A splat expression (*) cannot be used inside another attribute-only splat expression.",$clone(c.peeker.Peek().Range,A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));}else{d=$append(d,new A.Diagnostic.ptr(1,"Invalid attribute name","An attribute name is required after a dot.",i.Range,EQ.nil,$ifaceNil,ER.nil));}}c.setRecovery();$s=1;continue s;}av=$clone(c.peeker.Read(),Z);ae=$append(ae,(aw=new A.TraverseAttr.ptr(new A.isTraverser.ptr(),($bytesToString(av.Bytes)),$clone(A.RangeBetween($clone(aj.Range,A.Range),$clone(av.Range,A.Range)),A.Range)),new aw.constructor.elem(aw)));A.Range.copy(ai,av.Range);$s=21;continue;case 22:ax=new DY.ptr($clone(A.RangeBetween($clone(h.Range,A.Range),$clone(ad.Range,A.Range)),A.Range),false,new O.RWMutex.ptr(new O.Mutex.ptr(0,0),0,0,0,0));ay=$ifaceNil;if(ae.$length===0){ay=ax;}else{ay=new DO.ptr(ax,ae,$clone(A.RangeBetween($clone(ah,A.Range),$clone(ai,A.Range)),A.Range));}az=b.Range();$s=29;case 29:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=A.RangeBetween($clone(az,A.Range),$clone(ai,A.Range));$s=30;case 30:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}e=new DX.ptr(e,ay,ax,$clone(ba,A.Range),$clone(A.RangeBetween($clone(h.Range,A.Range),$clone(ad.Range,A.Range)),A.Range));$s=13;continue;case 12:d=$append(d,new A.Diagnostic.ptr(1,"Invalid attribute name","An attribute name is required after a dot.",i.Range,EQ.nil,$ifaceNil,ER.nil));c.setRecovery();case 13:case 8:$s=7;continue;case 5:bb=$clone(c.peeker.Read(),Z);bc=c.peeker.Peek().Type;if(bc===(42)){$s=32;continue;}$s=33;continue;case 32:c.peeker.Read();bd=$clone(c.peeker.Read(),Z);if(!((bd.Type===93))&&!c.recovery){d=$append(d,new A.Diagnostic.ptr(1,"Missing close bracket on splat index","The star for a full splat operator must be immediately followed by a closing bracket (\"]\").",bd.Range,EQ.nil,$ifaceNil,ER.nil));Z.copy(bd,c.recover(93));}be=new DY.ptr($clone(A.RangeBetween($clone(bb.Range,A.Range),$clone(bd.Range,A.Range)),A.Range),false,new O.RWMutex.ptr(new O.Mutex.ptr(0,0),0,0,0,0));bg=c.parseExpressionTraversals(be);$s=35;case 35:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bf=bg;bh=bf[0];bi=bf[1];d=$appendSlice(d,$convertSliceType(bi,EJ));bj=b.Range();$s=36;case 36:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}bk=$clone(bj,A.Range);bl=bh.Range();$s=37;case 37:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}bm=$clone(bl,A.Range);bn=A.RangeBetween(bk,bm);$s=38;case 38:if($c){$c=false;bn=bn.$blk();}if(bn&&bn.$blk!==undefined){break s;}e=new DX.ptr(e,bh,be,$clone(bn,A.Range),$clone(A.RangeBetween($clone(bb.Range,A.Range),$clone(bd.Range,A.Range)),A.Range));$s=34;continue;case 33:bo=new Z.ptr(0,EE.nil,new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0)));c.peeker.PushIncludeNewlines(false);bq=c.ParseExpression();$s=39;case 39:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}bp=bq;br=bp[0];bs=bp[1];d=$appendSlice(d,$convertSliceType(bs,EJ));if(c.recovery&&bs.HasErrors()){Z.copy(bo,c.recover(93));}else{Z.copy(bo,c.peeker.Read());if(!((bo.Type===93))&&!c.recovery){d=$append(d,new A.Diagnostic.ptr(1,"Missing close bracket on index","The index operator must end with a closing bracket (\"]\").",bo.Range,EQ.nil,$ifaceNil,ER.nil));Z.copy(bo,c.recover(93));}}c.peeker.PopIncludeNewlines();bt=$assertType(br,FU,true);bu=bt[0];bv=bt[1];if(bv){$s=40;continue;}$s=41;continue;case 40:bw=bu.Value(ER.nil);bx=$clone(bw[0],I.Value);by=$clone(A.RangeBetween($clone(bb.Range,A.Range),$clone(bo.Range,A.Range)),A.Range);bz=new A.TraverseIndex.ptr(new A.isTraverser.ptr(),$clone(bx,I.Value),$clone(by,A.Range));ca=CN(e,new bz.constructor.elem(bz),$clone(by,A.Range));$s=43;case 43:if($c){$c=false;ca=ca.$blk();}if(ca&&ca.$blk!==undefined){break s;}e=ca;$s=42;continue;case 41:cb=$assertType(br,FV,true);cc=cb[0];cd=cb[1];if(cd&&cc.IsStringLiteral()){$s=44;continue;}$s=45;continue;case 44:cf=cc.Value(ER.nil);$s=47;case 47:if($c){$c=false;cf=cf.$blk();}if(cf&&cf.$blk!==undefined){break s;}ce=cf;cg=$clone(ce[0],I.Value);ch=$clone(A.RangeBetween($clone(bb.Range,A.Range),$clone(bo.Range,A.Range)),A.Range);ci=new A.TraverseIndex.ptr(new A.isTraverser.ptr(),$clone(cg,I.Value),$clone(ch,A.Range));cj=CN(e,new ci.constructor.elem(ci),$clone(ch,A.Range));$s=48;case 48:if($c){$c=false;cj=cj.$blk();}if(cj&&cj.$blk!==undefined){break s;}e=cj;$s=46;continue;case 45:ck=$clone(A.RangeBetween($clone(bb.Range,A.Range),$clone(bo.Range,A.Range)),A.Range);cl=b.Range();$s=49;case 49:if($c){$c=false;cl=cl.$blk();}if(cl&&cl.$blk!==undefined){break s;}cm=A.RangeBetween($clone(cl,A.Range),$clone(ck,A.Range));$s=50;case 50:if($c){$c=false;cm=cm.$blk();}if(cm&&cm.$blk!==undefined){break s;}e=new DR.ptr(e,br,$clone(cm,A.Range),$clone(bb.Range,A.Range),$clone(ck,A.Range));case 46:case 42:case 34:case 31:$s=7;continue;case 6:$s=2;continue s;case 7:case 3:$s=1;continue;case 2:$s=-1;return[e,d];}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.parseExpressionTraversals};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.c=c;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.parseExpressionTraversals=function(b){return this.$val.parseExpressionTraversals(b);};CN=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=b;if($assertType(e,EO,true)[1]){$s=1;continue;}if($assertType(e,FW,true)[1]){$s=2;continue;}$s=3;continue;case 1:f=e.$val;f.Traversal=$append(f.Traversal,c);A.Range.copy(f.SrcRange,A.RangeBetween($clone(f.SrcRange,A.Range),$clone(d,A.Range)));$s=-1;return f;case 2:g=e.$val;g.Traversal=$append(g.Traversal,c);A.Range.copy(g.SrcRange,A.RangeBetween($clone(g.SrcRange,A.Range),$clone(d,A.Range)));$s=-1;return g;case 3:h=e;i=b.Range();$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=A.RangeBetween($clone(i,A.Range),$clone(d,A.Range));$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=new DO.ptr(b,new A.Traversal([c]),$clone(j,A.Range));$s=7;case 7:return k;case 4:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:CN};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};CM.ptr.prototype.parseExpressionTerm=function(){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$clone(b.peeker.Peek(),Z);d=c.Type;if(d===(40)){$s=2;continue;}if(d===(78)){$s=3;continue;}if(d===(73)){$s=4;continue;}if((d===(171))||(d===(72))){$s=5;continue;}if(d===(45)){$s=6;continue;}if(d===(33)){$s=7;continue;}if(d===(91)){$s=8;continue;}if(d===(123)){$s=9;continue;}$s=10;continue;case 2:e=$clone(b.peeker.Read(),Z);b.peeker.PushIncludeNewlines(false);g=b.ParseExpression();$s=12;case 12:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];if(i.HasErrors()){b.recover(41);b.peeker.PopIncludeNewlines();$s=-1;return[h,i];}j=$clone(b.peeker.Peek(),Z);if(!((j.Type===41))){i=$append(i,new A.Diagnostic.ptr(1,"Unbalanced parentheses","Expected a closing parenthesis to terminate the expression.",j.Range,$clone(A.RangeBetween($clone(c.Range,A.Range),$clone(j.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));b.setRecovery();}k=$clone(b.peeker.Read(),Z);b.peeker.PopIncludeNewlines();h=new DL.ptr(h,$clone(A.RangeBetween($clone(e.Range,A.Range),$clone(k.Range,A.Range)),A.Range));$s=-1;return[h,i];case 3:l=$clone(b.peeker.Read(),Z);n=b.numberLitValue($clone(l,Z));$s=13;case 13:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=$clone(m[0],I.Value);p=m[1];$s=-1;return[new DM.ptr($clone(o,I.Value),$clone(l.Range,A.Range)),p];case 4:q=$clone(b.peeker.Read(),Z);if(b.peeker.Peek().Type===40){$s=14;continue;}$s=15;continue;case 14:r=b.finishParsingFunctionCall($clone(q,Z));$s=16;case 16:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;$s=17;case 17:return s;case 15:t=($bytesToString(q.Bytes));u=t;if(u===("true")){$s=-1;return[new DM.ptr($clone(I.True,I.Value),$clone(q.Range,A.Range)),A.Diagnostics.nil];}else if(u===("false")){$s=-1;return[new DM.ptr($clone(I.False,I.Value),$clone(q.Range,A.Range)),A.Diagnostics.nil];}else if(u===("null")){$s=-1;return[new DM.ptr($clone(I.NullVal($clone(I.DynamicPseudoType,I.Type)),I.Value),$clone(q.Range,A.Range)),A.Diagnostics.nil];}else{$s=-1;return[new DN.ptr(new A.Traversal([(v=new A.TraverseRoot.ptr(new A.isTraverser.ptr(),t,$clone(q.Range,A.Range)),new v.constructor.elem(v))]),$clone(q.Range,A.Range)),A.Diagnostics.nil];}$s=11;continue;case 5:w=$clone(b.peeker.Read(),Z);x=b.oppositeBracket(w.Type);z=b.parseTemplateInner(x,AF($clone(w,Z)));$s=18;case 18:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;aa=y[0];ab=y[1];ac=y[3];ad=$clone(b.peeker.PrevRange(),A.Range);if(ab){if(!((aa.$length===1))){$panic(new $String("passthru set with len(exprs) != 1"));}$s=-1;return[new DD.ptr((0>=aa.$length?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+0]),$clone(A.RangeBetween($clone(w.Range,A.Range),$clone(ad,A.Range)),A.Range)),ac];}$s=-1;return[new DB.ptr(aa,$clone(A.RangeBetween($clone(w.Range,A.Range),$clone(ad,A.Range)),A.Range)),ac];case 6:ae=$clone(b.peeker.Read(),Z);ag=b.parseExpressionWithTraversals();$s=19;case 19:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;ah=af[0];ai=af[1];aj=$clone(ae.Range,A.Range);ak=ah.Range();$s=20;case 20:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=$clone(ak,A.Range);am=A.RangeBetween(aj,al);$s=21;case 21:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=[new DI.ptr($pkg.OpNegate,ah,$clone(am,A.Range),$clone(ae.Range,A.Range)),ai];$s=22;case 22:return an;case 7:ao=$clone(b.peeker.Read(),Z);aq=b.parseExpressionWithTraversals();$s=23;case 23:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;ar=ap[0];as=ap[1];at=$clone(ao.Range,A.Range);au=ar.Range();$s=24;case 24:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=$clone(au,A.Range);aw=A.RangeBetween(at,av);$s=25;case 25:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=[new DI.ptr($pkg.OpLogicalNot,ar,$clone(aw,A.Range),$clone(ao.Range,A.Range)),as];$s=26;case 26:return ax;case 8:ay=b.parseTupleCons();$s=27;case 27:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=ay;$s=28;case 28:return az;case 9:ba=b.parseObjectCons();$s=29;case 29:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=ba;$s=30;case 30:return bb;case 10:bc=A.Diagnostics.nil;if(!b.recovery){bd=c.Type;if(bd===(9220)){bc=$append(bc,new A.Diagnostic.ptr(1,"Missing expression","Expected the start of an expression, but found the end of the file.",c.Range,EQ.nil,$ifaceNil,ER.nil));}else{bc=$append(bc,new A.Diagnostic.ptr(1,"Invalid expression","Expected the start of an expression, but found an invalid expression token.",c.Range,EQ.nil,$ifaceNil,ER.nil));}}b.setRecovery();$s=-1;return[new DM.ptr($clone(I.DynamicVal,I.Value),$clone(c.Range,A.Range)),bc];case 11:case 1:$s=-1;return[$ifaceNil,A.Diagnostics.nil];}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.parseExpressionTerm};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.parseExpressionTerm=function(){return this.$val.parseExpressionTerm();};CM.ptr.prototype.numberLitValue=function(b){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=I.ParseNumberVal(($bytesToString(b.Bytes)));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=$clone(d[0],I.Value);g=d[1];if(!($interfaceIsEqual(g,$ifaceNil))){h=$clone(I.UnknownVal($clone(I.Number,I.Type)),I.Value);$s=-1;return[h,new A.Diagnostics([new A.Diagnostic.ptr(1,"Invalid number literal","Failed to recognize the value of this number literal.",b.Range,EQ.nil,$ifaceNil,ER.nil)])];}$s=-1;return[f,A.Diagnostics.nil];}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.numberLitValue};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.numberLitValue=function(b){return this.$val.numberLitValue(b);};CM.ptr.prototype.finishParsingFunctionCall=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$clone(c.peeker.Read(),Z);if(!((d.Type===40))){$panic(new $String("finishParsingFunctionCall called with non-parenthesis as next token"));}e=FI.nil;f=A.Diagnostics.nil;g=false;h=new Z.ptr(0,EE.nil,new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0)));c.peeker.PushIncludeNewlines(false);case 1:i=$clone(c.peeker.Peek(),Z);if(i.Type===41){Z.copy(h,c.peeker.Read());$s=2;continue s;}k=c.ParseExpression();$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];e=$append(e,l);f=$appendSlice(f,$convertSliceType(m,EJ));if(c.recovery&&m.HasErrors()){c.recover(41);$s=2;continue s;}n=$clone(c.peeker.Read(),Z);if(n.Type===41){Z.copy(h,n);$s=2;continue s;}if(n.Type===8230){g=true;if(!((c.peeker.Peek().Type===41))){if(!c.recovery){f=$append(f,new A.Diagnostic.ptr(1,"Missing closing parenthesis","An expanded function argument (with ...) must be immediately followed by closing parentheses.",n.Range,$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(n.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}Z.copy(h,c.recover(41));}else{Z.copy(h,c.peeker.Read());}$s=2;continue s;}if(!((n.Type===44))){o=n.Type;if(o===(9220)){f=$append(f,new A.Diagnostic.ptr(1,"Unterminated function call","There is no closing parenthesis for this function call before the end of the file. This may be caused by incorrect parethesis nesting elsewhere in this file.",$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(d.Range,A.Range)),A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));}else{f=$append(f,new A.Diagnostic.ptr(1,"Missing argument separator","A comma is required to separate each function argument from the next.",n.Range,$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(n.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}Z.copy(h,c.recover(41));$s=2;continue s;}if(c.peeker.Peek().Type===41){Z.copy(h,c.peeker.Read());$s=2;continue s;}$s=1;continue;case 2:c.peeker.PopIncludeNewlines();$s=-1;return[new DP.ptr(($bytesToString(b.Bytes)),e,g,$clone(b.Range,A.Range),$clone(d.Range,A.Range),$clone(h.Range,A.Range)),f];}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.finishParsingFunctionCall};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.finishParsingFunctionCall=function(b){return this.$val.finishParsingFunctionCall(b);};CM.ptr.prototype.parseTupleCons=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);b=this;c=$clone(b.peeker.Read(),Z);if(!((c.Type===91))){$panic(new $String("parseTupleCons called without peeker pointing to open bracket"));}b.peeker.PushIncludeNewlines(false);$deferred.push([$methodVal(b.peeker,"PopIncludeNewlines"),[]]);if(CU.TokenMatches($clone(b.peeker.Peek(),Z))){$s=1;continue;}$s=2;continue;case 1:d=b.finishParsingForExpr($clone(c,Z));$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=4;case 4:return e;case 2:f=new Z.ptr(0,EE.nil,new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0)));g=A.Diagnostics.nil;h=FI.nil;case 5:i=$clone(b.peeker.Peek(),Z);if(i.Type===93){Z.copy(f,b.peeker.Read());$s=6;continue;}k=b.ParseExpression();$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];h=$append(h,l);g=$appendSlice(g,$convertSliceType(m,EJ));if(b.recovery&&m.HasErrors()){Z.copy(f,b.recover(93));$s=6;continue;}Z.copy(i,b.peeker.Peek());if(i.Type===93){Z.copy(f,b.peeker.Read());$s=6;continue;}if(!((i.Type===44))){if(!b.recovery){n=i.Type;if(n===(9220)){g=$append(g,new A.Diagnostic.ptr(1,"Unterminated tuple constructor expression","There is no corresponding closing bracket before the end of the file. This may be caused by incorrect bracket nesting elsewhere in this file.",$clone(c.Range,A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));}else{g=$append(g,new A.Diagnostic.ptr(1,"Missing item separator","Expected a comma to mark the beginning of the next item.",i.Range,$clone(A.RangeBetween($clone(c.Range,A.Range),$clone(i.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}}Z.copy(f,b.recover(93));$s=6;continue;}b.peeker.Read();$s=5;continue;case 6:o=[new DS.ptr(h,$clone(A.RangeBetween($clone(c.Range,A.Range),$clone(f.Range,A.Range)),A.Range),$clone(c.Range,A.Range)),g];$s=8;case 8:return o;}return;}}catch(err){$err=err;$s=-1;return[$ifaceNil,A.Diagnostics.nil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:CM.ptr.prototype.parseTupleCons};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};CM.prototype.parseTupleCons=function(){return this.$val.parseTupleCons();};CM.ptr.prototype.parseObjectCons=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);b=this;c=$clone(b.peeker.Read(),Z);if(!((c.Type===123))){$panic(new $String("parseObjectCons called without peeker pointing to open brace"));}b.peeker.PushIncludeNewlines(false);d=CU.TokenMatches($clone(b.peeker.Peek(),Z));b.peeker.PopIncludeNewlines();if(d){$s=1;continue;}$s=2;continue;case 1:e=b.finishParsingForExpr($clone(c,Z));$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=4;case 4:return f;case 2:b.peeker.PushIncludeNewlines(true);$deferred.push([$methodVal(b.peeker,"PopIncludeNewlines"),[]]);g=new Z.ptr(0,EE.nil,new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0)));h=A.Diagnostics.nil;i=FX.nil;case 5:j=$clone(b.peeker.Peek(),Z);if(j.Type===10){b.peeker.Read();$s=5;continue;}if(j.Type===125){Z.copy(g,b.peeker.Read());$s=6;continue;}k=(b.peeker.Peek().Type===40);l=$ifaceNil;m=A.Diagnostics.nil;o=b.ParseExpression();$s=7;case 7:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;l=n[0];m=n[1];h=$appendSlice(h,$convertSliceType(m,EJ));if(b.recovery&&m.HasErrors()){Z.copy(g,b.recover(125));$s=6;continue;}l=new DV.ptr(l,k);Z.copy(j,b.peeker.Peek());if(!((j.Type===61))&&!((j.Type===58))){if(!b.recovery){p=j.Type;if((p===(10))||(p===(44))){h=$append(h,new A.Diagnostic.ptr(1,"Missing attribute value","Expected an attribute value, introduced by an equals sign (\"=\").",j.Range,$clone(A.RangeBetween($clone(c.Range,A.Range),$clone(j.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}else if(p===(73)){h=$append(h,new A.Diagnostic.ptr(1,"Missing key/value separator","Expected an equals sign (\"=\") to mark the beginning of the attribute value. If you intended to given an attribute name containing periods or spaces, write the name in quotes to create a string literal.",j.Range,$clone(A.RangeBetween($clone(c.Range,A.Range),$clone(j.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}else if(p===(9220)){h=$append(h,new A.Diagnostic.ptr(1,"Unterminated object constructor expression","There is no corresponding closing brace before the end of the file. This may be caused by incorrect brace nesting elsewhere in this file.",$clone(c.Range,A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));}else{h=$append(h,new A.Diagnostic.ptr(1,"Missing key/value separator","Expected an equals sign (\"=\") to mark the beginning of the attribute value.",j.Range,$clone(A.RangeBetween($clone(c.Range,A.Range),$clone(j.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}}Z.copy(g,b.recover(125));$s=6;continue;}b.peeker.Read();r=b.ParseExpression();$s=8;case 8:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];h=$appendSlice(h,$convertSliceType(t,EJ));if(b.recovery&&t.HasErrors()){Z.copy(g,b.recover(125));$s=6;continue;}i=$append(i,new DU.ptr(l,s));Z.copy(j,b.peeker.Peek());if(j.Type===125){Z.copy(g,b.peeker.Read());$s=6;continue;}if(!((j.Type===44))&&!((j.Type===10))){if(!b.recovery){u=j.Type;if(u===(9220)){h=$append(h,new A.Diagnostic.ptr(1,"Unterminated object constructor expression","There is no corresponding closing brace before the end of the file. This may be caused by incorrect brace nesting elsewhere in this file.",$clone(c.Range,A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));}else{h=$append(h,new A.Diagnostic.ptr(1,"Missing attribute separator","Expected a newline or comma to mark the beginning of the next attribute.",j.Range,$clone(A.RangeBetween($clone(c.Range,A.Range),$clone(j.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}}Z.copy(g,b.recover(125));$s=6;continue;}b.peeker.Read();$s=5;continue;case 6:v=[new DT.ptr(i,$clone(A.RangeBetween($clone(c.Range,A.Range),$clone(g.Range,A.Range)),A.Range),$clone(c.Range,A.Range)),h];$s=9;case 9:return v;}return;}}catch(err){$err=err;$s=-1;return[$ifaceNil,A.Diagnostics.nil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:CM.ptr.prototype.parseObjectCons};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};CM.prototype.parseObjectCons=function(){return this.$val.parseObjectCons();};CM.ptr.prototype.finishParsingForExpr=function(b){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=this;c.peeker.PushIncludeNewlines(false);$deferred.push([$methodVal(c.peeker,"PopIncludeNewlines"),[]]);d=$clone(c.peeker.Read(),Z);if(!CU.TokenMatches($clone(d,Z))){$panic(new $String("finishParsingForExpr called without peeker pointing to 'for' identifier"));}e=false;f=0;g=b.Type;if(g===(123)){e=true;f=125;}else if(g===(91)){e=false;f=93;}else{$panic(new $String("finishParsingForExpr called with invalid open token"));}h=A.Diagnostics.nil;i="";j="";k=i;l=j;if(!((c.peeker.Peek().Type===73))){$s=1;continue;}$s=2;continue;case 1:if(!c.recovery){h=$append(h,new A.Diagnostic.ptr(1,"Invalid 'for' expression","For expression requires variable name after 'for'.",$clone(c.peeker.Peek().Range,A.Range).Ptr(),$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(c.peeker.Peek().Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}m=$clone(c.recover(f),Z);n=[new DM.ptr($clone(I.DynamicVal,I.Value),$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(m.Range,A.Range)),A.Range)),h];$s=3;case 3:return n;case 2:l=($bytesToString(c.peeker.Read().Bytes));if(c.peeker.Peek().Type===44){$s=4;continue;}$s=5;continue;case 4:k=l;c.peeker.Read();if(!((c.peeker.Peek().Type===73))){$s=6;continue;}$s=7;continue;case 6:if(!c.recovery){h=$append(h,new A.Diagnostic.ptr(1,"Invalid 'for' expression","For expression requires value variable name after comma.",$clone(c.peeker.Peek().Range,A.Range).Ptr(),$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(c.peeker.Peek().Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}o=$clone(c.recover(f),Z);p=[new DM.ptr($clone(I.DynamicVal,I.Value),$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(o.Range,A.Range)),A.Range)),h];$s=8;case 8:return p;case 7:l=($bytesToString(c.peeker.Read().Bytes));case 5:if(!CV.TokenMatches($clone(c.peeker.Peek(),Z))){$s=9;continue;}$s=10;continue;case 9:if(!c.recovery){h=$append(h,new A.Diagnostic.ptr(1,"Invalid 'for' expression","For expression requires the 'in' keyword after its name declarations.",$clone(c.peeker.Peek().Range,A.Range).Ptr(),$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(c.peeker.Peek().Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}q=$clone(c.recover(f),Z);r=[new DM.ptr($clone(I.DynamicVal,I.Value),$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(q.Range,A.Range)),A.Range)),h];$s=11;case 11:return r;case 10:c.peeker.Read();t=c.ParseExpression();$s=12;case 12:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=s[0];v=s[1];h=$appendSlice(h,$convertSliceType(v,EJ));if(c.recovery&&v.HasErrors()){$s=13;continue;}$s=14;continue;case 13:w=$clone(c.recover(f),Z);x=[new DM.ptr($clone(I.DynamicVal,I.Value),$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(w.Range,A.Range)),A.Range)),h];$s=15;case 15:return x;case 14:if(!((c.peeker.Peek().Type===58))){$s=16;continue;}$s=17;continue;case 16:if(!c.recovery){h=$append(h,new A.Diagnostic.ptr(1,"Invalid 'for' expression","For expression requires a colon after the collection expression.",$clone(c.peeker.Peek().Range,A.Range).Ptr(),$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(c.peeker.Peek().Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}y=$clone(c.recover(f),Z);z=[new DM.ptr($clone(I.DynamicVal,I.Value),$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(y.Range,A.Range)),A.Range)),h];$s=18;case 18:return z;case 17:c.peeker.Read();aa=$ifaceNil;ab=$ifaceNil;ac=aa;ad=ab;ae=A.Diagnostics.nil;af=A.Diagnostics.nil;ag=ae;ah=af;aj=c.ParseExpression();$s=19;case 19:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;ad=ai[0];ah=ai[1];if(c.peeker.Peek().Type===8658){$s=20;continue;}$s=21;continue;case 20:c.peeker.Read();ak=ad;al=ah;ac=ak;ag=al;an=c.ParseExpression();$s=22;case 22:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}am=an;ad=am[0];ah=am[1];case 21:h=$appendSlice(h,$convertSliceType(ag,EJ));h=$appendSlice(h,$convertSliceType(ah,EJ));if(c.recovery&&(ag.HasErrors()||ah.HasErrors())){$s=23;continue;}$s=24;continue;case 23:ao=$clone(c.recover(f),Z);ap=[new DM.ptr($clone(I.DynamicVal,I.Value),$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(ao.Range,A.Range)),A.Range)),h];$s=25;case 25:return ap;case 24:aq=false;ar=new Z.ptr(0,EE.nil,new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0)));if(c.peeker.Peek().Type===8230){Z.copy(ar,c.peeker.Read());aq=true;}as=$ifaceNil;at=A.Diagnostics.nil;if(CW.TokenMatches($clone(c.peeker.Peek(),Z))){$s=26;continue;}$s=27;continue;case 26:c.peeker.Read();av=c.ParseExpression();$s=28;case 28:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}au=av;as=au[0];at=au[1];h=$appendSlice(h,$convertSliceType(at,EJ));if(c.recovery&&at.HasErrors()){$s=29;continue;}$s=30;continue;case 29:aw=$clone(c.recover(c.oppositeBracket(b.Type)),Z);ax=[new DM.ptr($clone(I.DynamicVal,I.Value),$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(aw.Range,A.Range)),A.Range)),h];$s=31;case 31:return ax;case 30:case 27:ay=new Z.ptr(0,EE.nil,new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0)));if(c.peeker.Peek().Type===f){Z.copy(ay,c.peeker.Read());}else{if(!c.recovery){h=$append(h,new A.Diagnostic.ptr(1,"Invalid 'for' expression","Extra characters after the end of the 'for' expression.",$clone(c.peeker.Peek().Range,A.Range).Ptr(),$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(c.peeker.Peek().Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}Z.copy(ay,c.recover(f));}if(!e){$s=32;continue;}$s=33;continue;case 32:if(!($interfaceIsEqual(ac,$ifaceNil))){$s=35;continue;}$s=36;continue;case 35:az=ac.Range();$s=37;case 37:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=$clone(az,A.Range).Ptr();$s=38;case 38:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}h=$append(h,new A.Diagnostic.ptr(1,"Invalid 'for' expression","Key expression is not valid when building a tuple.",ba,$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(ay.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));case 36:if(aq){h=$append(h,new A.Diagnostic.ptr(1,"Invalid 'for' expression","Grouping ellipsis (...) cannot be used when building a tuple.",ar.Range,$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(ay.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));}$s=34;continue;case 33:if($interfaceIsEqual(ac,$ifaceNil)){$s=39;continue;}$s=40;continue;case 39:bb=ad.Range();$s=41;case 41:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=$clone(bb,A.Range).Ptr();$s=42;case 42:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}h=$append(h,new A.Diagnostic.ptr(1,"Invalid 'for' expression","Key expression is required when building an object.",bc,$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(ay.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));case 40:case 34:bd=[new DW.ptr(k,l,u,ac,ad,as,aq,$clone(A.RangeBetween($clone(b.Range,A.Range),$clone(ay.Range,A.Range)),A.Range),$clone(b.Range,A.Range),$clone(ay.Range,A.Range)),h];$s=43;case 43:return bd;}return;}}catch(err){$err=err;$s=-1;return[$ifaceNil,A.Diagnostics.nil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:CM.ptr.prototype.finishParsingForExpr};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};CM.prototype.finishParsingForExpr=function(b){return this.$val.finishParsingForExpr(b);};CM.ptr.prototype.parseQuotedStringLiteral=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$clone(b.peeker.Read(),Z);if(!((c.Type===171))){$s=-1;return["",c.Range,new A.Diagnostics([new A.Diagnostic.ptr(1,"Invalid string literal","A quoted string is required here.",c.Range,EQ.nil,$ifaceNil,ER.nil)])];}d=A.Diagnostics.nil;e=new C.Buffer.ptr(EE.nil,0,0);f=new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));case 1:g=$clone(b.peeker.Read(),Z);h=g.Type;if(h===(187)){$s=4;continue;}if(h===(81)){$s=5;continue;}if((h===(955))||(h===(8747))){$s=6;continue;}if(h===(9220)){$s=7;continue;}$s=8;continue;case 4:A.Range.copy(f,g.Range);$s=2;continue s;$s=9;continue;case 5:j=CO($clone(g,Z));$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];d=$appendSlice(d,$convertSliceType(l,EJ));m=e.WriteString(k);$s=11;case 11:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;$s=9;continue;case 6:n="$";if(g.Type===955){n="%";}o=D.Sprintf("Template sequences are not allowed in this string. To include a literal %q, double it (as \"%s%s\") to escape it.",new EP([new $String(n),new $String(n),new $String(n)]));$s=12;case 12:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid string literal",o,g.Range,$clone(A.RangeBetween($clone(c.Range,A.Range),$clone(g.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));p=e.WriteString(n);$s=13;case 13:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;q=e.WriteString("{ ... }");$s=14;case 14:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;b.recover(8718);$s=9;continue;case 7:d=$append(d,new A.Diagnostic.ptr(1,"Unterminated string literal","Unable to find the closing quote mark before the end of the file.",g.Range,$clone(A.RangeBetween($clone(c.Range,A.Range),$clone(g.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));A.Range.copy(f,g.Range);$s=2;continue s;$s=9;continue;case 8:d=$append(d,new A.Diagnostic.ptr(1,"Invalid string literal","This item is not valid in a string literal.",g.Range,$clone(A.RangeBetween($clone(c.Range,A.Range),$clone(g.Range,A.Range)),A.Range).Ptr(),$ifaceNil,ER.nil));b.recover(187);A.Range.copy(f,g.Range);$s=2;continue s;case 9:case 3:$s=1;continue;case 2:$s=-1;return[e.String(),A.RangeBetween($clone(c.Range,A.Range),$clone(f,A.Range)),d];}return;}if($f===undefined){$f={$blk:CM.ptr.prototype.parseQuotedStringLiteral};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};CM.prototype.parseQuotedStringLiteral=function(){return this.$val.parseQuotedStringLiteral();};CO=function(b){var aa,ab,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=false;d=b.Type;if(d===(81)){c=true;}else if(d===(83)){c=false;}else{$panic(new $String("ParseStringLiteralToken can only be used with TokenStringLit and TokenQuotedLit tokens"));}e=A.Diagnostics.nil;f=$makeSlice(EE,0,b.Bytes.$length);g=BM(b.Bytes,c);h=$clone(b.Range,A.Range);A.Pos.copy(h.End,h.Start);i=g;j=0;case 1:if(!(j<i.$length)){$s=2;continue;}k=((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);if(k.$length===0){j++;$s=1;continue;}A.Pos.copy(h.Start,h.End);l=k;while(true){if(!(l.$length>0)){break;}m=E.ScanGraphemeClusters(l,true);n=m[0];o=m[1];h.End.Byte=h.End.Byte+(n)>>0;p=(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0]);if((p===(13))||(p===(10))){h.End.Line=h.End.Line+(1)>>0;h.End.Column=1;}else{h.End.Column=h.End.Column+(1)>>0;}l=$subslice(l,n);}q=(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0]);if(q===(92)){$s=4;continue;}if((q===(36))||(q===(37))){$s=5;continue;}$s=6;continue;case 4:if(!c){$s=3;continue s;}if(k.$length<2){e=$append(e,new A.Diagnostic.ptr(1,"Invalid escape sequence","Backslash must be followed by an escape sequence selector character.",$clone(h,A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));$s=3;continue s;}r=(1>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+1]);if(r===(110)){$s=8;continue;}if(r===(114)){$s=9;continue;}if(r===(116)){$s=10;continue;}if(r===(34)){$s=11;continue;}if(r===(92)){$s=12;continue;}if((r===(117))||(r===(85))){$s=13;continue;}$s=14;continue;case 8:f=$append(f,10);j++;$s=1;continue s;$s=15;continue;case 9:f=$append(f,13);j++;$s=1;continue s;$s=15;continue;case 10:f=$append(f,9);j++;$s=1;continue s;$s=15;continue;case 11:f=$append(f,34);j++;$s=1;continue s;$s=15;continue;case 12:f=$append(f,92);j++;$s=1;continue s;$s=15;continue;case 13:if(((1>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+1])===117)&&!((k.$length===6))){e=$append(e,new A.Diagnostic.ptr(1,"Invalid escape sequence","The \\u escape sequence must be followed by four hexadecimal digits.",$clone(h,A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));$s=3;continue s;}else if(((1>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+1])===85)&&!((k.$length===10))){e=$append(e,new A.Diagnostic.ptr(1,"Invalid escape sequence","The \\U escape sequence must be followed by eight hexadecimal digits.",$clone(h,A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));$s=3;continue s;}s=($bytesToString($subslice(k,2)));t=B.ParseUint(s,16,32);u=t[0];v=t[1];if(!($interfaceIsEqual(v,$ifaceNil))){$panic(v);}w=((u.$low>>0));x=K.RuneLen(w);if(x===-1){$s=16;continue;}$s=17;continue;case 16:y=D.Sprintf("Cannot encode character U+%04x in UTF-8.",new EP([u]));$s=18;case 18:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}e=$append(e,new A.Diagnostic.ptr(1,"Invalid escape sequence",y,$clone(h,A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));$s=3;continue s;case 17:z=0;while(true){if(!(z<x)){break;}f=$append(f,0);z=z+(1)>>0;}aa=$subslice(f,(f.$length-x>>0));K.EncodeRune(aa,w);j++;$s=1;continue s;$s=15;continue;case 14:ab=D.Sprintf("The symbol %q is not a valid escape sequence selector.",new EP([$subslice(k,1)]));$s=19;case 19:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}e=$append(e,new A.Diagnostic.ptr(1,"Invalid escape sequence",ab,$clone(h,A.Range).Ptr(),EQ.nil,$ifaceNil,ER.nil));f=$appendSlice(f,$subslice(k,1));j++;$s=1;continue s;case 15:case 7:$s=6;continue;case 5:if(!((k.$length===3))){$s=3;continue s;}if(((1>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+1])===(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0]))&&((2>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+2])===123)){f=$append(f,(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0]));f=$append(f,123);j++;$s=1;continue s;}$s=3;continue s;case 6:case 3:f=$appendSlice(f,k);j++;$s=1;continue;case 2:$s=-1;return[($bytesToString(f)),e];}return;}if($f===undefined){$f={$blk:CO};}$f.aa=aa;$f.ab=ab;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ParseStringLiteralToken=CO;CM.ptr.prototype.setRecovery=function(){var b;b=this;b.recovery=true;};CM.prototype.setRecovery=function(){return this.$val.setRecovery();};CM.ptr.prototype.recover=function(b){var b,c,d,e,f,g,h;c=this;d=c.oppositeBracket(b);c.recovery=true;e=0;while(true){f=$clone(c.peeker.Read(),Z);g=f.Type;if((b===8718)&&(g===955)){g=8747;}h=g;if(h===(d)){e=e+(1)>>0;}else if(h===(b)){if(e<1){return f;}e=e-(1)>>0;}else if(h===(9220)){return f;}}};CM.prototype.recover=function(b){return this.$val.recover(b);};CM.ptr.prototype.recoverAfterBodyItem=function(){var b,c,d,e,f,g,h,i;b=this;b.recovery=true;c=FY.nil;Token:while(true){d=$clone(b.peeker.Read(),Z);e=d.Type;if(e===(10)){if(c.$length===0){break Token;}}else if(e===(9220)){break Token;}else if((e===(123))||(e===(91))||(e===(40))||(e===(171))||(e===(72))||(e===(8747))||(e===(955))){c=$append(c,d.Type);}else if((e===(125))||(e===(93))||(e===(41))||(e===(187))||(e===(104))){f=b.oppositeBracket(d.Type);while(true){if(!(c.$length>0&&!(((g=c.$length-1>>0,((g<0||g>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+g]))===f)))){break;}c=$subslice(c,0,(c.$length-1>>0));}if(c.$length>0){c=$subslice(c,0,(c.$length-1>>0));}}else if(e===(8718)){while(true){if(!(c.$length>0&&!(((h=c.$length-1>>0,((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]))===8747))&&!(((i=c.$length-1>>0,((i<0||i>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+i]))===955)))){break;}c=$subslice(c,0,(c.$length-1>>0));}if(c.$length>0){c=$subslice(c,0,(c.$length-1>>0));}}}};CM.prototype.recoverAfterBodyItem=function(){return this.$val.recoverAfterBodyItem();};CM.ptr.prototype.oppositeBracket=function(b){var b,c,d;c=this;d=b;if(d===(123)){return 125;}else if(d===(91)){return 93;}else if(d===(40)){return 41;}else if(d===(171)){return 187;}else if(d===(72)){return 104;}else if(d===(125)){return 123;}else if(d===(93)){return 91;}else if(d===(41)){return 40;}else if(d===(187)){return 171;}else if(d===(104)){return 72;}else if(d===(955)){return 8718;}else if(d===(8747)){return 8718;}else if(d===(8718)){return 8747;}else{return 0;}};CM.prototype.oppositeBracket=function(b){return this.$val.oppositeBracket(b);};CP=function(b){var b;return new DM.ptr($clone(I.DynamicVal,I.Value),$clone(b,A.Range));};CS.ptr.prototype.ContextString=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=EU.nil;e=c.root.Blocks;f=0;while(true){if(!(f<e.$length)){break;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if($clone(g.Range(),A.Range).ContainsOffset(b)){d=g;break;}f++;}if(d===EU.nil){$s=-1;return"";}if(d.Labels.$length===0){$s=-1;return d.Type;}h=new C.Buffer.ptr(EE.nil,0,0);i=h.WriteString(d.Type);$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;j=d.Labels;k=0;case 2:if(!(k<j.$length)){$s=3;continue;}l=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);m=D.Fprintf(h," %q",new EP([new $String(l)]));$s=4;case 4:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;k++;$s=2;continue;case 3:$s=-1;return h.String();}return;}if($f===undefined){$f={$blk:CS.ptr.prototype.ContextString};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};CS.prototype.ContextString=function(b){return this.$val.ContextString(b);};CS.ptr.prototype.ContextDefRange=function(b){var b,c,d,e,f,g;c=this;d=EU.nil;e=c.root.Blocks;f=0;while(true){if(!(f<e.$length)){break;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if($clone(g.Range(),A.Range).ContainsOffset(b)){d=g;break;}f++;}if(d===EU.nil){return new A.Range.ptr("",new A.Pos.ptr(0,0,0),new A.Pos.ptr(0,0,0));}return d.DefRange();};CS.prototype.ContextDefRange=function(b){return this.$val.ContextDefRange(b);};CT.prototype.TokenMatches=function(b){var b,c;c=this;if(!((b.Type===73))){return false;}return C.Equal(($convertSliceType(c,EE)),b.Bytes);};$ptrType(CT).prototype.TokenMatches=function(b){return this.$get().TokenMatches(b);};DY.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DY.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DY.prototype.Variables=function(){return this.$val.Variables();};DH.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DH.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DH.prototype.Variables=function(){return this.$val.Variables();};DQ.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DQ.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DQ.prototype.Variables=function(){return this.$val.Variables();};DW.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DW.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DW.prototype.Variables=function(){return this.$val.Variables();};DP.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DP.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DP.prototype.Variables=function(){return this.$val.Variables();};DR.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DR.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DR.prototype.Variables=function(){return this.$val.Variables();};DM.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DM.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DM.prototype.Variables=function(){return this.$val.Variables();};DT.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DT.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DT.prototype.Variables=function(){return this.$val.Variables();};DV.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DV.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DV.prototype.Variables=function(){return this.$val.Variables();};DO.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DO.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DO.prototype.Variables=function(){return this.$val.Variables();};DN.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.Variables=function(){return this.$val.Variables();};DX.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DX.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DX.prototype.Variables=function(){return this.$val.Variables();};DB.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DB.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DB.prototype.Variables=function(){return this.$val.Variables();};DC.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DC.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DC.prototype.Variables=function(){return this.$val.Variables();};DD.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DD.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DD.prototype.Variables=function(){return this.$val.Variables();};DS.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DS.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DS.prototype.Variables=function(){return this.$val.Variables();};DI.ptr.prototype.Variables=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=V(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.Variables};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.Variables=function(){return this.$val.Variables();};DB.ptr.prototype.walkChildNodes=function(b){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.Parts;e=0;case 1:if(!(e<d.$length)){$s=2;continue;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);$r=b(f);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:DB.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};DB.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DB.ptr.prototype.Value=function(b){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=new C.Buffer.ptr(EE.nil,0,0);e=A.Diagnostics.nil;f=true;g={};h=c.Parts;i=0;case 1:if(!(i<h.$length)){$s=2;continue;}j=((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]);l=j.Value(b);$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=$clone(k[0],I.Value);n=k[1];e=$appendSlice(e,$convertSliceType(n,EJ));if($clone(m,I.Value).IsNull()){$s=4;continue;}$s=5;continue;case 4:o=D.Sprintf("The expression result is null. Cannot include a null value in a string template.",new EP([]));$s=6;case 6:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=j.Range();$s=7;case 7:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=$clone(p,A.Range).Ptr();$s=8;case 8:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}e=$append(e,new A.Diagnostic.ptr(1,"Invalid template interpolation value",o,q,c.SrcRange,j,b));i++;$s=1;continue;case 5:r=$clone(m,I.Value).Unmark();s=$clone(r[0],I.Value);t=r[1];u=t;v=0;w=$keys(u);while(true){if(!(v<w.length)){break;}x=u[w[v]];if(x===undefined){v++;continue;}y=x.k;z=$clone(x.v,EL);aa=y;(g||$throwRuntimeError("assignment to entry in nil map"))[$emptyInterface.keyFor(aa)]={k:aa,v:$clone(z,EL)};v++;}if(!$clone(m,I.Value).IsKnown()){f=false;i++;$s=1;continue;}ac=L.Convert($clone(s,I.Value),$clone(I.String,I.Type));$s=9;case 9:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=$clone(ab[0],I.Value);ae=ab[1];if(!($interfaceIsEqual(ae,$ifaceNil))){$s=10;continue;}$s=11;continue;case 10:af=ae.Error();$s=12;case 12:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=new $String(af);ah=D.Sprintf("Cannot include the given value in a string template: %s.",new EP([ag]));$s=13;case 13:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=j.Range();$s=14;case 14:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=$clone(ai,A.Range).Ptr();$s=15;case 15:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}e=$append(e,new A.Diagnostic.ptr(1,"Invalid template interpolation value",ah,aj,c.SrcRange,j,b));i++;$s=1;continue;case 11:ak=d.WriteString($clone(ad,I.Value).AsString());$s=16;case 16:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}ak;i++;$s=1;continue;case 2:al=new I.Value.ptr(new I.Type.ptr($ifaceNil),$ifaceNil);if(!f){$s=17;continue;}$s=18;continue;case 17:I.Value.copy(al,I.UnknownVal($clone(I.String,I.Type)));$s=19;continue;case 18:am=I.StringVal(d.String());$s=20;case 20:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}I.Value.copy(al,am);case 19:$s=-1;return[$clone(al,I.Value).WithMarks(new FZ([g])),e];}return;}if($f===undefined){$f={$blk:DB.ptr.prototype.Value};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DB.prototype.Value=function(b){return this.$val.Value(b);};DB.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};DB.prototype.Range=function(){return this.$val.Range();};DB.ptr.prototype.StartRange=function(){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=(c=b.Parts,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])).StartRange();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:DB.ptr.prototype.StartRange};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};DB.prototype.StartRange=function(){return this.$val.StartRange();};DB.ptr.prototype.IsStringLiteral=function(){var b,c,d,e;b=this;if(!((b.Parts.$length===1))){return false;}c=$assertType((d=b.Parts,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])),FU,true);e=c[1];return e;};DB.prototype.IsStringLiteral=function(){return this.$val.IsStringLiteral();};DC.ptr.prototype.walkChildNodes=function(b){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=b(c.Tuple);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:DC.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};DC.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DC.ptr.prototype.Value=function(b){var aa,ab,ac,ad,ae,af,ag,ah,ai,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=c.Tuple.Value(b);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=$clone(d[0],I.Value);g=d[1];if($clone(f,I.Value).IsNull()){$panic(new $String("TemplateJoinExpr got null tuple"));}if($equal($clone(f,I.Value).Type(),I.DynamicPseudoType,I.Type)){$s=-1;return[I.UnknownVal($clone(I.String,I.Type)),g];}if(!$clone($clone(f,I.Value).Type(),I.Type).IsTupleType()){$panic(new $String("TemplateJoinExpr got non-tuple tuple"));}if(!$clone(f,I.Value).IsKnown()){$s=-1;return[I.UnknownVal($clone(I.String,I.Type)),g];}h=$clone(f,I.Value).Unmark();f=$clone(h[0],I.Value);i=h[1];j=new FZ([i]);k=new C.Buffer.ptr(EE.nil,0,0);l=$clone(f,I.Value).ElementIterator();$s=2;case 2:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;case 3:n=m.Next();$s=5;case 5:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(!(n)){$s=4;continue;}p=m.Element();$s=6;case 6:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;q=$clone(o[1],I.Value);if($clone(q,I.Value).IsNull()){$s=7;continue;}$s=8;continue;case 7:r=D.Sprintf("An iteration result is null. Cannot include a null value in a string template.",new EP([]));$s=9;case 9:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=c.Range();$s=10;case 10:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=$clone(s,A.Range).Ptr();$s=11;case 11:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}g=$append(g,new A.Diagnostic.ptr(1,"Invalid template interpolation value",r,t,EQ.nil,c,b));$s=3;continue;case 8:if($equal($clone(q,I.Value).Type(),I.DynamicPseudoType,I.Type)){$s=-1;return[$clone(I.UnknownVal($clone(I.String,I.Type)),I.Value).WithMarks(new FZ([i])),g];}v=L.Convert($clone(q,I.Value),$clone(I.String,I.Type));$s=12;case 12:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=$clone(u[0],I.Value);x=u[1];if(!($interfaceIsEqual(x,$ifaceNil))){$s=13;continue;}$s=14;continue;case 13:y=x.Error();$s=15;case 15:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=new $String(y);aa=D.Sprintf("Cannot include one of the interpolation results into the string template: %s.",new EP([z]));$s=16;case 16:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=c.Range();$s=17;case 17:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,A.Range).Ptr();$s=18;case 18:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}g=$append(g,new A.Diagnostic.ptr(1,"Invalid template interpolation value",aa,ac,EQ.nil,c,b));$s=3;continue;case 14:if(!$clone(q,I.Value).IsKnown()){$s=-1;return[$clone(I.UnknownVal($clone(I.String,I.Type)),I.Value).WithMarks(new FZ([i])),g];}ad=$clone(w,I.Value).Unmark();w=$clone(ad[0],I.Value);ae=ad[1];if($keys(ae).length>0){j=$append(j,ae);}af=k.WriteString($clone(w,I.Value).AsString());$s=19;case 19:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}af;$s=3;continue;case 4:ag=I.StringVal(k.String());$s=20;case 20:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=$clone(ag,I.Value).WithMarks(j);$s=21;case 21:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=[ah,g];$s=22;case 22:return ai;}return;}if($f===undefined){$f={$blk:DC.ptr.prototype.Value};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DC.prototype.Value=function(b){return this.$val.Value(b);};DC.ptr.prototype.Range=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Tuple.Range();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DC.ptr.prototype.Range};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DC.prototype.Range=function(){return this.$val.Range();};DC.ptr.prototype.StartRange=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Tuple.StartRange();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DC.ptr.prototype.StartRange};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DC.prototype.StartRange=function(){return this.$val.StartRange();};DD.ptr.prototype.walkChildNodes=function(b){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=b(c.Wrapped);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:DD.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};DD.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DD.ptr.prototype.Value=function(b){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.Wrapped.Value(b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=2;case 2:return e;}return;}if($f===undefined){$f={$blk:DD.ptr.prototype.Value};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};DD.prototype.Value=function(b){return this.$val.Value(b);};DD.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};DD.prototype.Range=function(){return this.$val.Range();};DD.ptr.prototype.StartRange=function(){var b;b=this;return b.SrcRange;};DD.prototype.StartRange=function(){return this.$val.StartRange();};DG=function(){DF=new ED([$makeMap(AB.keyFor,[{k:8744,v:$pkg.OpLogicalOr}]),$makeMap(AB.keyFor,[{k:8743,v:$pkg.OpLogicalAnd}]),$makeMap(AB.keyFor,[{k:8788,v:$pkg.OpEqual},{k:8800,v:$pkg.OpNotEqual}]),$makeMap(AB.keyFor,[{k:62,v:$pkg.OpGreaterThan},{k:8805,v:$pkg.OpGreaterThanOrEqual},{k:60,v:$pkg.OpLessThan},{k:8804,v:$pkg.OpLessThanOrEqual}]),$makeMap(AB.keyFor,[{k:43,v:$pkg.OpAdd},{k:45,v:$pkg.OpSubtract}]),$makeMap(AB.keyFor,[{k:42,v:$pkg.OpMultiply},{k:47,v:$pkg.OpDivide},{k:37,v:$pkg.OpModulo}])]);};DH.ptr.prototype.walkChildNodes=function(b){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=b(c.LHS);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b(c.RHS);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:DH.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};DH.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DH.ptr.prototype.Value=function(b){var aa,ab,ac,ad,ae,af,ag,ah,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$clone(c.Op.Impl,M.Function);e=$clone(d,M.Function).Params();f=$clone((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),M.Parameter);g=$clone((1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]),M.Parameter);h=A.Diagnostics.nil;j=c.LHS.Value(b);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=$clone(i[0],I.Value);l=i[1];n=c.RHS.Value(b);$s=2;case 2:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=$clone(m[0],I.Value);p=m[1];h=$appendSlice(h,$convertSliceType(l,EJ));h=$appendSlice(h,$convertSliceType(p,EJ));r=L.Convert($clone(k,I.Value),$clone(f.Type,I.Type));$s=3;case 3:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=$clone(q[0],I.Value);t=q[1];if(!($interfaceIsEqual(t,$ifaceNil))){$s=4;continue;}$s=5;continue;case 4:u=D.Sprintf("Unsuitable value for left operand: %s.",new EP([t]));$s=6;case 6:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=c.LHS.Range();$s=7;case 7:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=$clone(v,A.Range).Ptr();$s=8;case 8:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}h=$append(h,new A.Diagnostic.ptr(1,"Invalid operand",u,w,c.SrcRange,c.LHS,b));case 5:y=L.Convert($clone(o,I.Value),$clone(g.Type,I.Type));$s=9;case 9:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;z=$clone(x[0],I.Value);t=x[1];if(!($interfaceIsEqual(t,$ifaceNil))){$s=10;continue;}$s=11;continue;case 10:aa=D.Sprintf("Unsuitable value for right operand: %s.",new EP([t]));$s=12;case 12:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=c.RHS.Range();$s=13;case 13:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,A.Range).Ptr();$s=14;case 14:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}h=$append(h,new A.Diagnostic.ptr(1,"Invalid operand",aa,ac,c.SrcRange,c.RHS,b));case 11:if(h.HasErrors()){$s=-1;return[I.UnknownVal($clone(c.Op.Type,I.Type)),h];}ad=new GA([$clone(s,I.Value),$clone(z,I.Value)]);af=$clone(d,M.Function).Call(ad);$s=15;case 15:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;ag=$clone(ae[0],I.Value);t=ae[1];if(!($interfaceIsEqual(t,$ifaceNil))){$s=16;continue;}$s=17;continue;case 16:ah=D.Sprintf("Error during operation: %s.",new EP([t]));$s=18;case 18:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}h=$append(h,new A.Diagnostic.ptr(1,"Operation failed",ah,c.SrcRange,EQ.nil,c,b));$s=-1;return[I.UnknownVal($clone(c.Op.Type,I.Type)),h];case 17:$s=-1;return[ag,h];}return;}if($f===undefined){$f={$blk:DH.ptr.prototype.Value};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DH.prototype.Value=function(b){return this.$val.Value(b);};DH.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};DH.prototype.Range=function(){return this.$val.Range();};DH.ptr.prototype.StartRange=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.LHS.StartRange();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DH.ptr.prototype.StartRange};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DH.prototype.StartRange=function(){return this.$val.StartRange();};DI.ptr.prototype.walkChildNodes=function(b){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=b(c.Val);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DI.ptr.prototype.Value=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$clone(c.Op.Impl,M.Function);e=$clone(d,M.Function).Params();f=$clone((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),M.Parameter);h=c.Val.Value(b);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=$clone(g[0],I.Value);j=g[1];l=L.Convert($clone(i,I.Value),$clone(f.Type,I.Type));$s=2;case 2:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=$clone(k[0],I.Value);n=k[1];if(!($interfaceIsEqual(n,$ifaceNil))){$s=3;continue;}$s=4;continue;case 3:o=D.Sprintf("Unsuitable value for unary operand: %s.",new EP([n]));$s=5;case 5:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=c.Val.Range();$s=6;case 6:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=$clone(p,A.Range).Ptr();$s=7;case 7:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}j=$append(j,new A.Diagnostic.ptr(1,"Invalid operand",o,q,c.SrcRange,c.Val,b));case 4:if(j.HasErrors()){$s=-1;return[I.UnknownVal($clone(c.Op.Type,I.Type)),j];}r=new GA([$clone(m,I.Value)]);t=$clone(d,M.Function).Call(r);$s=8;case 8:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=$clone(s[0],I.Value);n=s[1];if(!($interfaceIsEqual(n,$ifaceNil))){$s=9;continue;}$s=10;continue;case 9:v=D.Sprintf("Error during operation: %s.",new EP([n]));$s=11;case 11:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}j=$append(j,new A.Diagnostic.ptr(1,"Operation failed",v,c.SrcRange,EQ.nil,c,b));$s=-1;return[I.UnknownVal($clone(c.Op.Type,I.Type)),j];case 10:$s=-1;return[u,j];}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.Value};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.Value=function(b){return this.$val.Value(b);};DI.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};DI.prototype.Range=function(){return this.$val.Range();};DI.ptr.prototype.StartRange=function(){var b;b=this;return b.SymbolRange;};DI.prototype.StartRange=function(){return this.$val.StartRange();};DL.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};DL.prototype.Range=function(){return this.$val.Range();};DL.ptr.prototype.walkChildNodes=function(b){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=b(c.Expression);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:DL.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};DL.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DM.ptr.prototype.walkChildNodes=function(b){var b,c;c=this;};DM.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DM.ptr.prototype.Value=function(b){var b,c;c=this;return[c.Val,A.Diagnostics.nil];};DM.prototype.Value=function(b){return this.$val.Value(b);};DM.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};DM.prototype.Range=function(){return this.$val.Range();};DM.ptr.prototype.StartRange=function(){var b;b=this;return b.SrcRange;};DM.prototype.StartRange=function(){return this.$val.StartRange();};DM.ptr.prototype.AsTraversal=function(){var b,c,d,e,f;b=this;if($clone(b.Val,I.Value).IsNull()){return new A.Traversal([(c=new A.TraverseRoot.ptr(new A.isTraverser.ptr(),"null",$clone(b.SrcRange,A.Range)),new c.constructor.elem(c))]);}d=$clone(b.Val,I.Value);if($equal(d,(I.True),I.Value)){return new A.Traversal([(e=new A.TraverseRoot.ptr(new A.isTraverser.ptr(),"true",$clone(b.SrcRange,A.Range)),new e.constructor.elem(e))]);}else if($equal(d,(I.False),I.Value)){return new A.Traversal([(f=new A.TraverseRoot.ptr(new A.isTraverser.ptr(),"false",$clone(b.SrcRange,A.Range)),new f.constructor.elem(f))]);}else{return A.Traversal.nil;}};DM.prototype.AsTraversal=function(){return this.$val.AsTraversal();};DN.ptr.prototype.walkChildNodes=function(b){var b,c;c=this;};DN.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DN.ptr.prototype.Value=function(b){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=c.Traversal.TraverseAbs(b);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=$clone(d[0],I.Value);g=d[1];EA(g,c,b);$s=-1;return[f,g];}return;}if($f===undefined){$f={$blk:DN.ptr.prototype.Value};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};DN.prototype.Value=function(b){return this.$val.Value(b);};DN.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};DN.prototype.Range=function(){return this.$val.Range();};DN.ptr.prototype.StartRange=function(){var b;b=this;return b.SrcRange;};DN.prototype.StartRange=function(){return this.$val.StartRange();};DN.ptr.prototype.AsTraversal=function(){var b;b=this;return b.Traversal;};DN.prototype.AsTraversal=function(){return this.$val.AsTraversal();};DO.ptr.prototype.walkChildNodes=function(b){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=b(c.Source);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:DO.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};DO.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DO.ptr.prototype.Value=function(b){var b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=c.Source.Value(b);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=$clone(d[0],I.Value);g=d[1];i=c.Traversal.TraverseRel($clone(f,I.Value));$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=$clone(h[0],I.Value);k=h[1];EA(k,c,b);g=$appendSlice(g,$convertSliceType(k,EJ));$s=-1;return[j,g];}return;}if($f===undefined){$f={$blk:DO.ptr.prototype.Value};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};DO.prototype.Value=function(b){return this.$val.Value(b);};DO.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};DO.prototype.Range=function(){return this.$val.Range();};DO.ptr.prototype.StartRange=function(){var b;b=this;return b.SrcRange;};DO.prototype.StartRange=function(){return this.$val.StartRange();};DO.ptr.prototype.AsTraversal=function(){var b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=A.AbsTraversalForExpr(b.Source);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(f.HasErrors()){$s=-1;return A.Traversal.nil;}g=$makeSlice(A.Traversal,(e.$length+b.Traversal.$length>>0));$copySlice(g,e);$copySlice($subslice(g,e.$length),b.Traversal);$s=-1;return g;}return;}if($f===undefined){$f={$blk:DO.ptr.prototype.AsTraversal};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};DO.prototype.AsTraversal=function(){return this.$val.AsTraversal();};DP.ptr.prototype.walkChildNodes=function(b){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.Args;e=0;case 1:if(!(e<d.$length)){$s=2;continue;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);$r=b(f);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:DP.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};DP.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DP.ptr.prototype.Value=function(b){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;c=$f.c;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Diagnostics.nil;e=new M.Function.ptr(EG.nil);f=false;g=false;h=b;while(true){if(!(!(h===ER.nil))){break;}if(h.Functions===false){h=h.Parent();continue;}g=true;i=(j=h.Functions[$String.keyFor(c.Name)],j!==undefined?[j.v,true]:[new M.Function.ptr(EG.nil),false]);M.Function.copy(e,i[0]);f=i[1];if(f){break;}h=h.Parent();}if(!f){$s=1;continue;}$s=2;continue;case 1:if(!g){$s=-1;return[I.DynamicVal,new A.Diagnostics([new A.Diagnostic.ptr(1,"Function calls not allowed","Functions may not be called here.",$clone(c.Range(),A.Range).Ptr(),EQ.nil,c,b)])];}k=$makeSlice(EX,0,$keys(b.Functions).length);l=b.Functions;m=0;n=$keys(l);while(true){if(!(m<n.length)){break;}o=l[n[m]];if(o===undefined){m++;continue;}p=o.k;k=$append(k,p);m++;}q=DZ(c.Name,k);if(!(q==="")){$s=3;continue;}$s=4;continue;case 3:r=D.Sprintf(" Did you mean %q?",new EP([new $String(q)]));$s=5;case 5:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;case 4:s=D.Sprintf("There is no function named %q.%s",new EP([new $String(c.Name),new $String(q)]));$s=6;case 6:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=[I.DynamicVal,new A.Diagnostics([new A.Diagnostic.ptr(1,"Call to unknown function",s,c.NameRange,$clone(c.Range(),A.Range).Ptr(),c,b)])];$s=7;case 7:return t;case 2:u=$clone(e,M.Function).Params();v=$clone(e,M.Function).VarParam();w=c.Args;if(c.ExpandFinal){$s=8;continue;}$s=9;continue;case 8:if(w.$length<1){$panic(new $String("ExpandFinal set on function call with no arguments"));}y=(x=w.$length-1>>0,((x<0||x>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+x]));aa=y.Value(b);$s=10;case 10:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;ab=$clone(z[0],I.Value);ac=z[1];d=$appendSlice(d,$convertSliceType(ac,EJ));if(ac.HasErrors()){$s=-1;return[I.DynamicVal,d];}ad=$clone($clone(ab,I.Value).Type(),I.Type).Equals($clone(I.DynamicPseudoType,I.Type));$s=16;case 16:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}if(ad){$s=12;continue;}if($clone($clone(ab,I.Value).Type(),I.Type).IsTupleType()||$clone($clone(ab,I.Value).Type(),I.Type).IsListType()||$clone($clone(ab,I.Value).Type(),I.Type).IsSetType()){$s=13;continue;}$s=14;continue;case 12:if($clone(ab,I.Value).IsNull()){$s=17;continue;}$s=18;continue;case 17:ae=y.Range();$s=19;case 19:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=$clone(ae,A.Range).Ptr();$s=20;case 20:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid expanding argument value","The expanding argument (indicated by ...) must not be null.",af,$clone(c.Range(),A.Range).Ptr(),y,b));$s=-1;return[I.DynamicVal,d];case 18:$s=-1;return[I.DynamicVal,d];case 13:if($clone(ab,I.Value).IsNull()){$s=21;continue;}$s=22;continue;case 21:ag=y.Range();$s=23;case 23:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=$clone(ag,A.Range).Ptr();$s=24;case 24:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid expanding argument value","The expanding argument (indicated by ...) must not be null.",ah,$clone(c.Range(),A.Range).Ptr(),y,b));$s=-1;return[I.DynamicVal,d];case 22:if(!$clone(ab,I.Value).IsKnown()){$s=-1;return[I.DynamicVal,d];}ai=$clone(ab,I.Value).Unmark();aj=$clone(ai[0],I.Value);ak=ai[1];al=$makeSlice(FI,0,(((w.$length-1>>0))+$clone(aj,I.Value).LengthInt()>>0));al=$appendSlice(al,$subslice(w,0,(w.$length-1>>0)));am=$clone(aj,I.Value).ElementIterator();$s=25;case 25:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=am;case 26:ao=an.Next();$s=28;case 28:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}if(!(ao)){$s=27;continue;}aq=an.Element();$s=29;case 29:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;ar=$clone(ap[1],I.Value);as=y.Range();$s=30;case 30:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}al=$append(al,new DM.ptr($clone($clone(ar,I.Value).WithMarks(new FZ([ak])),I.Value),$clone(as,A.Range)));$s=26;continue;case 27:w=al;$s=15;continue;case 14:at=y.Range();$s=31;case 31:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=$clone(at,A.Range).Ptr();$s=32;case 32:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid expanding argument value","The expanding argument (indicated by ...) must be of a tuple, list, or set type.",au,$clone(c.Range(),A.Range).Ptr(),y,b));$s=-1;return[I.DynamicVal,d];case 15:case 11:case 9:if(w.$length<u.$length){$s=33;continue;}$s=34;continue;case 33:aw=$clone((av=w.$length,((av<0||av>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+av])),M.Parameter);ax="";if(!(v===GB.nil)){ax=" at least";}ay=D.Sprintf("Function %q expects%s %d argument(s). Missing value for %q.",new EP([new $String(c.Name),new $String(ax),new $Int(u.$length),new $String(aw.Name)]));$s=35;case 35:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=[I.DynamicVal,new A.Diagnostics([new A.Diagnostic.ptr(1,"Not enough function arguments",ay,c.CloseParenRange,$clone(c.Range(),A.Range).Ptr(),c,b)])];$s=36;case 36:return az;case 34:if(v===GB.nil&&w.$length>u.$length){$s=37;continue;}$s=38;continue;case 37:ba=D.Sprintf("Function %q expects only %d argument(s).",new EP([new $String(c.Name),new $Int(u.$length)]));$s=39;case 39:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bc=(bb=u.$length,((bb<0||bb>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+bb])).StartRange();$s=40;case 40:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}bd=$clone(bc,A.Range).Ptr();$s=41;case 41:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}be=[I.DynamicVal,new A.Diagnostics([new A.Diagnostic.ptr(1,"Too many function arguments",ba,bd,$clone(c.Range(),A.Range).Ptr(),c,b)])];$s=42;case 42:return be;case 38:bf=$makeSlice(GA,w.$length);bg=w;bh=0;case 43:if(!(bh<bg.$length)){$s=44;continue;}bi=bh;bj=((bh<0||bh>=bg.$length)?($throwRuntimeError("index out of range"),undefined):bg.$array[bg.$offset+bh]);bk=GB.nil;if(bi<u.$length){bk=((bi<0||bi>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+bi]);}else{bk=v;}bl=new I.Value.ptr(new I.Type.ptr($ifaceNil),$ifaceNil);bm=P.CustomExpressionDecoderForType($clone(bk.Type,I.Type));$s=45;case 45:if($c){$c=false;bm=bm.$blk();}if(bm&&bm.$blk!==undefined){break s;}bn=bm;if(!(bn===$throwNilPointerError)){$s=46;continue;}$s=47;continue;case 46:bo=A.Diagnostics.nil;bq=bn(bj,b);$s=49;case 49:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}bp=bq;I.Value.copy(bl,bp[0]);bo=bp[1];d=$appendSlice(d,$convertSliceType(bo,EJ));if($equal(bl,I.NilVal,I.Value)){I.Value.copy(bl,I.UnknownVal($clone(bk.Type,I.Type)));}$s=48;continue;case 47:br=A.Diagnostics.nil;bt=bj.Value(b);$s=50;case 50:if($c){$c=false;bt=bt.$blk();}if(bt&&bt.$blk!==undefined){break s;}bs=bt;I.Value.copy(bl,bs[0]);br=bs[1];if(br.$length>0){d=$appendSlice(d,$convertSliceType(br,EJ));}bu=$ifaceNil;bw=L.Convert($clone(bl,I.Value),$clone(bk.Type,I.Type));$s=51;case 51:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}bv=bw;I.Value.copy(bl,bv[0]);bu=bv[1];if(!($interfaceIsEqual(bu,$ifaceNil))){$s=52;continue;}$s=53;continue;case 52:bx=D.Sprintf("Invalid value for %q parameter: %s.",new EP([new $String(bk.Name),bu]));$s=54;case 54:if($c){$c=false;bx=bx.$blk();}if(bx&&bx.$blk!==undefined){break s;}by=bj.StartRange();$s=55;case 55:if($c){$c=false;by=by.$blk();}if(by&&by.$blk!==undefined){break s;}bz=$clone(by,A.Range).Ptr();$s=56;case 56:if($c){$c=false;bz=bz.$blk();}if(bz&&bz.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid function argument",bx,bz,$clone(c.Range(),A.Range).Ptr(),bj,b));case 53:case 48:I.Value.copy(((bi<0||bi>=bf.$length)?($throwRuntimeError("index out of range"),undefined):bf.$array[bf.$offset+bi]),bl);bh++;$s=43;continue;case 44:if(d.HasErrors()){$s=-1;return[I.DynamicVal,d];}cb=$clone(e,M.Function).Call(bf);$s=57;case 57:if($c){$c=false;cb=cb.$blk();}if(cb&&cb.$blk!==undefined){break s;}ca=cb;cc=$clone(ca[0],I.Value);cd=ca[1];if(!($interfaceIsEqual(cd,$ifaceNil))){$s=58;continue;}$s=59;continue;case 58:ce=cd;if($assertType(ce,M.ArgError,true)[1]){$s=60;continue;}$s=61;continue;case 60:cf=$clone(ce.$val,M.ArgError);ch=cf.Index;ci=GB.nil;if(ch<u.$length){ci=((ch<0||ch>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+ch]);}else{ci=v;}if(ci===GB.nil||ch>(w.$length-1>>0)){$s=63;continue;}$s=64;continue;case 63:if(!(ci===GB.nil)){$s=67;continue;}$s=68;continue;case 67:cj=D.Sprintf("Invalid value for %q parameter: %s.",new EP([new $String(ci.Name),cd]));$s=70;case 70:if($c){$c=false;cj=cj.$blk();}if(cj&&cj.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid function argument",cj,$clone(c.Range(),A.Range).Ptr(),EQ.nil,c,b));$s=69;continue;case 68:ck=D.Sprintf("Call to function %q failed: %s.",new EP([new $String(c.Name),cd]));$s=71;case 71:if($c){$c=false;ck=ck.$blk();}if(ck&&ck.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Error in function call",ck,$clone(c.StartRange(),A.Range).Ptr(),$clone(c.Range(),A.Range).Ptr(),c,b));case 69:case 66:$s=65;continue;case 64:cl=((ch<0||ch>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+ch]);cm=D.Sprintf("Invalid value for %q parameter: %s.",new EP([new $String(ci.Name),cd]));$s=72;case 72:if($c){$c=false;cm=cm.$blk();}if(cm&&cm.$blk!==undefined){break s;}cn=cl.StartRange();$s=73;case 73:if($c){$c=false;cn=cn.$blk();}if(cn&&cn.$blk!==undefined){break s;}co=$clone(cn,A.Range).Ptr();$s=74;case 74:if($c){$c=false;co=co.$blk();}if(co&&co.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid function argument",cm,co,$clone(c.Range(),A.Range).Ptr(),cl,b));case 65:$s=62;continue;case 61:cg=ce;cp=D.Sprintf("Call to function %q failed: %s.",new EP([new $String(c.Name),cd]));$s=75;case 75:if($c){$c=false;cp=cp.$blk();}if(cp&&cp.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Error in function call",cp,$clone(c.StartRange(),A.Range).Ptr(),$clone(c.Range(),A.Range).Ptr(),c,b));case 62:$s=-1;return[I.DynamicVal,d];case 59:$s=-1;return[cc,d];}return;}if($f===undefined){$f={$blk:DP.ptr.prototype.Value};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.c=c;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DP.prototype.Value=function(b){return this.$val.Value(b);};DP.ptr.prototype.Range=function(){var b;b=this;return A.RangeBetween($clone(b.NameRange,A.Range),$clone(b.CloseParenRange,A.Range));};DP.prototype.Range=function(){return this.$val.Range();};DP.ptr.prototype.StartRange=function(){var b;b=this;return A.RangeBetween($clone(b.NameRange,A.Range),$clone(b.OpenParenRange,A.Range));};DP.prototype.StartRange=function(){return this.$val.StartRange();};DP.ptr.prototype.ExprCall=function(){var b,c,d,e,f,g,h;b=this;c=new A.StaticCall.ptr(b.Name,$clone(b.NameRange,A.Range),$makeSlice(GC,b.Args.$length),$clone(A.RangeBetween($clone(b.OpenParenRange,A.Range),$clone(b.CloseParenRange,A.Range)),A.Range));d=b.Args;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);(h=c.Arguments,((f<0||f>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+f]=g));e++;}return c;};DP.prototype.ExprCall=function(){return this.$val.ExprCall();};DQ.ptr.prototype.walkChildNodes=function(b){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=b(c.Condition);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b(c.TrueResult);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b(c.FalseResult);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:DQ.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};DQ.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DQ.ptr.prototype.Value=function(b){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=c.TrueResult.Value(b);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=$clone(d[0],I.Value);g=d[1];i=c.FalseResult.Value(b);$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=$clone(h[0],I.Value);k=h[1];l=A.Diagnostics.nil;m=$clone(I.DynamicPseudoType,I.Type);n=$makeSlice(GD,2);o=$clone(f,I.Value).RawEquals($clone(I.NullVal($clone(I.DynamicPseudoType,I.Type)),I.Value));$s=9;case 9:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}if(o){$s=4;continue;}p=$clone(j,I.Value).RawEquals($clone(I.NullVal($clone(I.DynamicPseudoType,I.Type)),I.Value));$s=10;case 10:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}if(p){$s=5;continue;}if(($equal($clone(f,I.Value).Type(),I.DynamicPseudoType,I.Type))||($equal($clone(j,I.Value).Type(),I.DynamicPseudoType,I.Type))){$s=6;continue;}$s=7;continue;case 4:I.Type.copy(m,$clone(j,I.Value).Type());q=L.GetConversionUnsafe($clone(I.DynamicPseudoType,I.Type),$clone(m,I.Type));$s=11;case 11:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0]=q);$s=8;continue;case 5:I.Type.copy(m,$clone(f,I.Value).Type());r=L.GetConversionUnsafe($clone(I.DynamicPseudoType,I.Type),$clone(m,I.Type));$s=12;case 12:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}(1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1]=r);$s=8;continue;case 6:$s=8;continue;case 7:t=L.UnifyUnsafe(new GE([$clone($clone(f,I.Value).Type(),I.Type),$clone($clone(j,I.Value).Type(),I.Type)]));$s=13;case 13:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;I.Type.copy(m,s[0]);n=s[1];case 8:case 3:if($equal(m,I.NilType,I.Type)){$s=14;continue;}$s=15;continue;case 14:u=$clone($clone(f,I.Value).Type(),I.Type).FriendlyName();$s=16;case 16:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=new $String(u);w=$clone($clone(j,I.Value).Type(),I.Type).FriendlyName();$s=17;case 17:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=new $String(w);y=D.Sprintf("The true and false result expressions must have consistent types. The given expressions are %s and %s, respectively.",new EP([v,x]));$s=18;case 18:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=c.TrueResult.Range();$s=19;case 19:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=$clone(z,A.Range);ab=c.FalseResult.Range();$s=20;case 20:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=$clone(ab,A.Range);ad=A.RangeBetween(aa,ac);$s=21;case 21:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,A.Range).Ptr();$s=22;case 22:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=[I.DynamicVal,new A.Diagnostics([new A.Diagnostic.ptr(1,"Inconsistent conditional result types",y,ae,c.SrcRange,c,b)])];$s=23;case 23:return af;case 15:ah=c.Condition.Value(b);$s=24;case 24:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;ai=$clone(ag[0],I.Value);aj=ag[1];l=$appendSlice(l,$convertSliceType(aj,EJ));if($clone(ai,I.Value).IsNull()){$s=25;continue;}$s=26;continue;case 25:ak=c.Condition.Range();$s=27;case 27:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=$clone(ak,A.Range).Ptr();$s=28;case 28:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}l=$append(l,new A.Diagnostic.ptr(1,"Null condition","The condition value is null. Conditions must either be true or false.",al,c.SrcRange,c.Condition,b));$s=-1;return[I.UnknownVal($clone(m,I.Type)),l];case 26:if(!$clone(ai,I.Value).IsKnown()){$s=-1;return[I.UnknownVal($clone(m,I.Type)),l];}an=L.Convert($clone(ai,I.Value),$clone(I.Bool,I.Type));$s=29;case 29:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}am=an;ai=$clone(am[0],I.Value);ao=am[1];if(!($interfaceIsEqual(ao,$ifaceNil))){$s=30;continue;}$s=31;continue;case 30:ap=D.Sprintf("The condition expression must be of type bool.",new EP([]));$s=32;case 32:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=c.Condition.Range();$s=33;case 33:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=$clone(aq,A.Range).Ptr();$s=34;case 34:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}l=$append(l,new A.Diagnostic.ptr(1,"Incorrect condition type",ap,ar,c.SrcRange,c.Condition,b));$s=-1;return[I.UnknownVal($clone(m,I.Type)),l];case 31:at=$clone(ai,I.Value).UnmarkDeep();$s=35;case 35:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}as=at;I.Value.copy(ai,as[0]);au=$clone(ai,I.Value).True();$s=39;case 39:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}if(au){$s=36;continue;}$s=37;continue;case 36:l=$appendSlice(l,$convertSliceType(g,EJ));if(!((0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0])===$throwNilPointerError)){$s=40;continue;}$s=41;continue;case 40:av=$ifaceNil;ax=(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0])($clone(f,I.Value));$s=42;case 42:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}aw=ax;I.Value.copy(f,aw[0]);av=aw[1];if(!($interfaceIsEqual(av,$ifaceNil))){$s=43;continue;}$s=44;continue;case 43:ay=av.Error();$s=45;case 45:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=new $String(ay);ba=D.Sprintf("The true result value has the wrong type: %s.",new EP([az]));$s=46;case 46:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=c.TrueResult.Range();$s=47;case 47:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=$clone(bb,A.Range).Ptr();$s=48;case 48:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}l=$append(l,new A.Diagnostic.ptr(1,"Inconsistent conditional result types",ba,bc,c.SrcRange,c.TrueResult,b));I.Value.copy(f,I.UnknownVal($clone(m,I.Type)));case 44:case 41:$s=-1;return[f,l];case 37:l=$appendSlice(l,$convertSliceType(k,EJ));if(!((1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1])===$throwNilPointerError)){$s=49;continue;}$s=50;continue;case 49:bd=$ifaceNil;bf=(1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1])($clone(j,I.Value));$s=51;case 51:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}be=bf;I.Value.copy(j,be[0]);bd=be[1];if(!($interfaceIsEqual(bd,$ifaceNil))){$s=52;continue;}$s=53;continue;case 52:bg=bd.Error();$s=54;case 54:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bh=new $String(bg);bi=D.Sprintf("The false result value has the wrong type: %s.",new EP([bh]));$s=55;case 55:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}bj=c.FalseResult.Range();$s=56;case 56:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}bk=$clone(bj,A.Range).Ptr();$s=57;case 57:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}l=$append(l,new A.Diagnostic.ptr(1,"Inconsistent conditional result types",bi,bk,c.SrcRange,c.FalseResult,b));I.Value.copy(j,I.UnknownVal($clone(m,I.Type)));case 53:case 50:$s=-1;return[j,l];case 38:$s=-1;return[new I.Value.ptr(new I.Type.ptr($ifaceNil),$ifaceNil),A.Diagnostics.nil];}return;}if($f===undefined){$f={$blk:DQ.ptr.prototype.Value};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DQ.prototype.Value=function(b){return this.$val.Value(b);};DQ.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};DQ.prototype.Range=function(){return this.$val.Range();};DQ.ptr.prototype.StartRange=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Condition.StartRange();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DQ.ptr.prototype.StartRange};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DQ.prototype.StartRange=function(){return this.$val.StartRange();};DR.ptr.prototype.walkChildNodes=function(b){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=b(c.Collection);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b(c.Key);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:DR.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};DR.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DR.ptr.prototype.Value=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Diagnostics.nil;f=c.Collection.Value(b);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=$clone(e[0],I.Value);h=e[1];j=c.Key.Value(b);$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=$clone(i[0],I.Value);l=i[1];d=$appendSlice(d,$convertSliceType(h,EJ));d=$appendSlice(d,$convertSliceType(l,EJ));n=A.Index($clone(g,I.Value),$clone(k,I.Value),c.BracketRange);$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=$clone(m[0],I.Value);p=m[1];EA(p,c,b);d=$appendSlice(d,$convertSliceType(p,EJ));$s=-1;return[o,d];}return;}if($f===undefined){$f={$blk:DR.ptr.prototype.Value};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};DR.prototype.Value=function(b){return this.$val.Value(b);};DR.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};DR.prototype.Range=function(){return this.$val.Range();};DR.ptr.prototype.StartRange=function(){var b;b=this;return b.OpenRange;};DR.prototype.StartRange=function(){return this.$val.StartRange();};DS.ptr.prototype.walkChildNodes=function(b){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.Exprs;e=0;case 1:if(!(e<d.$length)){$s=2;continue;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);$r=b(f);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:DS.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};DS.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DS.ptr.prototype.Value=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=GA.nil;e=A.Diagnostics.nil;d=$makeSlice(GA,c.Exprs.$length);f=c.Exprs;g=0;case 1:if(!(g<f.$length)){$s=2;continue;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);k=i.Value(b);$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=$clone(j[0],I.Value);m=j[1];I.Value.copy(((h<0||h>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+h]),l);e=$appendSlice(e,$convertSliceType(m,EJ));g++;$s=1;continue;case 2:$s=-1;return[I.TupleVal(d),e];}return;}if($f===undefined){$f={$blk:DS.ptr.prototype.Value};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};DS.prototype.Value=function(b){return this.$val.Value(b);};DS.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};DS.prototype.Range=function(){return this.$val.Range();};DS.ptr.prototype.StartRange=function(){var b;b=this;return b.OpenRange;};DS.prototype.StartRange=function(){return this.$val.StartRange();};DS.ptr.prototype.ExprList=function(){var b,c,d,e,f,g;b=this;c=$makeSlice(GC,b.Exprs.$length);d=b.Exprs;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=g);e++;}return c;};DS.prototype.ExprList=function(){return this.$val.ExprList();};DT.ptr.prototype.walkChildNodes=function(b){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.Items;e=0;case 1:if(!(e<d.$length)){$s=2;continue;}f=$clone(((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]),DU);$r=b(f.KeyExpr);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b(f.ValueExpr);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:DT.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};DT.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DT.ptr.prototype.Value=function(b){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=false;e=A.Diagnostics.nil;f=FZ.nil;g=true;d=(h=c.Items.$length,((h<0||h>2147483647)?$throwRuntimeError("makemap: size out of range"):{}));i=c.Items;j=0;case 1:if(!(j<i.$length)){$s=2;continue;}k=$clone(((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]),DU);m=k.KeyExpr.Value(b);$s=3;case 3:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=$clone(l[0],I.Value);o=l[1];e=$appendSlice(e,$convertSliceType(o,EJ));q=k.ValueExpr.Value(b);$s=4;case 4:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=$clone(p[0],I.Value);s=p[1];e=$appendSlice(e,$convertSliceType(s,EJ));if(o.HasErrors()){g=false;j++;$s=1;continue;}if($clone(n,I.Value).IsNull()){$s=5;continue;}$s=6;continue;case 5:t=k.ValueExpr.Range();$s=7;case 7:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=$clone(t,A.Range).Ptr();$s=8;case 8:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}e=$append(e,new A.Diagnostic.ptr(1,"Null value as key","Can't use a null value as a key.",u,EQ.nil,k.KeyExpr,b));g=false;j++;$s=1;continue;case 6:v=$clone(n,I.Value).Unmark();n=$clone(v[0],I.Value);w=v[1];f=$append(f,w);x=$ifaceNil;z=L.Convert($clone(n,I.Value),$clone(I.String,I.Type));$s=9;case 9:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;I.Value.copy(n,y[0]);x=y[1];if(!($interfaceIsEqual(x,$ifaceNil))){$s=10;continue;}$s=11;continue;case 10:aa=x.Error();$s=12;case 12:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=new $String(aa);ac=D.Sprintf("Can't use this value as a key: %s.",new EP([ab]));$s=13;case 13:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=k.KeyExpr.Range();$s=14;case 14:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=$clone(ad,A.Range).Ptr();$s=15;case 15:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}e=$append(e,new A.Diagnostic.ptr(1,"Incorrect key type",ac,ae,EQ.nil,k.KeyExpr,b));g=false;j++;$s=1;continue;case 11:if(!$clone(n,I.Value).IsKnown()){g=false;j++;$s=1;continue;}af=$clone(n,I.Value).AsString();ag=af;(d||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(ag)]={k:ag,v:$clone(r,I.Value)};j++;$s=1;continue;case 2:if(!g){$s=-1;return[I.DynamicVal,e];}ah=I.ObjectVal(d);$s=16;case 16:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=$clone(ah,I.Value).WithMarks(f);$s=17;case 17:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=[ai,e];$s=18;case 18:return aj;}return;}if($f===undefined){$f={$blk:DT.ptr.prototype.Value};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DT.prototype.Value=function(b){return this.$val.Value(b);};DT.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};DT.prototype.Range=function(){return this.$val.Range();};DT.ptr.prototype.StartRange=function(){var b;b=this;return b.OpenRange;};DT.prototype.StartRange=function(){return this.$val.StartRange();};DT.ptr.prototype.ExprMap=function(){var b,c,d,e,f,g;b=this;c=$makeSlice(GF,b.Items.$length);d=b.Items;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=$clone(((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]),DU);A.KeyValuePair.copy(((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]),new A.KeyValuePair.ptr(g.KeyExpr,g.ValueExpr));e++;}return c;};DT.prototype.ExprMap=function(){return this.$val.ExprMap();};DV.ptr.prototype.literalName=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.ExprAsKeyword(b.Wrapped);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DV.ptr.prototype.literalName};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DV.prototype.literalName=function(){return this.$val.literalName();};DV.ptr.prototype.walkChildNodes=function(b){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.literalName();$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}if(d===""){$s=1;continue;}$s=2;continue;case 1:$r=b(c.Wrapped);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:DV.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DV.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DV.ptr.prototype.Value=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(!c.ForceNonLiteral){$s=1;continue;}$s=2;continue;case 1:d=$assertType(c.Wrapped,EO,true);e=d[0];f=d[1];if(f&&e.Traversal.$length>1){$s=3;continue;}$s=4;continue;case 3:g=A.Diagnostics.nil;h=c.Range();$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=$clone(h,A.Range).Ptr();$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}g=$append(g,new A.Diagnostic.ptr(1,"Ambiguous attribute key","If this expression is intended to be a reference, wrap it in parentheses. If it's instead intended as a literal name containing periods, wrap it in quotes to create a string literal.",i,EQ.nil,$ifaceNil,ER.nil));$s=-1;return[I.DynamicVal,g];case 4:j=c.literalName();$s=7;case 7:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(!(k==="")){$s=8;continue;}$s=9;continue;case 8:l=I.StringVal(k);$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=[l,A.Diagnostics.nil];$s=11;case 11:return m;case 9:case 2:n=c.Wrapped.Value(b);$s=12;case 12:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;$s=13;case 13:return o;}return;}if($f===undefined){$f={$blk:DV.ptr.prototype.Value};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};DV.prototype.Value=function(b){return this.$val.Value(b);};DV.ptr.prototype.Range=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Wrapped.Range();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DV.ptr.prototype.Range};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DV.prototype.Range=function(){return this.$val.Range();};DV.ptr.prototype.StartRange=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Wrapped.StartRange();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:DV.ptr.prototype.StartRange};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};DV.prototype.StartRange=function(){return this.$val.StartRange();};DV.ptr.prototype.AsTraversal=function(){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(b.ForceNonLiteral){$s=-1;return A.Traversal.nil;}d=A.AbsTraversalForExpr(b.Wrapped);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(f.HasErrors()){$s=-1;return A.Traversal.nil;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:DV.ptr.prototype.AsTraversal};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};DV.prototype.AsTraversal=function(){return this.$val.AsTraversal();};DV.ptr.prototype.UnwrapExpression=function(){var b;b=this;return b.Wrapped;};DV.prototype.UnwrapExpression=function(){return this.$val.UnwrapExpression();};DW.ptr.prototype.Value=function(b){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,d,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,dp,dq,dr,ds,dt,du,dv,dw,dx,dy,dz,e,ea,eb,ec,ed,ee,ef,eg,eh,ei,ej,ek,el,em,en,eo,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;c=$f.c;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;cr=$f.cr;cs=$f.cs;ct=$f.ct;cu=$f.cu;cv=$f.cv;cw=$f.cw;cx=$f.cx;cy=$f.cy;cz=$f.cz;d=$f.d;da=$f.da;db=$f.db;dc=$f.dc;dd=$f.dd;de=$f.de;df=$f.df;dg=$f.dg;dh=$f.dh;di=$f.di;dj=$f.dj;dk=$f.dk;dl=$f.dl;dm=$f.dm;dn=$f.dn;dp=$f.dp;dq=$f.dq;dr=$f.dr;ds=$f.ds;dt=$f.dt;du=$f.du;dv=$f.dv;dw=$f.dw;dx=$f.dx;dy=$f.dy;dz=$f.dz;e=$f.e;ea=$f.ea;eb=$f.eb;ec=$f.ec;ed=$f.ed;ee=$f.ee;ef=$f.ef;eg=$f.eg;eh=$f.eh;ei=$f.ei;ej=$f.ej;ek=$f.ek;el=$f.el;em=$f.em;en=$f.en;eo=$f.eo;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Diagnostics.nil;e=FZ.nil;g=c.CollExpr.Value(b);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=$clone(f[0],I.Value);i=f[1];d=$appendSlice(d,$convertSliceType(i,EJ));if($clone(h,I.Value).IsNull()){$s=2;continue;}$s=3;continue;case 2:j=c.CollExpr.Range();$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=$clone(j,A.Range).Ptr();$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Iteration over null value","A null value cannot be used as the collection in a 'for' expression.",k,c.SrcRange,c.CollExpr,b));$s=-1;return[I.DynamicVal,d];case 3:if($equal($clone(h,I.Value).Type(),I.DynamicPseudoType,I.Type)){$s=-1;return[I.DynamicVal,d];}l=$clone(h,I.Value).Unmark();h=$clone(l[0],I.Value);m=l[1];e=$append(e,m);if(!$clone(h,I.Value).CanIterateElements()){$s=6;continue;}$s=7;continue;case 6:n=$clone($clone(h,I.Value).Type(),I.Type).FriendlyName();$s=8;case 8:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=new $String(n);p=D.Sprintf("A value of type %s cannot be used as the collection in a 'for' expression.",new EP([o]));$s=9;case 9:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=c.CollExpr.Range();$s=10;case 10:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=$clone(q,A.Range).Ptr();$s=11;case 11:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Iteration over non-iterable value",p,r,c.SrcRange,c.CollExpr,b));$s=-1;return[I.DynamicVal,d];case 7:if(!$clone(h,I.Value).IsKnown()){$s=-1;return[I.DynamicVal,d];}if(!($interfaceIsEqual(c.CondExpr,$ifaceNil))){$s=12;continue;}$s=13;continue;case 12:s=b.NewChild();s.Variables=$makeMap($String.keyFor,[]);if(!(c.KeyVar==="")){t=c.KeyVar;(s.Variables||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(t)]={k:t,v:$clone(I.DynamicVal,I.Value)};}u=c.ValVar;(s.Variables||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(u)]={k:u,v:$clone(I.DynamicVal,I.Value)};w=c.CondExpr.Value(s);$s=14;case 14:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;x=$clone(v[0],I.Value);y=v[1];d=$appendSlice(d,$convertSliceType(y,EJ));if($clone(x,I.Value).IsNull()){$s=15;continue;}$s=16;continue;case 15:z=c.CondExpr.Range();$s=17;case 17:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=$clone(z,A.Range).Ptr();$s=18;case 18:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Condition is null","The value of the 'if' clause must not be null.",aa,c.SrcRange,c.CondExpr,b));$s=-1;return[I.DynamicVal,d];case 16:ac=L.Convert($clone(x,I.Value),$clone(I.Bool,I.Type));$s=19;case 19:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=ab[1];if(!($interfaceIsEqual(ad,$ifaceNil))){$s=20;continue;}$s=21;continue;case 20:ae=ad.Error();$s=22;case 22:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=new $String(ae);ag=D.Sprintf("The 'if' clause value is invalid: %s.",new EP([af]));$s=23;case 23:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=c.CondExpr.Range();$s=24;case 24:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=$clone(ah,A.Range).Ptr();$s=25;case 25:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid 'for' condition",ag,ai,c.SrcRange,c.CondExpr,b));$s=-1;return[I.DynamicVal,d];case 21:if(y.HasErrors()){$s=-1;return[I.DynamicVal,d];}case 13:if(!($interfaceIsEqual(c.KeyExpr,$ifaceNil))){$s=26;continue;}$s=27;continue;case 26:aj=false;ak=false;if(c.Group){ak=$makeMap($String.keyFor,[]);}else{aj=$makeMap($String.keyFor,[]);}al=$clone(h,I.Value).ElementIterator();$s=29;case 29:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;an=true;case 30:ao=am.Next();$s=32;case 32:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}if(!(ao)){$s=31;continue;}aq=am.Element();$s=33;case 33:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;ar=$clone(ap[0],I.Value);as=$clone(ap[1],I.Value);at=b.NewChild();at.Variables=$makeMap($String.keyFor,[]);if(!(c.KeyVar==="")){au=c.KeyVar;(at.Variables||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(au)]={k:au,v:$clone(ar,I.Value)};}av=c.ValVar;(at.Variables||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(av)]={k:av,v:$clone(as,I.Value)};if(!($interfaceIsEqual(c.CondExpr,$ifaceNil))){$s=34;continue;}$s=35;continue;case 34:ax=c.CondExpr.Value(at);$s=36;case 36:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}aw=ax;ay=$clone(aw[0],I.Value);az=aw[1];d=$appendSlice(d,$convertSliceType(az,EJ));if($clone(ay,I.Value).IsNull()){$s=37;continue;}$s=38;continue;case 37:if(an){$s=39;continue;}$s=40;continue;case 39:ba=c.CondExpr.Range();$s=41;case 41:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=$clone(ba,A.Range).Ptr();$s=42;case 42:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid 'for' condition","The value of the 'if' clause must not be null.",bb,c.SrcRange,c.CondExpr,at));case 40:an=false;$s=30;continue;case 38:bd=L.Convert($clone(ay,I.Value),$clone(I.Bool,I.Type));$s=43;case 43:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}bc=bd;be=$clone(bc[0],I.Value);bf=bc[1];if(!($interfaceIsEqual(bf,$ifaceNil))){$s=44;continue;}$s=45;continue;case 44:if(an){$s=46;continue;}$s=47;continue;case 46:bg=bf.Error();$s=48;case 48:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bh=new $String(bg);bi=D.Sprintf("The 'if' clause value is invalid: %s.",new EP([bh]));$s=49;case 49:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}bj=c.CondExpr.Range();$s=50;case 50:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}bk=$clone(bj,A.Range).Ptr();$s=51;case 51:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid 'for' condition",bi,bk,c.SrcRange,c.CondExpr,at));case 47:an=false;$s=30;continue;case 45:if(!$clone(be,I.Value).IsKnown()){an=false;$s=30;continue;}bl=$clone(be,I.Value).Unmark();bm=$clone(bl[0],I.Value);bn=bl[1];e=$append(e,bn);bo=$clone(bm,I.Value).False();$s=54;case 54:if($c){$c=false;bo=bo.$blk();}if(bo&&bo.$blk!==undefined){break s;}if(bo){$s=52;continue;}$s=53;continue;case 52:$s=30;continue;case 53:case 35:bq=c.KeyExpr.Value(at);$s=55;case 55:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}bp=bq;br=$clone(bp[0],I.Value);bs=bp[1];d=$appendSlice(d,$convertSliceType(bs,EJ));if($clone(br,I.Value).IsNull()){$s=56;continue;}$s=57;continue;case 56:if(an){$s=58;continue;}$s=59;continue;case 58:bt=c.KeyExpr.Range();$s=60;case 60:if($c){$c=false;bt=bt.$blk();}if(bt&&bt.$blk!==undefined){break s;}bu=$clone(bt,A.Range).Ptr();$s=61;case 61:if($c){$c=false;bu=bu.$blk();}if(bu&&bu.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid object key","Key expression in 'for' expression must not produce a null value.",bu,c.SrcRange,c.KeyExpr,at));case 59:an=false;$s=30;continue;case 57:if(!$clone(br,I.Value).IsKnown()){an=false;$s=30;continue;}bw=L.Convert($clone(br,I.Value),$clone(I.String,I.Type));$s=62;case 62:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}bv=bw;bx=$clone(bv[0],I.Value);by=bv[1];if(!($interfaceIsEqual(by,$ifaceNil))){$s=63;continue;}$s=64;continue;case 63:if(an){$s=65;continue;}$s=66;continue;case 65:bz=by.Error();$s=67;case 67:if($c){$c=false;bz=bz.$blk();}if(bz&&bz.$blk!==undefined){break s;}ca=new $String(bz);cb=D.Sprintf("The key expression produced an invalid result: %s.",new EP([ca]));$s=68;case 68:if($c){$c=false;cb=cb.$blk();}if(cb&&cb.$blk!==undefined){break s;}cc=c.KeyExpr.Range();$s=69;case 69:if($c){$c=false;cc=cc.$blk();}if(cc&&cc.$blk!==undefined){break s;}cd=$clone(cc,A.Range).Ptr();$s=70;case 70:if($c){$c=false;cd=cd.$blk();}if(cd&&cd.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid object key",cb,cd,c.SrcRange,c.KeyExpr,at));case 66:an=false;$s=30;continue;case 64:ce=$clone(bx,I.Value).Unmark();bx=$clone(ce[0],I.Value);cf=ce[1];e=$append(e,cf);ch=c.ValExpr.Value(at);$s=71;case 71:if($c){$c=false;ch=ch.$blk();}if(ch&&ch.$blk!==undefined){break s;}cg=ch;ci=$clone(cg[0],I.Value);cj=cg[1];d=$appendSlice(d,$convertSliceType(cj,EJ));if(c.Group){$s=72;continue;}$s=73;continue;case 72:ck=$clone(bx,I.Value).AsString();cl=ck;(ak||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(cl)]={k:cl,v:$append((cm=ak[$String.keyFor(ck)],cm!==undefined?cm.v:GA.nil),ci)};$s=74;continue;case 73:cn=$clone(bx,I.Value).AsString();co=(cp=aj[$String.keyFor(cn)],cp!==undefined?[cp.v,true]:[new I.Value.ptr(new I.Type.ptr($ifaceNil),$ifaceNil),false]);cq=co[1];if(cq){$s=75;continue;}$s=76;continue;case 75:cr=D.Sprintf("Two different items produced the key %q in this 'for' expression. If duplicates are expected, use the ellipsis (...) after the value expression to enable grouping by key.",new EP([new $String(cn)]));$s=78;case 78:if($c){$c=false;cr=cr.$blk();}if(cr&&cr.$blk!==undefined){break s;}cs=c.KeyExpr.Range();$s=79;case 79:if($c){$c=false;cs=cs.$blk();}if(cs&&cs.$blk!==undefined){break s;}ct=$clone(cs,A.Range).Ptr();$s=80;case 80:if($c){$c=false;ct=ct.$blk();}if(ct&&ct.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Duplicate object key",cr,ct,c.SrcRange,c.KeyExpr,at));$s=77;continue;case 76:cu=$clone(bx,I.Value).AsString();(aj||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(cu)]={k:cu,v:$clone(ci,I.Value)};case 77:case 74:$s=30;continue;case 31:if(!an){$s=-1;return[I.DynamicVal,d];}if(c.Group){aj=$makeMap($String.keyFor,[]);cv=ak;cw=0;cx=$keys(cv);while(true){if(!(cw<cx.length)){break;}cy=cv[cx[cw]];if(cy===undefined){cw++;continue;}cz=cy.k;da=cy.v;db=cz;(aj||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(db)]={k:db,v:$clone(I.TupleVal(da),I.Value)};cw++;}}dc=I.ObjectVal(aj);$s=81;case 81:if($c){$c=false;dc=dc.$blk();}if(dc&&dc.$blk!==undefined){break s;}dd=$clone(dc,I.Value).WithMarks(e);$s=82;case 82:if($c){$c=false;dd=dd.$blk();}if(dd&&dd.$blk!==undefined){break s;}de=[dd,d];$s=83;case 83:return de;case 27:df=new GA([]);dg=$clone(h,I.Value).ElementIterator();$s=84;case 84:if($c){$c=false;dg=dg.$blk();}if(dg&&dg.$blk!==undefined){break s;}dh=dg;di=true;case 85:dj=dh.Next();$s=87;case 87:if($c){$c=false;dj=dj.$blk();}if(dj&&dj.$blk!==undefined){break s;}if(!(dj)){$s=86;continue;}dl=dh.Element();$s=88;case 88:if($c){$c=false;dl=dl.$blk();}if(dl&&dl.$blk!==undefined){break s;}dk=dl;dm=$clone(dk[0],I.Value);dn=$clone(dk[1],I.Value);dp=b.NewChild();dp.Variables=$makeMap($String.keyFor,[]);if(!(c.KeyVar==="")){dq=c.KeyVar;(dp.Variables||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(dq)]={k:dq,v:$clone(dm,I.Value)};}dr=c.ValVar;(dp.Variables||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(dr)]={k:dr,v:$clone(dn,I.Value)};if(!($interfaceIsEqual(c.CondExpr,$ifaceNil))){$s=89;continue;}$s=90;continue;case 89:dt=c.CondExpr.Value(dp);$s=91;case 91:if($c){$c=false;dt=dt.$blk();}if(dt&&dt.$blk!==undefined){break s;}ds=dt;du=$clone(ds[0],I.Value);dv=ds[1];d=$appendSlice(d,$convertSliceType(dv,EJ));if($clone(du,I.Value).IsNull()){$s=92;continue;}$s=93;continue;case 92:if(di){$s=94;continue;}$s=95;continue;case 94:dw=c.CondExpr.Range();$s=96;case 96:if($c){$c=false;dw=dw.$blk();}if(dw&&dw.$blk!==undefined){break s;}dx=$clone(dw,A.Range).Ptr();$s=97;case 97:if($c){$c=false;dx=dx.$blk();}if(dx&&dx.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid 'for' condition","The value of the 'if' clause must not be null.",dx,c.SrcRange,c.CondExpr,dp));case 95:di=false;$s=85;continue;case 93:if(!$clone(du,I.Value).IsKnown()){di=false;$s=85;continue;}dz=L.Convert($clone(du,I.Value),$clone(I.Bool,I.Type));$s=98;case 98:if($c){$c=false;dz=dz.$blk();}if(dz&&dz.$blk!==undefined){break s;}dy=dz;ea=$clone(dy[0],I.Value);eb=dy[1];if(!($interfaceIsEqual(eb,$ifaceNil))){$s=99;continue;}$s=100;continue;case 99:if(di){$s=101;continue;}$s=102;continue;case 101:ec=eb.Error();$s=103;case 103:if($c){$c=false;ec=ec.$blk();}if(ec&&ec.$blk!==undefined){break s;}ed=new $String(ec);ee=D.Sprintf("The 'if' clause value is invalid: %s.",new EP([ed]));$s=104;case 104:if($c){$c=false;ee=ee.$blk();}if(ee&&ee.$blk!==undefined){break s;}ef=c.CondExpr.Range();$s=105;case 105:if($c){$c=false;ef=ef.$blk();}if(ef&&ef.$blk!==undefined){break s;}eg=$clone(ef,A.Range).Ptr();$s=106;case 106:if($c){$c=false;eg=eg.$blk();}if(eg&&eg.$blk!==undefined){break s;}d=$append(d,new A.Diagnostic.ptr(1,"Invalid 'for' condition",ee,eg,c.SrcRange,c.CondExpr,dp));case 102:di=false;$s=85;continue;case 100:eh=$clone(ea,I.Value).Unmark();ei=$clone(eh[0],I.Value);ej=eh[1];e=$append(e,ej);ek=$clone(ei,I.Value).False();$s=109;case 109:if($c){$c=false;ek=ek.$blk();}if(ek&&ek.$blk!==undefined){break s;}if(ek){$s=107;continue;}$s=108;continue;case 107:$s=85;continue;case 108:case 90:em=c.ValExpr.Value(dp);$s=110;case 110:if($c){$c=false;em=em.$blk();}if(em&&em.$blk!==undefined){break s;}el=em;en=$clone(el[0],I.Value);eo=el[1];d=$appendSlice(d,$convertSliceType(eo,EJ));df=$append(df,en);$s=85;continue;case 86:if(!di){$s=-1;return[I.DynamicVal,d];}$s=-1;return[$clone(I.TupleVal(df),I.Value).WithMarks(e),d];case 28:$s=-1;return[new I.Value.ptr(new I.Type.ptr($ifaceNil),$ifaceNil),A.Diagnostics.nil];}return;}if($f===undefined){$f={$blk:DW.ptr.prototype.Value};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.c=c;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.cr=cr;$f.cs=cs;$f.ct=ct;$f.cu=cu;$f.cv=cv;$f.cw=cw;$f.cx=cx;$f.cy=cy;$f.cz=cz;$f.d=d;$f.da=da;$f.db=db;$f.dc=dc;$f.dd=dd;$f.de=de;$f.df=df;$f.dg=dg;$f.dh=dh;$f.di=di;$f.dj=dj;$f.dk=dk;$f.dl=dl;$f.dm=dm;$f.dn=dn;$f.dp=dp;$f.dq=dq;$f.dr=dr;$f.ds=ds;$f.dt=dt;$f.du=du;$f.dv=dv;$f.dw=dw;$f.dx=dx;$f.dy=dy;$f.dz=dz;$f.e=e;$f.ea=ea;$f.eb=eb;$f.ec=ec;$f.ed=ed;$f.ee=ee;$f.ef=ef;$f.eg=eg;$f.eh=eh;$f.ei=ei;$f.ej=ej;$f.ek=ek;$f.el=el;$f.em=em;$f.en=en;$f.eo=eo;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DW.prototype.Value=function(b){return this.$val.Value(b);};DW.ptr.prototype.walkChildNodes=function(b){var b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=b(c.CollExpr);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=$makeMap($String.keyFor,[]);if(!(c.KeyVar==="")){e=c.KeyVar;(d||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(e)]={k:e,v:new EL.ptr()};}if(!(c.ValVar==="")){f=c.ValVar;(d||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(f)]={k:f,v:new EL.ptr()};}if(!($interfaceIsEqual(c.KeyExpr,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:$r=b((g=new X.ptr(d,c.KeyExpr),new g.constructor.elem(g)));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:$r=b((h=new X.ptr(d,c.ValExpr),new h.constructor.elem(h)));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(c.CondExpr,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:$r=b((i=new X.ptr(d,c.CondExpr),new i.constructor.elem(i)));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:$s=-1;return;}return;}if($f===undefined){$f={$blk:DW.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};DW.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DW.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};DW.prototype.Range=function(){return this.$val.Range();};DW.ptr.prototype.StartRange=function(){var b;b=this;return b.OpenRange;};DW.prototype.StartRange=function(){return this.$val.StartRange();};DX.ptr.prototype.Value=function(b){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=[c];d=[d];c[0]=this;f=c[0].Source.Value(b[0]);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=$clone(e[0],I.Value);h=e[1];if(h.HasErrors()){$s=2;continue;}$s=3;continue;case 2:j=c[0].Item.Value(b[0]);$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[1];h=$appendSlice(h,$convertSliceType(k,EJ));$s=-1;return[I.DynamicVal,h];case 3:d[0]=$clone($clone(g,I.Value).Type(),I.Type);l=!($clone(d[0],I.Type).IsTupleType()||$clone(d[0],I.Type).IsListType()||$clone(d[0],I.Type).IsSetType());if($clone(g,I.Value).IsNull()){$s=5;continue;}$s=6;continue;case 5:if(l){$s=-1;return[I.EmptyTupleVal,h];}m=c[0].Source.Range();$s=7;case 7:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=$clone(m,A.Range).Ptr();$s=8;case 8:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=c[0].Source.Range();$s=9;case 9:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=A.RangeBetween($clone(o,A.Range),$clone(c[0].MarkerRange,A.Range));$s=10;case 10:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=$clone(p,A.Range).Ptr();$s=11;case 11:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}h=$append(h,new A.Diagnostic.ptr(1,"Splat of null value","Splat expressions (with the * symbol) cannot be applied to null sequences.",n,q,c[0].Source,b[0]));$s=-1;return[I.DynamicVal,h];case 6:if($equal(d[0],I.DynamicPseudoType,I.Type)){$s=-1;return[I.DynamicVal,h];}r=false;if(l){r=!$clone(g,I.Value).IsKnown();I.Value.copy(g,I.TupleVal(new GA([$clone(g,I.Value)])));I.Type.copy(d[0],$clone(g,I.Value).Type());}s=(function(b,c,d){return function $b(){var aa,ab,ac,ad,ae,af,ag,ah,ai,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:s=b[0].NewChild();t=A.Diagnostics.nil;if($clone(d[0],I.Type).IsListType()||$clone(d[0],I.Type).IsSetType()){$s=2;continue;}if($clone(d[0],I.Type).IsTupleType()){$s=3;continue;}$s=4;continue;case 2:u=$clone(d[0],I.Type).ElementType();$s=6;case 6:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=$clone(u,I.Type);$r=c[0].Item.setValue(s,$clone(I.UnknownVal($clone(v,I.Type)),I.Value));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}x=c[0].Each.Value(s);$s=8;case 8:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;y=$clone(w[0],I.Value);z=w[1];t=$appendSlice(t,$convertSliceType(z,EJ));$r=c[0].Item.clearValue(s);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[I.List($clone($clone(y,I.Value).Type(),I.Type)),t];case 3:aa=$clone(d[0],I.Type).TupleElementTypes();ab=$makeSlice(GE,0,aa.$length);ac=aa;ad=0;case 10:if(!(ad<ac.$length)){$s=11;continue;}ae=$clone(((ad<0||ad>=ac.$length)?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+ad]),I.Type);$r=c[0].Item.setValue(s,$clone(I.UnknownVal($clone(ae,I.Type)),I.Value));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ag=c[0].Each.Value(s);$s=13;case 13:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;ah=$clone(af[0],I.Value);ai=af[1];t=$appendSlice(t,$convertSliceType(ai,EJ));$r=c[0].Item.clearValue(s);$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ab=$append(ab,$clone(ah,I.Value).Type());ad++;$s=10;continue;case 11:$s=-1;return[I.Tuple(ab),t];case 4:$s=-1;return[I.DynamicPseudoType,t];case 5:case 1:$s=-1;return[new I.Type.ptr($ifaceNil),A.Diagnostics.nil];}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};})(b,c,d);if(!$clone(g,I.Value).IsKnown()){$s=12;continue;}$s=13;continue;case 12:u=s();$s=14;case 14:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=$clone(t[0],I.Type);w=t[1];h=$appendSlice(h,$convertSliceType(w,EJ));$s=-1;return[I.UnknownVal($clone(v,I.Type)),h];case 13:x=$clone(g,I.Value).Unmark();g=$clone(x[0],I.Value);y=x[1];z=$makeSlice(GA,0,$clone(g,I.Value).LengthInt());aa=$clone(g,I.Value).ElementIterator();$s=15;case 15:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;if(b[0]===ER.nil){b[0]=b[0].NewChild();}ac=true;case 16:ad=ab.Next();$s=18;case 18:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}if(!(ad)){$s=17;continue;}af=ab.Element();$s=19;case 19:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;ag=$clone(ae[1],I.Value);$r=c[0].Item.setValue(b[0],$clone(ag,I.Value));$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ai=c[0].Each.Value(b[0]);$s=21;case 21:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;aj=$clone(ah[0],I.Value);ak=ah[1];h=$appendSlice(h,$convertSliceType(ak,EJ));if(ak.HasErrors()){ac=false;}z=$append(z,aj);$s=16;continue;case 17:$r=c[0].Item.clearValue(b[0]);$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(r){$s=-1;return[I.DynamicVal,h];}if(!ac){$s=23;continue;}$s=24;continue;case 23:am=s();$s=25;case 25:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}al=am;an=$clone(al[0],I.Type);$s=-1;return[I.UnknownVal($clone(an,I.Type)),h];case 24:if($clone(d[0],I.Type).IsListType()||$clone(d[0],I.Type).IsSetType()){$s=27;continue;}$s=28;continue;case 27:if(z.$length===0){$s=30;continue;}$s=31;continue;case 30:ap=s();$s=32;case 32:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;aq=$clone(ao[0],I.Type);ar=ao[1];h=$appendSlice(h,$convertSliceType(ar,EJ));as=$clone(aq,I.Type).ElementType();$s=33;case 33:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=I.ListValEmpty($clone(as,I.Type));$s=34;case 34:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=[at,h];$s=35;case 35:return au;case 31:av=I.ListVal(z);$s=36;case 36:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=$clone(av,I.Value).WithMarks(new FZ([y]));$s=37;case 37:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=[aw,h];$s=38;case 38:return ax;case 28:$s=-1;return[$clone(I.TupleVal(z),I.Value).WithMarks(new FZ([y])),h];case 29:case 26:$s=-1;return[new I.Value.ptr(new I.Type.ptr($ifaceNil),$ifaceNil),A.Diagnostics.nil];}return;}if($f===undefined){$f={$blk:DX.ptr.prototype.Value};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DX.prototype.Value=function(b){return this.$val.Value(b);};DX.ptr.prototype.walkChildNodes=function(b){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=b(c.Source);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b(c.Each);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:DX.ptr.prototype.walkChildNodes};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};DX.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DX.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};DX.prototype.Range=function(){return this.$val.Range();};DX.ptr.prototype.StartRange=function(){var b;b=this;return b.MarkerRange;};DX.prototype.StartRange=function(){return this.$val.StartRange();};DY.ptr.prototype.Value=function(b){var b,c,d,e,f,g,h,i,j,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=this;if(b===ER.nil){$s=1;continue;}$s=2;continue;case 1:d=[I.DynamicVal,A.Diagnostics.nil];$s=3;case 3:return d;case 2:$r=c.valuesLock.RLock();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(c.valuesLock,"RUnlock"),[]]);e=(f=c.values[ER.keyFor(b)],f!==undefined?[f.v,true]:[new I.Value.ptr(new I.Type.ptr($ifaceNil),$ifaceNil),false]);g=$clone(e[0],I.Value);h=e[1];if(!h){$s=5;continue;}$s=6;continue;case 5:i=[I.DynamicVal,A.Diagnostics.nil];$s=7;case 7:return i;case 6:j=[g,A.Diagnostics.nil];$s=8;case 8:return j;}return;}}catch(err){$err=err;$s=-1;return[new I.Value.ptr(new I.Type.ptr($ifaceNil),$ifaceNil),A.Diagnostics.nil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:DY.ptr.prototype.Value};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};DY.prototype.Value=function(b){return this.$val.Value(b);};DY.ptr.prototype.setValue=function(b,c){var b,c,d,e,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);d=this;$r=d.valuesLock.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(d.valuesLock,"Unlock"),[]]);if(d.values===false){d.values={};}if(b===ER.nil){$panic(new $String("can't setValue for a nil EvalContext"));}e=b;(d.values||$throwRuntimeError("assignment to entry in nil map"))[ER.keyFor(e)]={k:e,v:$clone(c,I.Value)};$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:DY.ptr.prototype.setValue};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};DY.prototype.setValue=function(b,c){return this.$val.setValue(b,c);};DY.ptr.prototype.clearValue=function(b){var b,c,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=this;$r=c.valuesLock.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(c.valuesLock,"Unlock"),[]]);if(c.values===false){$s=2;continue;}$s=3;continue;case 2:$s=4;case 4:return;case 3:if(b===ER.nil){$panic(new $String("can't clearValue for a nil EvalContext"));}delete c.values[ER.keyFor(b)];$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:DY.ptr.prototype.clearValue};}$f.b=b;$f.c=c;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};DY.prototype.clearValue=function(b){return this.$val.clearValue(b);};DY.ptr.prototype.walkChildNodes=function(b){var b,c;c=this;};DY.prototype.walkChildNodes=function(b){return this.$val.walkChildNodes(b);};DY.ptr.prototype.Range=function(){var b;b=this;return b.SrcRange;};DY.prototype.Range=function(){return this.$val.Range();};DY.ptr.prototype.StartRange=function(){var b;b=this;return b.SrcRange;};DY.prototype.StartRange=function(){return this.$val.StartRange();};DZ=function(b,c){var b,c,d,e,f,g;d=c;e=0;while(true){if(!(e<d.$length)){break;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);g=Q.Distance(b,f,GG.nil);if(g<3){return f;}e++;}return"";};EA=function(b,c,d){var b,c,d,e,f,g;e=b;f=0;while(true){if(!(f<e.$length)){break;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if($interfaceIsEqual(g.Expression,$ifaceNil)){g.Expression=c;g.EvalContext=d;}f++;}};GH.methods=[{prop:"Enter",name:"Enter",pkg:"",typ:$funcType([CQ],[A.Diagnostics],false)},{prop:"Exit",name:"Exit",pkg:"",typ:$funcType([CQ],[A.Diagnostics],false)}];X.methods=[{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)}];AB.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];GJ.methods=[{prop:"emitToken",name:"emitToken",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([AB,$Int,$Int],[],false)}];EV.methods=[{prop:"BlocksAtPos",name:"BlocksAtPos",pkg:"",typ:$funcType([A.Pos],[ET],false)},{prop:"InnermostBlockAtPos",name:"InnermostBlockAtPos",pkg:"",typ:$funcType([A.Pos],[ES],false)},{prop:"OutermostBlockAtPos",name:"OutermostBlockAtPos",pkg:"",typ:$funcType([A.Pos],[ES],false)},{prop:"blocksAtPos",name:"blocksAtPos",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([A.Pos,$Bool],[ET,EU],false)},{prop:"outermostBlockAtPos",name:"outermostBlockAtPos",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([A.Pos],[EU],false)},{prop:"AttributeAtPos",name:"AttributeAtPos",pkg:"",typ:$funcType([A.Pos],[EZ],false)},{prop:"attributeAtPos",name:"attributeAtPos",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([A.Pos],[EW],false)},{prop:"OutermostExprAtPos",name:"OutermostExprAtPos",pkg:"",typ:$funcType([A.Pos],[A.Expression],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"Content",name:"Content",pkg:"",typ:$funcType([GK],[GL,A.Diagnostics],false)},{prop:"PartialContent",name:"PartialContent",pkg:"",typ:$funcType([GK],[GL,A.Body,A.Diagnostics],false)},{prop:"JustAttributes",name:"JustAttributes",pkg:"",typ:$funcType([],[A.Attributes,A.Diagnostics],false)},{prop:"MissingItemRange",name:"MissingItemRange",pkg:"",typ:$funcType([],[A.Range],false)}];AL.methods=[{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)}];EW.methods=[{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"AsHCLAttribute",name:"AsHCLAttribute",pkg:"",typ:$funcType([],[EZ],false)}];AN.methods=[{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)}];EU.methods=[{prop:"AsHCLBlock",name:"AsHCLBlock",pkg:"",typ:$funcType([],[ES],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"DefRange",name:"DefRange",pkg:"",typ:$funcType([],[A.Range],false)}];FE.methods=[{prop:"Peek",name:"Peek",pkg:"",typ:$funcType([],[Z],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([],[Z],false)},{prop:"NextRange",name:"NextRange",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"PrevRange",name:"PrevRange",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"nextToken",name:"nextToken",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[Z,$Int],false)},{prop:"includingNewlines",name:"includingNewlines",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[$Bool],false)},{prop:"PushIncludeNewlines",name:"PushIncludeNewlines",pkg:"",typ:$funcType([$Bool],[],false)},{prop:"PopIncludeNewlines",name:"PopIncludeNewlines",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"AssertEmptyIncludeNewlinesStack",name:"AssertEmptyIncludeNewlinesStack",pkg:"",typ:$funcType([],[],false)}];GN.methods=[{prop:"parseRoot",name:"parseRoot",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[FI,A.Diagnostics],false)},{prop:"parseExpr",name:"parseExpr",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[DJ,A.Diagnostics],false)},{prop:"parseIf",name:"parseIf",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[DJ,A.Diagnostics],false)},{prop:"parseFor",name:"parseFor",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[DJ,A.Diagnostics],false)},{prop:"Peek",name:"Peek",pkg:"",typ:$funcType([],[CD],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([],[CD],false)}];FP.methods=[{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)}];CL.methods=[{prop:"templateToken",name:"templateToken",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[CD],false)}];GP.methods=[{prop:"ParseTraversalAbs",name:"ParseTraversalAbs",pkg:"",typ:$funcType([],[A.Traversal,A.Diagnostics],false)},{prop:"ParseTemplate",name:"ParseTemplate",pkg:"",typ:$funcType([],[DJ,A.Diagnostics],false)},{prop:"parseTemplate",name:"parseTemplate",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([AB,$Bool],[DJ,A.Diagnostics],false)},{prop:"parseTemplateInner",name:"parseTemplateInner",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([AB,$Bool],[FI,$Bool,A.Range,A.Diagnostics],false)},{prop:"parseTemplateParts",name:"parseTemplateParts",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([AB],[GO,A.Diagnostics],false)},{prop:"ParseBody",name:"ParseBody",pkg:"",typ:$funcType([AB],[EV,A.Diagnostics],false)},{prop:"ParseBodyItem",name:"ParseBodyItem",pkg:"",typ:$funcType([],[CQ,A.Diagnostics],false)},{prop:"parseSingleAttrBody",name:"parseSingleAttrBody",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([AB],[EV,A.Diagnostics],false)},{prop:"finishParsingBodyAttribute",name:"finishParsingBodyAttribute",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([Z,$Bool],[CQ,A.Diagnostics],false)},{prop:"finishParsingBodyBlock",name:"finishParsingBodyBlock",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([Z],[CQ,A.Diagnostics],false)},{prop:"ParseExpression",name:"ParseExpression",pkg:"",typ:$funcType([],[DJ,A.Diagnostics],false)},{prop:"parseTernaryConditional",name:"parseTernaryConditional",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[DJ,A.Diagnostics],false)},{prop:"parseBinaryOps",name:"parseBinaryOps",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([ED],[DJ,A.Diagnostics],false)},{prop:"parseExpressionWithTraversals",name:"parseExpressionWithTraversals",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[DJ,A.Diagnostics],false)},{prop:"parseExpressionTraversals",name:"parseExpressionTraversals",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([DJ],[DJ,A.Diagnostics],false)},{prop:"parseExpressionTerm",name:"parseExpressionTerm",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[DJ,A.Diagnostics],false)},{prop:"numberLitValue",name:"numberLitValue",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([Z],[I.Value,A.Diagnostics],false)},{prop:"finishParsingFunctionCall",name:"finishParsingFunctionCall",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([Z],[DJ,A.Diagnostics],false)},{prop:"parseTupleCons",name:"parseTupleCons",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[DJ,A.Diagnostics],false)},{prop:"parseObjectCons",name:"parseObjectCons",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[DJ,A.Diagnostics],false)},{prop:"finishParsingForExpr",name:"finishParsingForExpr",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([Z],[DJ,A.Diagnostics],false)},{prop:"parseQuotedStringLiteral",name:"parseQuotedStringLiteral",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[$String,A.Range,A.Diagnostics],false)},{prop:"setRecovery",name:"setRecovery",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[],false)},{prop:"recover",name:"recover",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([AB],[Z],false)},{prop:"recoverOver",name:"recoverOver",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([AB],[],false)},{prop:"recoverAfterBodyItem",name:"recoverAfterBodyItem",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[],false)},{prop:"oppositeBracket",name:"oppositeBracket",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([AB],[AB],false)}];CS.methods=[{prop:"ContextString",name:"ContextString",pkg:"",typ:$funcType([$Int],[$String],false)},{prop:"ContextDefRange",name:"ContextDefRange",pkg:"",typ:$funcType([$Int],[A.Range],false)}];CT.methods=[{prop:"TokenMatches",name:"TokenMatches",pkg:"",typ:$funcType([Z],[$Bool],false)}];FV.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"IsStringLiteral",name:"IsStringLiteral",pkg:"",typ:$funcType([],[$Bool],false)}];GS.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)}];GT.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)}];GU.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)}];GV.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)}];EH.methods=[{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)}];FU.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"AsTraversal",name:"AsTraversal",pkg:"",typ:$funcType([],[A.Traversal],false)}];EO.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"AsTraversal",name:"AsTraversal",pkg:"",typ:$funcType([],[A.Traversal],false)}];FW.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"AsTraversal",name:"AsTraversal",pkg:"",typ:$funcType([],[A.Traversal],false)}];GX.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"ExprCall",name:"ExprCall",pkg:"",typ:$funcType([],[GW],false)}];GY.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)}];GZ.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)}];HA.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"ExprList",name:"ExprList",pkg:"",typ:$funcType([],[GC],false)}];HB.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"ExprMap",name:"ExprMap",pkg:"",typ:$funcType([],[GF],false)}];HC.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"literalName",name:"literalName",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[$String],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"AsTraversal",name:"AsTraversal",pkg:"",typ:$funcType([],[A.Traversal],false)},{prop:"UnwrapExpression",name:"UnwrapExpression",pkg:"",typ:$funcType([],[DJ],false)}];HD.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)}];HE.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)}];FT.methods=[{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"setValue",name:"setValue",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([ER,I.Value],[],false)},{prop:"clearValue",name:"clearValue",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([ER],[],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)},{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)}];W.init("github.com/hashicorp/hcl/v2/hclsyntax",[{prop:"Callback",name:"Callback",embedded:false,exported:true,typ:GI,tag:""},{prop:"localScopes",name:"localScopes",embedded:false,exported:false,typ:EN,tag:""}]);X.init("",[{prop:"LocalNames",name:"LocalNames",embedded:false,exported:true,typ:EM,tag:""},{prop:"Expr",name:"Expr",embedded:false,exported:true,typ:DJ,tag:""}]);Z.init("",[{prop:"Type",name:"Type",embedded:false,exported:true,typ:AB,tag:""},{prop:"Bytes",name:"Bytes",embedded:false,exported:true,typ:EE,tag:""},{prop:"Range",name:"Range",embedded:false,exported:true,typ:A.Range,tag:""}]);AA.init(Z);AD.init("",[{prop:"Filename",name:"Filename",embedded:false,exported:true,typ:$String,tag:""},{prop:"Bytes",name:"Bytes",embedded:false,exported:true,typ:EE,tag:""},{prop:"Pos",name:"Pos",embedded:false,exported:true,typ:A.Pos,tag:""},{prop:"Tokens",name:"Tokens",embedded:false,exported:true,typ:FA,tag:""},{prop:"StartByte",name:"StartByte",embedded:false,exported:true,typ:$Int,tag:""}]);AE.init("",[{prop:"Marker",name:"Marker",embedded:false,exported:true,typ:EE,tag:""},{prop:"StartOfLine",name:"StartOfLine",embedded:false,exported:true,typ:$Bool,tag:""}]);AJ.init("github.com/hashicorp/hcl/v2/hclsyntax",[{prop:"Attributes",name:"Attributes",embedded:false,exported:true,typ:AL,tag:""},{prop:"Blocks",name:"Blocks",embedded:false,exported:true,typ:AN,tag:""},{prop:"hiddenAttrs",name:"hiddenAttrs",embedded:false,exported:false,typ:EM,tag:""},{prop:"hiddenBlocks",name:"hiddenBlocks",embedded:false,exported:false,typ:EM,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"EndRange",name:"EndRange",embedded:false,exported:true,typ:A.Range,tag:""}]);AL.init($String,EW);AM.init("",[{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"Expr",name:"Expr",embedded:false,exported:true,typ:DJ,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"NameRange",name:"NameRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"EqualsRange",name:"EqualsRange",embedded:false,exported:true,typ:A.Range,tag:""}]);AN.init(EU);AO.init("",[{prop:"Type",name:"Type",embedded:false,exported:true,typ:$String,tag:""},{prop:"Labels",name:"Labels",embedded:false,exported:true,typ:EX,tag:""},{prop:"Body",name:"Body",embedded:false,exported:true,typ:EV,tag:""},{prop:"TypeRange",name:"TypeRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"LabelRanges",name:"LabelRanges",embedded:false,exported:true,typ:EY,tag:""},{prop:"OpenBraceRange",name:"OpenBraceRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"CloseBraceRange",name:"CloseBraceRange",embedded:false,exported:true,typ:A.Range,tag:""}]);BW.init("github.com/hashicorp/hcl/v2/hclsyntax",[{prop:"Tokens",name:"Tokens",embedded:false,exported:true,typ:AA,tag:""},{prop:"NextIndex",name:"NextIndex",embedded:false,exported:true,typ:$Int,tag:""},{prop:"IncludeComments",name:"IncludeComments",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"IncludeNewlinesStack",name:"IncludeNewlinesStack",embedded:false,exported:true,typ:FF,tag:""},{prop:"newlineStackChanges",name:"newlineStackChanges",embedded:false,exported:false,typ:FG,tag:""}]);BX.init("",[{prop:"Pushing",name:"Pushing",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"Frame",name:"Frame",embedded:false,exported:true,typ:H.Frame,tag:""},{prop:"Include",name:"Include",embedded:false,exported:true,typ:$Bool,tag:""}]);CA.init("github.com/hashicorp/hcl/v2/hclsyntax",[{prop:"Tokens",name:"Tokens",embedded:false,exported:true,typ:FJ,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"pos",name:"pos",embedded:false,exported:false,typ:$Int,tag:""}]);CC.init("",[{prop:"Tokens",name:"Tokens",embedded:false,exported:true,typ:FJ,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""}]);CD.init([{prop:"templateToken",name:"templateToken",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([],[CD],false)}]);CE.init("github.com/hashicorp/hcl/v2/hclsyntax",[{prop:"Val",name:"Val",embedded:false,exported:true,typ:$String,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"isTemplateToken",name:"isTemplateToken",embedded:true,exported:false,typ:CL,tag:""}]);CF.init("github.com/hashicorp/hcl/v2/hclsyntax",[{prop:"Expr",name:"Expr",embedded:false,exported:true,typ:DJ,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"isTemplateToken",name:"isTemplateToken",embedded:true,exported:false,typ:CL,tag:""}]);CG.init("github.com/hashicorp/hcl/v2/hclsyntax",[{prop:"CondExpr",name:"CondExpr",embedded:false,exported:true,typ:DJ,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"isTemplateToken",name:"isTemplateToken",embedded:true,exported:false,typ:CL,tag:""}]);CH.init("github.com/hashicorp/hcl/v2/hclsyntax",[{prop:"KeyVar",name:"KeyVar",embedded:false,exported:true,typ:$String,tag:""},{prop:"ValVar",name:"ValVar",embedded:false,exported:true,typ:$String,tag:""},{prop:"CollExpr",name:"CollExpr",embedded:false,exported:true,typ:DJ,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"isTemplateToken",name:"isTemplateToken",embedded:true,exported:false,typ:CL,tag:""}]);CJ.init("github.com/hashicorp/hcl/v2/hclsyntax",[{prop:"Type",name:"Type",embedded:false,exported:true,typ:CI,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"isTemplateToken",name:"isTemplateToken",embedded:true,exported:false,typ:CL,tag:""}]);CK.init("github.com/hashicorp/hcl/v2/hclsyntax",[{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"isTemplateToken",name:"isTemplateToken",embedded:true,exported:false,typ:CL,tag:""}]);CL.init($Int,0);CM.init("github.com/hashicorp/hcl/v2/hclsyntax",[{prop:"peeker",name:"peeker",embedded:true,exported:false,typ:FE,tag:""},{prop:"recovery",name:"recovery",embedded:false,exported:false,typ:$Bool,tag:""}]);CQ.init([{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)}]);CR.init([CQ],[],false);CS.init("github.com/hashicorp/hcl/v2/hclsyntax",[{prop:"root",name:"root",embedded:false,exported:false,typ:EV,tag:""}]);CT.init($Uint8);DB.init("",[{prop:"Parts",name:"Parts",embedded:false,exported:true,typ:FI,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""}]);DC.init("",[{prop:"Tuple",name:"Tuple",embedded:false,exported:true,typ:DJ,tag:""}]);DD.init("",[{prop:"Wrapped",name:"Wrapped",embedded:false,exported:true,typ:DJ,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""}]);DE.init("",[{prop:"Impl",name:"Impl",embedded:false,exported:true,typ:M.Function,tag:""},{prop:"Type",name:"Type",embedded:false,exported:true,typ:I.Type,tag:""}]);DH.init("",[{prop:"LHS",name:"LHS",embedded:false,exported:true,typ:DJ,tag:""},{prop:"Op",name:"Op",embedded:false,exported:true,typ:EB,tag:""},{prop:"RHS",name:"RHS",embedded:false,exported:true,typ:DJ,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""}]);DI.init("",[{prop:"Op",name:"Op",embedded:false,exported:true,typ:EB,tag:""},{prop:"Val",name:"Val",embedded:false,exported:true,typ:DJ,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"SymbolRange",name:"SymbolRange",embedded:false,exported:true,typ:A.Range,tag:""}]);DJ.init([{prop:"Range",name:"Range",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"StartRange",name:"StartRange",pkg:"",typ:$funcType([],[A.Range],false)},{prop:"Value",name:"Value",pkg:"",typ:$funcType([ER],[I.Value,A.Diagnostics],false)},{prop:"Variables",name:"Variables",pkg:"",typ:$funcType([],[EK],false)},{prop:"walkChildNodes",name:"walkChildNodes",pkg:"github.com/hashicorp/hcl/v2/hclsyntax",typ:$funcType([CR],[],false)}]);DL.init("",[{prop:"Expression",name:"Expression",embedded:true,exported:true,typ:DJ,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""}]);DM.init("",[{prop:"Val",name:"Val",embedded:false,exported:true,typ:I.Value,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""}]);DN.init("",[{prop:"Traversal",name:"Traversal",embedded:false,exported:true,typ:A.Traversal,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""}]);DO.init("",[{prop:"Source",name:"Source",embedded:false,exported:true,typ:DJ,tag:""},{prop:"Traversal",name:"Traversal",embedded:false,exported:true,typ:A.Traversal,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""}]);DP.init("",[{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"Args",name:"Args",embedded:false,exported:true,typ:FI,tag:""},{prop:"ExpandFinal",name:"ExpandFinal",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"NameRange",name:"NameRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"OpenParenRange",name:"OpenParenRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"CloseParenRange",name:"CloseParenRange",embedded:false,exported:true,typ:A.Range,tag:""}]);DQ.init("",[{prop:"Condition",name:"Condition",embedded:false,exported:true,typ:DJ,tag:""},{prop:"TrueResult",name:"TrueResult",embedded:false,exported:true,typ:DJ,tag:""},{prop:"FalseResult",name:"FalseResult",embedded:false,exported:true,typ:DJ,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""}]);DR.init("",[{prop:"Collection",name:"Collection",embedded:false,exported:true,typ:DJ,tag:""},{prop:"Key",name:"Key",embedded:false,exported:true,typ:DJ,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"OpenRange",name:"OpenRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"BracketRange",name:"BracketRange",embedded:false,exported:true,typ:A.Range,tag:""}]);DS.init("",[{prop:"Exprs",name:"Exprs",embedded:false,exported:true,typ:FI,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"OpenRange",name:"OpenRange",embedded:false,exported:true,typ:A.Range,tag:""}]);DT.init("",[{prop:"Items",name:"Items",embedded:false,exported:true,typ:FX,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"OpenRange",name:"OpenRange",embedded:false,exported:true,typ:A.Range,tag:""}]);DU.init("",[{prop:"KeyExpr",name:"KeyExpr",embedded:false,exported:true,typ:DJ,tag:""},{prop:"ValueExpr",name:"ValueExpr",embedded:false,exported:true,typ:DJ,tag:""}]);DV.init("",[{prop:"Wrapped",name:"Wrapped",embedded:false,exported:true,typ:DJ,tag:""},{prop:"ForceNonLiteral",name:"ForceNonLiteral",embedded:false,exported:true,typ:$Bool,tag:""}]);DW.init("",[{prop:"KeyVar",name:"KeyVar",embedded:false,exported:true,typ:$String,tag:""},{prop:"ValVar",name:"ValVar",embedded:false,exported:true,typ:$String,tag:""},{prop:"CollExpr",name:"CollExpr",embedded:false,exported:true,typ:DJ,tag:""},{prop:"KeyExpr",name:"KeyExpr",embedded:false,exported:true,typ:DJ,tag:""},{prop:"ValExpr",name:"ValExpr",embedded:false,exported:true,typ:DJ,tag:""},{prop:"CondExpr",name:"CondExpr",embedded:false,exported:true,typ:DJ,tag:""},{prop:"Group",name:"Group",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"OpenRange",name:"OpenRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"CloseRange",name:"CloseRange",embedded:false,exported:true,typ:A.Range,tag:""}]);DX.init("",[{prop:"Source",name:"Source",embedded:false,exported:true,typ:DJ,tag:""},{prop:"Each",name:"Each",embedded:false,exported:true,typ:DJ,tag:""},{prop:"Item",name:"Item",embedded:false,exported:true,typ:FT,tag:""},{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"MarkerRange",name:"MarkerRange",embedded:false,exported:true,typ:A.Range,tag:""}]);DY.init("github.com/hashicorp/hcl/v2/hclsyntax",[{prop:"SrcRange",name:"SrcRange",embedded:false,exported:true,typ:A.Range,tag:""},{prop:"values",name:"values",embedded:false,exported:false,typ:HF,tag:""},{prop:"valuesLock",name:"valuesLock",embedded:false,exported:false,typ:O.RWMutex,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=Q.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=P.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=N.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=O.$init();$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}DF=ED.nil;Y=$makeMap(AB.keyFor,[{k:0,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",0,8)},{k:10,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",8,20)},{k:33,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",20,29)},{k:37,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",29,41)},{k:38,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",41,56)},{k:39,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",56,71)},{k:40,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",71,82)},{k:41,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",82,93)},{k:42,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",93,102)},{k:43,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",102,111)},{k:44,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",111,121)},{k:45,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",121,131)},{k:46,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",131,139)},{k:47,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",139,149)},{k:58,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",149,159)},{k:59,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",159,173)},{k:60,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",173,186)},{k:61,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",186,196)},{k:62,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",196,212)},{k:63,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",212,225)},{k:67,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",225,237)},{k:72,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",237,250)},{k:73,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",250,260)},{k:78,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",260,274)},{k:81,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",274,288)},{k:83,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",288,302)},{k:91,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",302,313)},{k:93,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",313,324)},{k:94,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",324,339)},{k:96,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",339,352)},{k:104,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",352,365)},{k:123,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",365,376)},{k:124,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",376,390)},{k:125,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",390,401)},{k:126,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",401,416)},{k:171,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",416,427)},{k:187,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",427,438)},{k:955,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",438,458)},{k:8230,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",458,471)},{k:8658,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",471,484)},{k:8718,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",484,503)},{k:8743,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",503,511)},{k:8744,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",511,518)},{k:8747,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",518,537)},{k:8788,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",537,549)},{k:8800,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",549,562)},{k:8804,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",562,577)},{k:8805,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",577,595)},{k:9220,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",595,603)},{k:9225,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",603,612)},{k:9252,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",612,630)},{k:10138,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",630,643)},{k:65533,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",643,655)},{k:128169,v:$substring("TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8",655,667)}]);AH=new EE([239,187,191]);AP=new EE([0,1,0,1,1,1,3,1,4,1,7,1,8,1,9,1,10,1,11,1,12,1,13,1,14,1,15,1,16,1,17,1,18,1,19,1,20,1,23,1,24,1,25,1,26,1,27,1,28,1,29,1,30,1,31,1,32,1,35,1,36,1,37,1,38,1,39,1,40,1,41,1,42,1,43,1,44,1,47,1,48,1,49,1,50,1,51,1,52,1,53,1,56,1,57,1,58,1,59,1,60,1,61,1,62,1,63,1,64,1,65,1,66,1,67,1,68,1,69,1,70,1,71,1,72,1,73,1,74,1,75,1,76,1,77,1,78,1,79,1,80,1,81,1,82,1,83,1,84,1,85,2,0,14,2,0,25,2,0,29,2,0,37,2,0,41,2,1,2,2,4,5,2,4,6,2,4,21,2,4,22,2,4,33,2,4,34,2,4,45,2,4,46,2,4,54,2,4,55]);AQ=new EF([0,0,1,2,4,9,13,15,57,98,144,145,149,155,155,157,159,168,174,181,182,185,186,190,195,204,208,212,220,222,224,226,229,261,263,265,269,273,276,287,300,319,332,348,360,376,391,412,422,434,445,459,474,484,496,505,517,519,523,544,553,563,569,575,576,625,627,631,633,639,646,654,661,664,670,674,678,680,684,688,692,698,706,714,720,722,726,728,734,738,742,746,750,755,762,768,770,772,776,778,784,788,792,802,807,821,836,838,846,848,853,867,872,874,878,879,883,889,895,905,915,926,934,937,940,944,948,950,953,953,956,958,988,990,992,996,1001,1005,1010,1012,1014,1016,1025,1029,1033,1039,1041,1049,1057,1069,1072,1078,1082,1084,1088,1108,1110,1112,1123,1129,1131,1133,1135,1139,1145,1151,1153,1158,1162,1164,1172,1190,1230,1240,1244,1246,1248,1249,1253,1257,1261,1265,1269,1274,1278,1282,1286,1288,1290,1294,1304,1308,1310,1314,1318,1322,1335,1337,1339,1343,1345,1349,1351,1353,1383,1387,1391,1395,1398,1405,1410,1421,1425,1441,1455,1459,1464,1468,1472,1478,1480,1486,1488,1492,1494,1500,1505,1510,1520,1522,1524,1528,1532,1534,1547,1549,1553,1557,1565,1567,1571,1573,1574,1577,1582,1584,1586,1590,1592,1596,1602,1622,1628,1634,1636,1637,1647,1648,1656,1663,1665,1668,1670,1672,1674,1679,1683,1687,1692,1702,1712,1716,1720,1734,1760,1770,1772,1774,1777,1779,1782,1784,1788,1790,1791,1795,1797,1800,1807,1815,1817,1819,1823,1825,1831,1842,1845,1847,1851,1856,1886,1891,1893,1896,1901,1915,1922,1936,1941,1954,1958,1971,1976,1994,1995,2004,2008,2020,2025,2032,2039,2046,2048,2052,2074,2079,2080,2084,2086,2136,2139,2150,2154,2156,2162,2168,2170,2175,2177,2181,2183,2184,2186,2188,2194,2196,2198,2202,2208,2221,2223,2229,2233,2241,2252,2260,2263,2293,2299,2302,2307,2309,2313,2317,2321,2323,2330,2332,2341,2348,2356,2358,2378,2390,2394,2396,2414,2453,2455,2459,2461,2468,2472,2500,2502,2504,2506,2508,2511,2513,2517,2521,2523,2526,2528,2530,2533,2535,2537,2538,2540,2542,2546,2550,2553,2566,2568,2574,2578,2580,2584,2588,2602,2605,2614,2616,2620,2626,2626,2628,2630,2639,2645,2652,2653,2656,2657,2661,2666,2675,2679,2683,2691,2693,2695,2697,2700,2732,2734,2736,2740,2744,2747,2758,2771,2790,2803,2819,2831,2847,2862,2883,2893,2905,2916,2930,2945,2955,2967,2976,2988,2990,2994,3015,3024,3034,3040,3046,3047,3096,3098,3102,3104,3110,3117,3125,3132,3135,3141,3145,3149,3151,3155,3159,3163,3169,3177,3185,3191,3193,3197,3199,3205,3209,3213,3217,3221,3226,3233,3239,3241,3243,3247,3249,3255,3259,3263,3273,3278,3292,3307,3309,3317,3319,3324,3338,3343,3345,3349,3350,3354,3360,3366,3376,3386,3397,3405,3408,3411,3415,3419,3421,3424,3424,3427,3429,3459,3461,3463,3467,3472,3476,3481,3483,3485,3487,3496,3500,3504,3510,3512,3520,3528,3540,3543,3549,3553,3555,3559,3579,3581,3583,3594,3600,3602,3604,3606,3610,3616,3622,3624,3629,3633,3635,3643,3661,3701,3711,3715,3717,3719,3720,3724,3728,3732,3736,3740,3745,3749,3753,3757,3759,3761,3765,3775,3779,3781,3785,3789,3793,3806,3808,3810,3814,3816,3820,3822,3824,3854,3858,3862,3866,3869,3876,3881,3892,3896,3912,3926,3930,3935,3939,3943,3949,3951,3957,3959,3963,3965,3971,3976,3981,3991,3993,3995,3999,4003,4005,4018,4020,4024,4028,4036,4038,4042,4044,4045,4048,4053,4055,4057,4061,4063,4067,4073,4093,4099,4105,4107,4108,4118,4119,4127,4134,4136,4139,4141,4143,4145,4150,4154,4158,4163,4173,4183,4187,4191,4205,4231,4241,4243,4245,4248,4250,4253,4255,4259,4261,4262,4266,4268,4270,4277,4281,4288,4295,4304,4320,4332,4350,4361,4373,4381,4399,4407,4437,4440,4450,4460,4472,4483,4492,4505,4517,4521,4527,4554,4563,4566,4571,4577,4582,4603,4607,4613,4613,4620,4629,4637,4640,4644,4650,4656,4659,4663,4670,4676,4685,4694,4698,4702,4706,4710,4717,4721,4725,4735,4741,4745,4751,4755,4758,4764,4770,4782,4786,4790,4800,4804,4815,4817,4819,4823,4835,4840,4864,4868,4874,4896,4905,4909,4912,4913,4921,4929,4935,4945,4952,4970,4973,4976,4984,4990,4994,4998,5002,5008,5016,5021,5027,5031,5039,5046,5050,5057,5063,5071,5079,5085,5091,5102,5106,5118,5127,5144,5161,5164,5168,5170,5176,5178,5182,5197,5201,5205,5209,5213,5217,5219,5225,5230,5234,5240,5247,5250,5268,5270,5315,5321,5327,5331,5335,5341,5345,5351,5357,5364,5366,5372,5378,5382,5386,5394,5407,5413,5420,5428,5434,5443,5449,5453,5458,5462,5470,5474,5478,5508,5514,5520,5526,5532,5539,5545,5552,5557,5567,5571,5578,5584,5588,5595,5599,5605,5608,5612,5616,5620,5624,5629,5634,5638,5649,5653,5657,5663,5671,5675,5692,5696,5702,5712,5718,5724,5727,5732,5741,5745,5749,5755,5759,5765,5773,5791,5792,5802,5803,5812,5820,5822,5825,5827,5829,5831,5836,5849,5853,5868,5897,5908,5910,5914,5918,5923,5927,5929,5936,5940,5948,5952,5964,5966,5968,5970,5972,5974,5975,5977,5979,5981,5983,5985,5986,5988,5990,5992,5994,5996,6000,6006,6006,6008,6010,6019,6025,6032,6033,6036,6037,6041,6046,6055,6059,6063,6071,6073,6075,6077,6080,6112,6114,6116,6120,6124,6127,6138,6151,6170,6183,6199,6211,6227,6242,6263,6273,6285,6296,6310,6325,6335,6347,6356,6368,6370,6374,6395,6404,6414,6420,6426,6427,6476,6478,6482,6484,6490,6497,6505,6512,6515,6521,6525,6529,6531,6535,6539,6543,6549,6557,6565,6571,6573,6577,6579,6585,6589,6593,6597,6601,6606,6613,6619,6621,6623,6627,6629,6635,6639,6643,6653,6658,6672,6687,6689,6697,6699,6704,6718,6723,6725,6729,6730,6734,6740,6746,6756,6766,6777,6785,6788,6791,6795,6799,6801,6804,6804,6807,6809,6839,6841,6843,6847,6852,6856,6861,6863,6865,6867,6876,6880,6884,6890,6892,6900,6908,6920,6923,6929,6933,6935,6939,6959,6961,6963,6974,6980,6982,6984,6986,6990,6996,7002,7004,7009,7013,7015,7023,7041,7081,7091,7095,7097,7099,7100,7104,7108,7112,7116,7120,7125,7129,7133,7137,7139,7141,7145,7155,7159,7161,7165,7169,7173,7186,7188,7190,7194,7196,7200,7202,7204,7234,7238,7242,7246,7249,7256,7261,7272,7276,7292,7306,7310,7315,7319,7323,7329,7331,7337,7339,7343,7345,7351,7356,7361,7371,7373,7375,7379,7383,7385,7398,7400,7404,7408,7416,7418,7422,7424,7425,7428,7433,7435,7437,7441,7443,7447,7453,7473,7479,7485,7487,7488,7498,7499,7507,7514,7516,7519,7521,7523,7525,7530,7534,7538,7543,7553,7563,7567,7571,7585,7611,7621,7623,7625,7628,7630,7633,7635,7639,7641,7642,7646,7648,7650,7657,7661,7668,7675,7684,7700,7712,7730,7741,7753,7761,7779,7787,7817,7820,7830,7840,7852,7863,7872,7885,7897,7901,7907,7934,7943,7946,7951,7957,7962,7983,7987,7993,7993,8000,8009,8017,8020,8024,8030,8036,8039,8043,8050,8056,8065,8074,8078,8082,8086,8090,8097,8101,8105,8115,8121,8125,8131,8135,8138,8144,8150,8162,8166,8170,8180,8184,8195,8197,8199,8203,8215,8220,8244,8248,8254,8276,8285,8289,8292,8293,8301,8309,8315,8325,8332,8350,8353,8356,8364,8370,8374,8378,8382,8388,8396,8401,8407,8411,8419,8426,8430,8437,8443,8451,8459,8465,8471,8482,8486,8498,8507,8524,8541,8544,8548,8550,8556,8558,8562,8577,8581,8585,8589,8593,8597,8599,8605,8610,8614,8620,8627,8630,8648,8650,8695,8701,8707,8711,8715,8721,8725,8731,8737,8744,8746,8752,8758,8762,8766,8774,8787,8793,8800,8808,8814,8823,8829,8833,8838,8842,8850,8854,8858,8888,8894,8900,8906,8912,8919,8925,8932,8937,8947,8951,8958,8964,8968,8975,8979,8985,8988,8992,8996,9000,9004,9009,9014,9018,9029,9033,9037,9043,9051,9055,9072,9076,9082,9092,9098,9104,9107,9112,9121,9125,9129,9135,9139,9145,9153,9171,9172,9182,9183,9192,9200,9202,9205,9207,9209,9211,9216,9229,9233,9248,9277,9288,9290,9294,9298,9303,9307,9309,9316,9320,9328,9332,9407,9409,9410,9411,9412,9413,9414,9416,9421,9423,9425,9426,9470,9471,9472,9474,9479,9483,9483,9485,9487,9498,9508,9516,9517,9519,9520,9524,9528,9538,9542,9549,9560,9567,9571,9577,9588,9620,9669,9684,9699,9704,9706,9711,9743,9751,9753,9775,9797,9799,9815,9831,9833,9835,9835,9836,9837,9838,9840,9841,9853,9855,9857,9859,9873,9887,9889,9892,9895,9897,9898,9899,9901,9903,9905,9919,9933,9935,9938,9941,9943,9944,9945,9947,9949,9951,10000,10044,10046,10051,10055,10055,10057,10059,10070,10080,10088,10089,10091,10092,10096,10100,10110,10114,10121,10132,10139,10143,10149,10160,10192,10241,10256,10271,10276,10278,10283,10315,10323,10325,10347,10369]);AR=new EE([46,42,42,47,46,69,101,48,57,43,45,48,57,48,57,45,95,194,195,198,199,203,205,206,207,210,212,213,214,215,216,217,219,220,221,222,223,224,225,226,227,228,233,234,237,239,240,65,90,97,122,196,202,208,218,229,236,95,194,195,198,199,203,205,206,207,210,212,213,214,215,216,217,219,220,221,222,223,224,225,226,227,228,233,234,237,239,240,65,90,97,122,196,202,208,218,229,236,10,13,45,95,194,195,198,199,203,204,205,206,207,210,212,213,214,215,216,217,219,220,221,222,223,224,225,226,227,228,233,234,237,239,240,243,48,57,65,90,97,122,196,218,229,236,10,170,181,183,186,128,150,152,182,184,255,192,255,128,255,173,130,133,146,159,165,171,175,255,181,190,184,185,192,255,140,134,138,142,161,163,255,182,130,136,137,176,151,152,154,160,190,136,144,192,255,135,129,130,132,133,144,170,176,178,144,154,160,191,128,169,174,255,148,169,157,158,189,190,192,255,144,255,139,140,178,255,186,128,181,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,128,173,128,155,160,180,182,189,148,161,163,255,176,164,165,132,169,177,141,142,145,146,179,181,186,187,158,133,134,137,138,143,150,152,155,164,165,178,255,188,129,131,133,138,143,144,147,168,170,176,178,179,181,182,184,185,190,255,157,131,134,137,138,142,144,146,152,159,165,182,255,129,131,133,141,143,145,147,168,170,176,178,179,181,185,188,255,134,138,142,143,145,159,164,165,176,184,186,255,129,131,133,140,143,144,147,168,170,176,178,179,181,185,188,191,177,128,132,135,136,139,141,150,151,156,157,159,163,166,175,156,130,131,133,138,142,144,146,149,153,154,158,159,163,164,168,170,174,185,190,191,144,151,128,130,134,136,138,141,166,175,128,131,133,140,142,144,146,168,170,185,189,255,133,137,151,142,148,155,159,164,165,176,255,128,131,133,140,142,144,146,168,170,179,181,185,188,191,158,128,132,134,136,138,141,149,150,160,163,166,175,177,178,129,131,133,140,142,144,146,186,189,255,133,137,143,147,152,158,164,165,176,185,192,255,189,130,131,133,150,154,177,179,187,138,150,128,134,143,148,152,159,166,175,178,179,129,186,128,142,144,153,132,138,141,165,167,129,130,135,136,148,151,153,159,161,163,170,171,173,185,187,189,134,128,132,136,141,144,153,156,159,128,181,183,185,152,153,160,169,190,191,128,135,137,172,177,191,128,132,134,151,153,188,134,128,129,130,131,137,138,139,140,141,142,143,144,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,173,175,176,177,178,179,181,182,183,188,189,190,191,132,152,172,184,185,187,128,191,128,137,144,255,158,159,134,187,136,140,142,143,137,151,153,142,143,158,159,137,177,142,143,182,183,191,255,128,130,133,136,150,152,255,145,150,151,155,156,160,168,178,255,128,143,160,255,182,183,190,255,129,255,173,174,192,255,129,154,160,255,171,173,185,255,128,140,142,148,160,180,128,147,160,172,174,176,178,179,148,150,152,155,158,159,170,255,139,141,144,153,160,255,184,255,128,170,176,255,182,255,128,158,160,171,176,187,134,173,176,180,128,171,176,255,138,143,155,255,128,155,160,255,159,189,190,192,255,167,128,137,144,153,176,189,140,143,154,170,180,255,180,255,128,183,128,137,141,189,128,136,144,146,148,182,184,185,128,181,187,191,150,151,158,159,152,154,156,158,134,135,142,143,190,255,190,128,180,182,188,130,132,134,140,144,147,150,155,160,172,178,180,182,188,128,129,130,131,132,133,134,176,177,178,179,180,181,182,183,191,255,129,147,149,176,178,190,192,255,144,156,161,144,156,165,176,130,135,149,164,166,168,138,147,152,157,170,185,188,191,142,133,137,160,255,137,255,128,174,176,255,159,165,170,180,255,167,173,128,165,176,255,168,174,176,190,192,255,128,150,160,166,168,174,176,182,184,190,128,134,136,142,144,150,152,158,160,191,128,129,130,131,132,133,134,135,144,145,255,133,135,161,175,177,181,184,188,160,151,152,187,192,255,133,173,177,255,143,159,187,255,176,191,182,183,184,191,192,255,150,255,128,146,147,148,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,129,255,141,255,144,189,141,143,172,255,191,128,175,180,189,151,159,162,255,175,137,138,184,255,183,255,168,255,128,179,188,134,143,154,159,184,186,190,255,128,173,176,255,148,159,189,255,129,142,154,159,191,255,128,182,128,141,144,153,160,182,186,255,128,130,155,157,160,175,178,182,129,134,137,142,145,150,160,166,168,174,176,255,155,166,175,128,170,172,173,176,185,158,159,160,255,164,175,135,138,188,255,164,169,171,172,173,174,175,180,181,182,183,184,185,187,188,189,190,191,165,186,174,175,154,255,190,128,134,147,151,157,168,170,182,184,188,128,129,131,132,134,255,147,255,190,255,144,145,136,175,188,255,128,143,160,175,179,180,141,143,176,180,182,255,189,255,191,144,153,161,186,129,154,166,255,191,255,130,135,138,143,146,151,154,156,144,145,146,147,148,150,151,152,155,157,158,160,170,171,172,175,161,169,128,129,130,131,133,135,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,160,161,162,163,164,166,168,169,170,171,172,173,174,176,177,153,155,178,179,128,139,141,166,168,186,188,189,191,255,142,143,158,255,187,255,128,180,189,128,156,160,255,145,159,161,255,128,159,176,255,139,143,187,255,128,157,160,255,144,132,135,150,255,158,159,170,175,148,151,188,255,128,167,176,255,164,255,183,255,128,149,160,167,136,188,128,133,138,181,183,184,191,255,150,159,183,255,128,158,160,178,180,181,128,149,160,185,128,183,190,191,191,128,131,133,134,140,147,149,151,153,179,184,186,160,188,128,156,128,135,137,166,128,181,128,149,160,178,128,145,128,178,129,130,131,132,133,135,136,138,139,140,141,144,145,146,147,150,151,152,153,154,155,156,162,163,171,176,177,178,128,134,135,165,176,190,144,168,176,185,128,180,182,191,182,144,179,155,133,137,141,143,157,255,190,128,145,147,183,136,128,134,138,141,143,157,159,168,176,255,171,175,186,255,128,131,133,140,143,144,147,168,170,176,178,179,181,185,188,191,144,151,128,132,135,136,139,141,157,163,166,172,176,180,128,138,144,153,134,136,143,154,255,128,181,184,255,129,151,158,255,129,131,133,143,154,255,128,137,128,153,157,171,176,185,160,255,170,190,192,255,128,184,128,136,138,182,184,191,128,144,153,178,255,168,144,145,183,255,128,142,145,149,129,141,144,146,147,148,175,255,132,255,128,144,129,143,144,153,145,152,135,255,160,168,169,171,172,173,174,188,189,190,191,161,167,185,255,128,158,160,169,144,173,176,180,128,131,144,153,163,183,189,255,144,255,133,143,191,255,143,159,160,128,129,255,159,160,171,172,255,173,255,179,255,128,176,177,178,128,129,171,175,189,255,128,136,144,153,157,158,133,134,137,144,145,146,147,148,149,154,155,156,157,158,159,168,169,170,150,153,165,169,173,178,187,255,131,132,140,169,174,255,130,132,149,157,173,186,188,160,161,163,164,167,168,132,134,149,157,186,139,140,191,255,134,128,132,138,144,146,255,166,167,129,155,187,149,181,143,175,137,169,131,140,141,192,255,128,182,187,255,173,180,182,255,132,155,159,161,175,128,160,163,164,165,184,185,186,161,162,128,134,136,152,155,161,163,164,166,170,133,143,151,255,139,143,154,255,164,167,185,187,128,131,133,159,161,162,169,178,180,183,130,135,137,139,148,151,153,155,157,159,164,190,141,143,145,146,161,162,167,170,172,178,180,183,185,188,128,137,139,155,161,163,165,169,171,187,155,156,151,255,156,157,160,181,255,186,187,255,162,255,160,168,161,167,158,255,160,132,135,133,134,176,255,170,181,186,191,176,180,182,183,186,189,134,140,136,138,142,161,163,255,130,137,136,255,144,170,176,178,160,191,128,138,174,175,177,255,148,150,164,167,173,176,185,189,190,192,255,144,146,175,141,255,166,176,178,255,186,138,170,180,181,160,161,162,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,184,186,187,188,189,190,183,185,154,164,168,128,149,128,152,189,132,185,144,152,161,177,255,169,177,129,132,141,142,145,146,179,181,186,188,190,255,142,156,157,159,161,176,177,133,138,143,144,147,168,170,176,178,179,181,182,184,185,158,153,156,178,180,189,133,141,143,145,147,168,170,176,178,179,181,185,144,185,160,161,189,133,140,143,144,147,168,170,176,178,179,181,185,177,156,157,159,161,131,156,133,138,142,144,146,149,153,154,158,159,163,164,168,170,174,185,144,189,133,140,142,144,146,168,170,185,152,154,160,161,128,189,133,140,142,144,146,168,170,179,181,185,158,160,161,177,178,189,133,140,142,144,146,186,142,148,150,159,161,186,191,189,133,150,154,177,179,187,128,134,129,176,178,179,132,138,141,165,167,189,129,130,135,136,148,151,153,159,161,163,170,171,173,176,178,179,134,128,132,156,159,128,128,135,137,172,136,140,128,129,130,131,137,138,139,140,141,142,143,144,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,184,188,189,190,191,132,152,185,187,191,128,170,161,144,149,154,157,165,166,174,176,181,255,130,141,143,159,155,255,128,140,142,145,160,177,128,145,160,172,174,176,151,156,170,128,168,176,255,138,255,128,150,160,255,149,255,167,133,179,133,139,131,160,174,175,186,255,166,255,128,163,141,143,154,189,169,172,174,177,181,182,129,130,132,133,134,176,177,178,179,180,181,182,183,177,191,165,170,175,177,180,255,168,174,176,255,128,134,136,142,144,150,152,158,128,129,130,131,132,133,134,135,144,145,255,133,135,161,169,177,181,184,188,160,151,154,128,146,147,148,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,129,255,141,143,160,169,172,255,191,128,174,130,134,139,163,255,130,179,187,189,178,183,138,165,176,255,135,159,189,255,132,178,143,160,164,166,175,186,190,128,168,186,128,130,132,139,160,182,190,255,176,178,180,183,184,190,255,128,130,155,157,160,170,178,180,128,162,164,169,171,172,173,174,175,180,181,182,183,185,186,187,188,189,190,191,165,179,157,190,128,134,147,151,159,168,170,182,184,188,176,180,182,255,161,186,144,145,146,147,148,150,151,152,155,157,158,160,170,171,172,175,161,169,128,129,130,131,133,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,160,161,162,163,164,166,168,169,170,171,172,173,174,176,177,153,155,178,179,145,255,139,143,182,255,158,175,128,144,147,149,151,153,179,128,135,137,164,128,130,131,132,133,134,135,136,138,139,140,141,144,145,146,147,150,151,152,153,154,156,162,163,171,176,177,178,131,183,131,175,144,168,131,166,182,144,178,131,178,154,156,129,132,128,145,147,171,159,255,144,157,161,135,138,128,175,135,132,133,128,174,152,155,132,128,170,128,153,160,190,192,255,128,136,138,174,128,178,255,160,168,169,171,172,173,174,188,189,190,191,161,167,144,173,128,131,163,183,189,255,133,143,145,255,147,159,128,176,177,178,128,136,144,153,144,145,146,147,148,149,154,155,156,157,158,159,150,153,131,140,255,160,163,164,165,184,185,186,161,162,133,255,170,181,183,186,128,150,152,182,184,255,192,255,128,255,173,130,133,146,159,165,171,175,255,181,190,184,185,192,255,140,134,138,142,161,163,255,182,130,136,137,176,151,152,154,160,190,136,144,192,255,135,129,130,132,133,144,170,176,178,144,154,160,191,128,169,174,255,148,169,157,158,189,190,192,255,144,255,139,140,178,255,186,128,181,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,128,173,128,155,160,180,182,189,148,161,163,255,176,164,165,132,169,177,141,142,145,146,179,181,186,187,158,133,134,137,138,143,150,152,155,164,165,178,255,188,129,131,133,138,143,144,147,168,170,176,178,179,181,182,184,185,190,255,157,131,134,137,138,142,144,146,152,159,165,182,255,129,131,133,141,143,145,147,168,170,176,178,179,181,185,188,255,134,138,142,143,145,159,164,165,176,184,186,255,129,131,133,140,143,144,147,168,170,176,178,179,181,185,188,191,177,128,132,135,136,139,141,150,151,156,157,159,163,166,175,156,130,131,133,138,142,144,146,149,153,154,158,159,163,164,168,170,174,185,190,191,144,151,128,130,134,136,138,141,166,175,128,131,133,140,142,144,146,168,170,185,189,255,133,137,151,142,148,155,159,164,165,176,255,128,131,133,140,142,144,146,168,170,179,181,185,188,191,158,128,132,134,136,138,141,149,150,160,163,166,175,177,178,129,131,133,140,142,144,146,186,189,255,133,137,143,147,152,158,164,165,176,185,192,255,189,130,131,133,150,154,177,179,187,138,150,128,134,143,148,152,159,166,175,178,179,129,186,128,142,144,153,132,138,141,165,167,129,130,135,136,148,151,153,159,161,163,170,171,173,185,187,189,134,128,132,136,141,144,153,156,159,128,181,183,185,152,153,160,169,190,191,128,135,137,172,177,191,128,132,134,151,153,188,134,128,129,130,131,137,138,139,140,141,142,143,144,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,173,175,176,177,178,179,181,182,183,188,189,190,191,132,152,172,184,185,187,128,191,128,137,144,255,158,159,134,187,136,140,142,143,137,151,153,142,143,158,159,137,177,142,143,182,183,191,255,128,130,133,136,150,152,255,145,150,151,155,156,160,168,178,255,128,143,160,255,182,183,190,255,129,255,173,174,192,255,129,154,160,255,171,173,185,255,128,140,142,148,160,180,128,147,160,172,174,176,178,179,148,150,152,155,158,159,170,255,139,141,144,153,160,255,184,255,128,170,176,255,182,255,128,158,160,171,176,187,134,173,176,180,128,171,176,255,138,143,155,255,128,155,160,255,159,189,190,192,255,167,128,137,144,153,176,189,140,143,154,170,180,255,180,255,128,183,128,137,141,189,128,136,144,146,148,182,184,185,128,181,187,191,150,151,158,159,152,154,156,158,134,135,142,143,190,255,190,128,180,182,188,130,132,134,140,144,147,150,155,160,172,178,180,182,188,128,129,130,131,132,133,134,176,177,178,179,180,181,182,183,191,255,129,147,149,176,178,190,192,255,144,156,161,144,156,165,176,130,135,149,164,166,168,138,147,152,157,170,185,188,191,142,133,137,160,255,137,255,128,174,176,255,159,165,170,180,255,167,173,128,165,176,255,168,174,176,190,192,255,128,150,160,166,168,174,176,182,184,190,128,134,136,142,144,150,152,158,160,191,128,129,130,131,132,133,134,135,144,145,255,133,135,161,175,177,181,184,188,160,151,152,187,192,255,133,173,177,255,143,159,187,255,176,191,182,183,184,191,192,255,150,255,128,146,147,148,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,129,255,141,255,144,189,141,143,172,255,191,128,175,180,189,151,159,162,255,175,137,138,184,255,183,255,168,255,128,179,188,134,143,154,159,184,186,190,255,128,173,176,255,148,159,189,255,129,142,154,159,191,255,128,182,128,141,144,153,160,182,186,255,128,130,155,157,160,175,178,182,129,134,137,142,145,150,160,166,168,174,176,255,155,166,175,128,170,172,173,176,185,158,159,160,255,164,175,135,138,188,255,164,169,171,172,173,174,175,180,181,182,183,184,185,187,188,189,190,191,165,186,174,175,154,255,190,128,134,147,151,157,168,170,182,184,188,128,129,131,132,134,255,147,255,190,255,144,145,136,175,188,255,128,143,160,175,179,180,141,143,176,180,182,255,189,255,191,144,153,161,186,129,154,166,255,191,255,130,135,138,143,146,151,154,156,144,145,146,147,148,150,151,152,155,157,158,160,170,171,172,175,161,169,128,129,130,131,133,135,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,160,161,162,163,164,166,168,169,170,171,172,173,174,176,177,153,155,178,179,128,139,141,166,168,186,188,189,191,255,142,143,158,255,187,255,128,180,189,128,156,160,255,145,159,161,255,128,159,176,255,139,143,187,255,128,157,160,255,144,132,135,150,255,158,159,170,175,148,151,188,255,128,167,176,255,164,255,183,255,128,149,160,167,136,188,128,133,138,181,183,184,191,255,150,159,183,255,128,158,160,178,180,181,128,149,160,185,128,183,190,191,191,128,131,133,134,140,147,149,151,153,179,184,186,160,188,128,156,128,135,137,166,128,181,128,149,160,178,128,145,128,178,129,130,131,132,133,135,136,138,139,140,141,144,145,146,147,150,151,152,153,154,155,156,162,163,171,176,177,178,128,134,135,165,176,190,144,168,176,185,128,180,182,191,182,144,179,155,133,137,141,143,157,255,190,128,145,147,183,136,128,134,138,141,143,157,159,168,176,255,171,175,186,255,128,131,133,140,143,144,147,168,170,176,178,179,181,185,188,191,144,151,128,132,135,136,139,141,157,163,166,172,176,180,128,138,144,153,134,136,143,154,255,128,181,184,255,129,151,158,255,129,131,133,143,154,255,128,137,128,153,157,171,176,185,160,255,170,190,192,255,128,184,128,136,138,182,184,191,128,144,153,178,255,168,144,145,183,255,128,142,145,149,129,141,144,146,147,148,175,255,132,255,128,144,129,143,144,153,145,152,135,255,160,168,169,171,172,173,174,188,189,190,191,161,167,185,255,128,158,160,169,144,173,176,180,128,131,144,153,163,183,189,255,144,255,133,143,191,255,143,159,160,128,129,255,159,160,171,172,255,173,255,179,255,128,176,177,178,128,129,171,175,189,255,128,136,144,153,157,158,133,134,137,144,145,146,147,148,149,154,155,156,157,158,159,168,169,170,150,153,165,169,173,178,187,255,131,132,140,169,174,255,130,132,149,157,173,186,188,160,161,163,164,167,168,132,134,149,157,186,139,140,191,255,134,128,132,138,144,146,255,166,167,129,155,187,149,181,143,175,137,169,131,140,141,192,255,128,182,187,255,173,180,182,255,132,155,159,161,175,128,160,163,164,165,184,185,186,161,162,128,134,136,152,155,161,163,164,166,170,133,143,151,255,139,143,154,255,164,167,185,187,128,131,133,159,161,162,169,178,180,183,130,135,137,139,148,151,153,155,157,159,164,190,141,143,145,146,161,162,167,170,172,178,180,183,185,188,128,137,139,155,161,163,165,169,171,187,155,156,151,255,156,157,160,181,255,186,187,255,162,255,160,168,161,167,158,255,160,132,135,133,134,176,255,128,191,154,164,168,128,149,150,191,128,152,153,191,181,128,159,160,189,190,191,189,128,131,132,185,186,191,144,128,151,152,161,162,176,177,255,169,177,129,132,141,142,145,146,179,181,186,188,190,191,192,255,142,158,128,155,156,161,162,175,176,177,178,191,169,177,180,183,128,132,133,138,139,142,143,144,145,146,147,185,186,191,157,128,152,153,158,159,177,178,180,181,191,142,146,169,177,180,189,128,132,133,185,186,191,144,185,128,159,160,161,162,191,169,177,180,189,128,132,133,140,141,142,143,144,145,146,147,185,186,191,158,177,128,155,156,161,162,191,131,145,155,157,128,132,133,138,139,141,142,149,150,152,153,159,160,162,163,164,165,167,168,170,171,173,174,185,186,191,144,128,191,141,145,169,189,128,132,133,185,186,191,128,151,152,154,155,159,160,161,162,191,128,141,145,169,180,189,129,132,133,185,186,191,158,128,159,160,161,162,176,177,178,179,191,141,145,189,128,132,133,186,187,191,142,128,147,148,150,151,158,159,161,162,185,186,191,178,188,128,132,133,150,151,153,154,189,190,191,128,134,135,191,128,177,129,179,180,191,128,131,137,141,152,160,164,166,172,177,189,129,132,133,134,135,138,139,147,148,167,168,169,170,179,180,191,133,128,134,135,155,156,159,160,191,128,129,191,136,128,172,173,191,128,135,136,140,141,191,191,128,170,171,190,161,128,143,144,149,150,153,154,157,158,164,165,166,167,173,174,176,177,180,181,255,130,141,143,159,134,187,136,140,142,143,137,151,153,142,143,158,159,137,177,191,142,143,182,183,192,255,129,151,128,133,134,135,136,255,145,150,151,155,191,192,255,128,143,144,159,160,255,182,183,190,191,192,255,128,129,255,173,174,192,255,128,129,154,155,159,160,255,171,173,185,191,192,255,141,128,145,146,159,160,177,178,191,173,128,145,146,159,160,176,177,191,128,179,180,191,151,156,128,191,128,159,160,255,184,191,192,255,169,128,170,171,175,176,255,182,191,192,255,128,158,159,191,128,143,144,173,174,175,176,180,181,191,128,171,172,175,176,255,138,191,192,255,128,150,151,159,160,255,149,191,192,255,167,128,191,128,132,133,179,180,191,128,132,133,139,140,191,128,130,131,160,161,173,174,175,176,185,186,255,166,191,192,255,128,163,164,191,128,140,141,143,144,153,154,189,190,191,128,136,137,191,173,128,168,169,177,178,180,181,182,183,191,0,127,192,255,150,151,158,159,152,154,156,158,134,135,142,143,190,191,192,255,181,189,191,128,190,133,181,128,129,130,140,141,143,144,147,148,149,150,155,156,159,160,172,173,177,178,188,189,191,177,191,128,190,128,143,144,156,157,191,130,135,148,164,166,168,128,137,138,149,150,151,152,157,158,169,170,185,186,187,188,191,142,128,132,133,137,138,159,160,255,137,191,192,255,175,128,255,159,165,170,175,177,180,191,192,255,166,173,128,167,168,175,176,255,168,174,176,191,192,255,167,175,183,191,128,150,151,159,160,190,135,143,151,128,158,159,191,128,132,133,135,136,160,161,169,170,176,177,181,182,183,184,188,189,191,160,151,154,187,192,255,128,132,133,173,174,176,177,255,143,159,187,191,192,255,128,175,176,191,150,191,192,255,141,191,192,255,128,143,144,189,190,191,141,143,160,169,172,191,192,255,191,128,174,175,190,128,157,158,159,160,255,176,191,192,255,128,150,151,159,160,161,162,255,175,137,138,184,191,192,255,128,182,183,255,130,134,139,163,191,192,255,128,129,130,179,180,191,187,189,128,177,178,183,184,191,128,137,138,165,166,175,176,255,135,159,189,191,192,255,128,131,132,178,179,191,143,165,191,128,159,160,175,176,185,186,190,128,168,169,191,131,186,128,139,140,159,160,182,183,189,190,255,176,178,180,183,184,190,191,192,255,129,128,130,131,154,155,157,158,159,160,170,171,177,178,180,181,191,128,167,175,129,134,135,136,137,142,143,144,145,150,151,159,160,255,155,166,175,128,162,163,191,164,175,135,138,188,191,192,255,174,175,154,191,192,255,157,169,183,189,191,128,134,135,146,147,151,152,158,159,190,130,133,128,255,178,191,192,255,128,146,147,255,190,191,192,255,128,143,144,255,144,145,136,175,188,191,192,255,181,128,175,176,255,189,191,192,255,128,160,161,186,187,191,128,129,154,155,165,166,255,191,192,255,128,129,130,135,136,137,138,143,144,145,146,151,152,153,154,156,157,191,128,191,128,129,130,131,133,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,160,161,162,163,164,166,168,169,170,171,172,173,174,176,177,132,151,153,155,158,175,178,179,180,191,140,167,187,190,128,255,142,143,158,191,192,255,187,191,192,255,128,180,181,191,128,156,157,159,160,255,145,191,192,255,128,159,160,175,176,255,139,143,182,191,192,255,144,132,135,150,191,192,255,158,175,148,151,188,191,192,255,128,167,168,175,176,255,164,191,192,255,183,191,192,255,128,149,150,159,160,167,168,191,136,182,188,128,133,134,137,138,184,185,190,191,255,150,159,183,191,192,255,179,128,159,160,181,182,191,128,149,150,159,160,185,186,191,128,183,184,189,190,191,128,148,152,129,143,144,179,180,191,128,159,160,188,189,191,128,156,157,191,136,128,164,165,191,128,181,182,191,128,149,150,159,160,178,179,191,128,145,146,191,128,178,179,191,128,130,131,132,133,134,135,136,138,139,140,141,144,145,146,147,150,151,152,153,154,156,162,163,171,176,177,178,129,191,128,130,131,183,184,191,128,130,131,175,176,191,128,143,144,168,169,191,128,130,131,166,167,191,182,128,143,144,178,179,191,128,130,131,178,179,191,128,154,156,129,132,133,191,146,128,171,172,191,135,137,142,158,128,168,169,175,176,255,159,191,192,255,144,128,156,157,161,162,191,128,134,135,138,139,191,128,175,176,191,134,128,131,132,135,136,191,128,174,175,191,128,151,152,155,156,191,132,128,191,128,170,171,191,128,153,154,191,160,190,192,255,128,184,185,191,137,128,174,175,191,128,129,177,178,255,144,191,192,255,128,142,143,144,145,146,149,129,148,150,191,175,191,192,255,132,191,192,255,128,144,129,143,145,191,144,153,128,143,145,152,154,191,135,191,192,255,160,168,169,171,172,173,174,188,189,190,191,128,159,161,167,170,187,185,191,192,255,128,143,144,173,174,191,128,131,132,162,163,183,184,188,189,255,133,143,145,191,192,255,128,146,147,159,160,191,160,128,191,128,129,191,192,255,159,160,171,128,170,172,191,192,255,173,191,192,255,179,191,192,255,128,176,177,178,129,191,128,129,130,191,171,175,189,191,192,255,128,136,137,143,144,153,154,191,144,145,146,147,148,149,154,155,156,157,158,159,128,143,150,153,160,191,149,157,173,186,188,160,161,163,164,167,168,132,134,149,157,186,191,139,140,192,255,133,145,128,134,135,137,138,255,166,167,129,155,187,149,181,143,175,137,169,131,140,191,192,255,160,163,164,165,184,185,186,128,159,161,162,166,191,133,191,192,255,132,160,163,167,179,184,186,128,164,165,168,169,187,188,191,130,135,137,139,144,147,151,153,155,157,159,163,171,179,184,189,191,128,140,141,148,149,160,161,164,165,166,167,190,138,164,170,128,155,156,160,161,187,188,191,128,191,155,156,128,191,151,191,192,255,156,157,160,128,191,181,191,192,255,158,159,186,128,185,187,191,192,255,162,191,192,255,160,168,128,159,161,167,169,191,158,191,192,255,10,13,128,191,192,223,224,239,240,247,248,255,128,191,128,191,128,191,128,191,128,191,10,128,191,128,191,128,191,36,123,37,123,10,128,191,128,191,128,191,36,123,37,123,170,181,183,186,128,150,152,182,184,255,192,255,128,255,173,130,133,146,159,165,171,175,255,181,190,184,185,192,255,140,134,138,142,161,163,255,182,130,136,137,176,151,152,154,160,190,136,144,192,255,135,129,130,132,133,144,170,176,178,144,154,160,191,128,169,174,255,148,169,157,158,189,190,192,255,144,255,139,140,178,255,186,128,181,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,128,173,128,155,160,180,182,189,148,161,163,255,176,164,165,132,169,177,141,142,145,146,179,181,186,187,158,133,134,137,138,143,150,152,155,164,165,178,255,188,129,131,133,138,143,144,147,168,170,176,178,179,181,182,184,185,190,255,157,131,134,137,138,142,144,146,152,159,165,182,255,129,131,133,141,143,145,147,168,170,176,178,179,181,185,188,255,134,138,142,143,145,159,164,165,176,184,186,255,129,131,133,140,143,144,147,168,170,176,178,179,181,185,188,191,177,128,132,135,136,139,141,150,151,156,157,159,163,166,175,156,130,131,133,138,142,144,146,149,153,154,158,159,163,164,168,170,174,185,190,191,144,151,128,130,134,136,138,141,166,175,128,131,133,140,142,144,146,168,170,185,189,255,133,137,151,142,148,155,159,164,165,176,255,128,131,133,140,142,144,146,168,170,179,181,185,188,191,158,128,132,134,136,138,141,149,150,160,163,166,175,177,178,129,131,133,140,142,144,146,186,189,255,133,137,143,147,152,158,164,165,176,185,192,255,189,130,131,133,150,154,177,179,187,138,150,128,134,143,148,152,159,166,175,178,179,129,186,128,142,144,153,132,138,141,165,167,129,130,135,136,148,151,153,159,161,163,170,171,173,185,187,189,134,128,132,136,141,144,153,156,159,128,181,183,185,152,153,160,169,190,191,128,135,137,172,177,191,128,132,134,151,153,188,134,128,129,130,131,137,138,139,140,141,142,143,144,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,173,175,176,177,178,179,181,182,183,188,189,190,191,132,152,172,184,185,187,128,191,128,137,144,255,158,159,134,187,136,140,142,143,137,151,153,142,143,158,159,137,177,142,143,182,183,191,255,128,130,133,136,150,152,255,145,150,151,155,156,160,168,178,255,128,143,160,255,182,183,190,255,129,255,173,174,192,255,129,154,160,255,171,173,185,255,128,140,142,148,160,180,128,147,160,172,174,176,178,179,148,150,152,155,158,159,170,255,139,141,144,153,160,255,184,255,128,170,176,255,182,255,128,158,160,171,176,187,134,173,176,180,128,171,176,255,138,143,155,255,128,155,160,255,159,189,190,192,255,167,128,137,144,153,176,189,140,143,154,170,180,255,180,255,128,183,128,137,141,189,128,136,144,146,148,182,184,185,128,181,187,191,150,151,158,159,152,154,156,158,134,135,142,143,190,255,190,128,180,182,188,130,132,134,140,144,147,150,155,160,172,178,180,182,188,128,129,130,131,132,133,134,176,177,178,179,180,181,182,183,191,255,129,147,149,176,178,190,192,255,144,156,161,144,156,165,176,130,135,149,164,166,168,138,147,152,157,170,185,188,191,142,133,137,160,255,137,255,128,174,176,255,159,165,170,180,255,167,173,128,165,176,255,168,174,176,190,192,255,128,150,160,166,168,174,176,182,184,190,128,134,136,142,144,150,152,158,160,191,128,129,130,131,132,133,134,135,144,145,255,133,135,161,175,177,181,184,188,160,151,152,187,192,255,133,173,177,255,143,159,187,255,176,191,182,183,184,191,192,255,150,255,128,146,147,148,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,129,255,141,255,144,189,141,143,172,255,191,128,175,180,189,151,159,162,255,175,137,138,184,255,183,255,168,255,128,179,188,134,143,154,159,184,186,190,255,128,173,176,255,148,159,189,255,129,142,154,159,191,255,128,182,128,141,144,153,160,182,186,255,128,130,155,157,160,175,178,182,129,134,137,142,145,150,160,166,168,174,176,255,155,166,175,128,170,172,173,176,185,158,159,160,255,164,175,135,138,188,255,164,169,171,172,173,174,175,180,181,182,183,184,185,187,188,189,190,191,165,186,174,175,154,255,190,128,134,147,151,157,168,170,182,184,188,128,129,131,132,134,255,147,255,190,255,144,145,136,175,188,255,128,143,160,175,179,180,141,143,176,180,182,255,189,255,191,144,153,161,186,129,154,166,255,191,255,130,135,138,143,146,151,154,156,144,145,146,147,148,150,151,152,155,157,158,160,170,171,172,175,161,169,128,129,130,131,133,135,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,160,161,162,163,164,166,168,169,170,171,172,173,174,176,177,153,155,178,179,128,139,141,166,168,186,188,189,191,255,142,143,158,255,187,255,128,180,189,128,156,160,255,145,159,161,255,128,159,176,255,139,143,187,255,128,157,160,255,144,132,135,150,255,158,159,170,175,148,151,188,255,128,167,176,255,164,255,183,255,128,149,160,167,136,188,128,133,138,181,183,184,191,255,150,159,183,255,128,158,160,178,180,181,128,149,160,185,128,183,190,191,191,128,131,133,134,140,147,149,151,153,179,184,186,160,188,128,156,128,135,137,166,128,181,128,149,160,178,128,145,128,178,129,130,131,132,133,135,136,138,139,140,141,144,145,146,147,150,151,152,153,154,155,156,162,163,171,176,177,178,128,134,135,165,176,190,144,168,176,185,128,180,182,191,182,144,179,155,133,137,141,143,157,255,190,128,145,147,183,136,128,134,138,141,143,157,159,168,176,255,171,175,186,255,128,131,133,140,143,144,147,168,170,176,178,179,181,185,188,191,144,151,128,132,135,136,139,141,157,163,166,172,176,180,128,138,144,153,134,136,143,154,255,128,181,184,255,129,151,158,255,129,131,133,143,154,255,128,137,128,153,157,171,176,185,160,255,170,190,192,255,128,184,128,136,138,182,184,191,128,144,153,178,255,168,144,145,183,255,128,142,145,149,129,141,144,146,147,148,175,255,132,255,128,144,129,143,144,153,145,152,135,255,160,168,169,171,172,173,174,188,189,190,191,161,167,185,255,128,158,160,169,144,173,176,180,128,131,144,153,163,183,189,255,144,255,133,143,191,255,143,159,160,128,129,255,159,160,171,172,255,173,255,179,255,128,176,177,178,128,129,171,175,189,255,128,136,144,153,157,158,133,134,137,144,145,146,147,148,149,154,155,156,157,158,159,168,169,170,150,153,165,169,173,178,187,255,131,132,140,169,174,255,130,132,149,157,173,186,188,160,161,163,164,167,168,132,134,149,157,186,139,140,191,255,134,128,132,138,144,146,255,166,167,129,155,187,149,181,143,175,137,169,131,140,141,192,255,128,182,187,255,173,180,182,255,132,155,159,161,175,128,160,163,164,165,184,185,186,161,162,128,134,136,152,155,161,163,164,166,170,133,143,151,255,139,143,154,255,164,167,185,187,128,131,133,159,161,162,169,178,180,183,130,135,137,139,148,151,153,155,157,159,164,190,141,143,145,146,161,162,167,170,172,178,180,183,185,188,128,137,139,155,161,163,165,169,171,187,155,156,151,255,156,157,160,181,255,186,187,255,162,255,160,168,161,167,158,255,160,132,135,133,134,176,255,128,191,154,164,168,128,149,150,191,128,152,153,191,181,128,159,160,189,190,191,189,128,131,132,185,186,191,144,128,151,152,161,162,176,177,255,169,177,129,132,141,142,145,146,179,181,186,188,190,191,192,255,142,158,128,155,156,161,162,175,176,177,178,191,169,177,180,183,128,132,133,138,139,142,143,144,145,146,147,185,186,191,157,128,152,153,158,159,177,178,180,181,191,142,146,169,177,180,189,128,132,133,185,186,191,144,185,128,159,160,161,162,191,169,177,180,189,128,132,133,140,141,142,143,144,145,146,147,185,186,191,158,177,128,155,156,161,162,191,131,145,155,157,128,132,133,138,139,141,142,149,150,152,153,159,160,162,163,164,165,167,168,170,171,173,174,185,186,191,144,128,191,141,145,169,189,128,132,133,185,186,191,128,151,152,154,155,159,160,161,162,191,128,141,145,169,180,189,129,132,133,185,186,191,158,128,159,160,161,162,176,177,178,179,191,141,145,189,128,132,133,186,187,191,142,128,147,148,150,151,158,159,161,162,185,186,191,178,188,128,132,133,150,151,153,154,189,190,191,128,134,135,191,128,177,129,179,180,191,128,131,137,141,152,160,164,166,172,177,189,129,132,133,134,135,138,139,147,148,167,168,169,170,179,180,191,133,128,134,135,155,156,159,160,191,128,129,191,136,128,172,173,191,128,135,136,140,141,191,191,128,170,171,190,161,128,143,144,149,150,153,154,157,158,164,165,166,167,173,174,176,177,180,181,255,130,141,143,159,134,187,136,140,142,143,137,151,153,142,143,158,159,137,177,191,142,143,182,183,192,255,129,151,128,133,134,135,136,255,145,150,151,155,191,192,255,128,143,144,159,160,255,182,183,190,191,192,255,128,129,255,173,174,192,255,128,129,154,155,159,160,255,171,173,185,191,192,255,141,128,145,146,159,160,177,178,191,173,128,145,146,159,160,176,177,191,128,179,180,191,151,156,128,191,128,159,160,255,184,191,192,255,169,128,170,171,175,176,255,182,191,192,255,128,158,159,191,128,143,144,173,174,175,176,180,181,191,128,171,172,175,176,255,138,191,192,255,128,150,151,159,160,255,149,191,192,255,167,128,191,128,132,133,179,180,191,128,132,133,139,140,191,128,130,131,160,161,173,174,175,176,185,186,255,166,191,192,255,128,163,164,191,128,140,141,143,144,153,154,189,190,191,128,136,137,191,173,128,168,169,177,178,180,181,182,183,191,0,127,192,255,150,151,158,159,152,154,156,158,134,135,142,143,190,191,192,255,181,189,191,128,190,133,181,128,129,130,140,141,143,144,147,148,149,150,155,156,159,160,172,173,177,178,188,189,191,177,191,128,190,128,143,144,156,157,191,130,135,148,164,166,168,128,137,138,149,150,151,152,157,158,169,170,185,186,187,188,191,142,128,132,133,137,138,159,160,255,137,191,192,255,175,128,255,159,165,170,175,177,180,191,192,255,166,173,128,167,168,175,176,255,168,174,176,191,192,255,167,175,183,191,128,150,151,159,160,190,135,143,151,128,158,159,191,128,132,133,135,136,160,161,169,170,176,177,181,182,183,184,188,189,191,160,151,154,187,192,255,128,132,133,173,174,176,177,255,143,159,187,191,192,255,128,175,176,191,150,191,192,255,141,191,192,255,128,143,144,189,190,191,141,143,160,169,172,191,192,255,191,128,174,175,190,128,157,158,159,160,255,176,191,192,255,128,150,151,159,160,161,162,255,175,137,138,184,191,192,255,128,182,183,255,130,134,139,163,191,192,255,128,129,130,179,180,191,187,189,128,177,178,183,184,191,128,137,138,165,166,175,176,255,135,159,189,191,192,255,128,131,132,178,179,191,143,165,191,128,159,160,175,176,185,186,190,128,168,169,191,131,186,128,139,140,159,160,182,183,189,190,255,176,178,180,183,184,190,191,192,255,129,128,130,131,154,155,157,158,159,160,170,171,177,178,180,181,191,128,167,175,129,134,135,136,137,142,143,144,145,150,151,159,160,255,155,166,175,128,162,163,191,164,175,135,138,188,191,192,255,174,175,154,191,192,255,157,169,183,189,191,128,134,135,146,147,151,152,158,159,190,130,133,128,255,178,191,192,255,128,146,147,255,190,191,192,255,128,143,144,255,144,145,136,175,188,191,192,255,181,128,175,176,255,189,191,192,255,128,160,161,186,187,191,128,129,154,155,165,166,255,191,192,255,128,129,130,135,136,137,138,143,144,145,146,151,152,153,154,156,157,191,128,191,128,129,130,131,133,138,139,140,141,142,143,144,145,146,147,148,149,152,156,157,160,161,162,163,164,166,168,169,170,171,172,173,174,176,177,132,151,153,155,158,175,178,179,180,191,140,167,187,190,128,255,142,143,158,191,192,255,187,191,192,255,128,180,181,191,128,156,157,159,160,255,145,191,192,255,128,159,160,175,176,255,139,143,182,191,192,255,144,132,135,150,191,192,255,158,175,148,151,188,191,192,255,128,167,168,175,176,255,164,191,192,255,183,191,192,255,128,149,150,159,160,167,168,191,136,182,188,128,133,134,137,138,184,185,190,191,255,150,159,183,191,192,255,179,128,159,160,181,182,191,128,149,150,159,160,185,186,191,128,183,184,189,190,191,128,148,152,129,143,144,179,180,191,128,159,160,188,189,191,128,156,157,191,136,128,164,165,191,128,181,182,191,128,149,150,159,160,178,179,191,128,145,146,191,128,178,179,191,128,130,131,132,133,134,135,136,138,139,140,141,144,145,146,147,150,151,152,153,154,156,162,163,171,176,177,178,129,191,128,130,131,183,184,191,128,130,131,175,176,191,128,143,144,168,169,191,128,130,131,166,167,191,182,128,143,144,178,179,191,128,130,131,178,179,191,128,154,156,129,132,133,191,146,128,171,172,191,135,137,142,158,128,168,169,175,176,255,159,191,192,255,144,128,156,157,161,162,191,128,134,135,138,139,191,128,175,176,191,134,128,131,132,135,136,191,128,174,175,191,128,151,152,155,156,191,132,128,191,128,170,171,191,128,153,154,191,160,190,192,255,128,184,185,191,137,128,174,175,191,128,129,177,178,255,144,191,192,255,128,142,143,144,145,146,149,129,148,150,191,175,191,192,255,132,191,192,255,128,144,129,143,145,191,144,153,128,143,145,152,154,191,135,191,192,255,160,168,169,171,172,173,174,188,189,190,191,128,159,161,167,170,187,185,191,192,255,128,143,144,173,174,191,128,131,132,162,163,183,184,188,189,255,133,143,145,191,192,255,128,146,147,159,160,191,160,128,191,128,129,191,192,255,159,160,171,128,170,172,191,192,255,173,191,192,255,179,191,192,255,128,176,177,178,129,191,128,129,130,191,171,175,189,191,192,255,128,136,137,143,144,153,154,191,144,145,146,147,148,149,154,155,156,157,158,159,128,143,150,153,160,191,149,157,173,186,188,160,161,163,164,167,168,132,134,149,157,186,191,139,140,192,255,133,145,128,134,135,137,138,255,166,167,129,155,187,149,181,143,175,137,169,131,140,191,192,255,160,163,164,165,184,185,186,128,159,161,162,166,191,133,191,192,255,132,160,163,167,179,184,186,128,164,165,168,169,187,188,191,130,135,137,139,144,147,151,153,155,157,159,163,171,179,184,189,191,128,140,141,148,149,160,161,164,165,166,167,190,138,164,170,128,155,156,160,161,187,188,191,128,191,155,156,128,191,151,191,192,255,156,157,160,128,191,181,191,192,255,158,159,186,128,185,187,191,192,255,162,191,192,255,160,168,128,159,161,167,169,191,158,191,192,255,9,10,13,32,33,34,35,38,46,47,60,61,62,64,92,95,123,124,125,126,127,194,195,198,199,203,204,205,206,207,210,212,213,214,215,216,217,219,220,221,222,223,224,225,226,227,228,233,234,237,238,239,240,0,36,37,45,48,57,58,63,65,90,91,96,97,122,192,193,196,218,229,236,241,247,9,32,10,61,10,38,46,42,47,46,69,101,48,57,60,61,61,62,61,45,95,194,195,198,199,203,204,205,206,207,210,212,213,214,215,216,217,219,220,221,222,223,224,225,226,227,228,233,234,237,239,240,243,48,57,65,90,97,122,196,218,229,236,124,125,128,191,170,181,186,128,191,151,183,128,255,192,255,0,127,173,130,133,146,159,165,171,175,191,192,255,181,190,128,175,176,183,184,185,186,191,134,139,141,162,128,135,136,255,182,130,137,176,151,152,154,160,136,191,192,255,128,143,144,170,171,175,176,178,179,191,128,159,160,191,176,128,138,139,173,174,255,148,150,164,167,173,176,185,189,190,192,255,144,128,145,146,175,176,191,128,140,141,255,166,176,178,191,192,255,186,128,137,138,170,171,179,180,181,182,191,160,161,162,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,128,191,128,129,130,131,137,138,139,140,141,142,143,144,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,182,183,184,188,189,190,191,132,187,129,130,132,133,134,176,177,178,179,180,181,182,183,128,191,128,129,130,131,132,133,134,135,144,136,143,145,191,192,255,182,183,184,128,191,128,191,191,128,190,192,255,128,146,147,148,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,129,191,192,255,158,159,128,157,160,191,192,255,128,191,164,169,171,172,173,174,175,180,181,182,183,184,185,187,188,189,190,191,128,163,165,186,144,145,146,147,148,150,151,152,155,157,158,160,170,171,172,175,128,159,161,169,173,191,128,191,10,13,34,36,37,92,128,191,192,223,224,239,240,247,248,255,10,13,34,92,36,37,128,191,192,223,224,239,240,247,248,255,10,13,36,123,123,126,126,37,123,126,10,13,128,191,192,223,224,239,240,247,248,255,128,191,128,191,128,191,10,13,36,37,128,191,192,223,224,239,240,247,248,255,10,13,36,37,128,191,192,223,224,239,240,247,248,255,10,13,10,13,123,10,13,126,10,13,126,126,128,191,128,191,128,191,10,13,36,37,128,191,192,223,224,239,240,247,248,255,10,13,36,37,128,191,192,223,224,239,240,247,248,255,10,13,10,13,123,10,13,126,10,13,126,126,128,191,128,191,128,191,95,194,195,198,199,203,204,205,206,207,210,212,213,214,215,216,217,219,220,221,222,223,224,225,226,227,228,233,234,237,238,239,240,65,90,97,122,128,191,192,193,196,218,229,236,241,247,248,255,45,95,194,195,198,199,203,204,205,206,207,210,212,213,214,215,216,217,219,220,221,222,223,224,225,226,227,228,233,234,237,239,240,243,48,57,65,90,97,122,196,218,229,236,128,191,170,181,186,128,191,151,183,128,255,192,255,0,127,173,130,133,146,159,165,171,175,191,192,255,181,190,128,175,176,183,184,185,186,191,134,139,141,162,128,135,136,255,182,130,137,176,151,152,154,160,136,191,192,255,128,143,144,170,171,175,176,178,179,191,128,159,160,191,176,128,138,139,173,174,255,148,150,164,167,173,176,185,189,190,192,255,144,128,145,146,175,176,191,128,140,141,255,166,176,178,191,192,255,186,128,137,138,170,171,179,180,181,182,191,160,161,162,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,128,191,128,129,130,131,137,138,139,140,141,142,143,144,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,182,183,184,188,189,190,191,132,187,129,130,132,133,134,176,177,178,179,180,181,182,183,128,191,128,129,130,131,132,133,134,135,144,136,143,145,191,192,255,182,183,184,128,191,128,191,191,128,190,192,255,128,146,147,148,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,129,191,192,255,158,159,128,157,160,191,192,255,128,191,164,169,171,172,173,174,175,180,181,182,183,184,185,187,188,189,190,191,128,163,165,186,144,145,146,147,148,150,151,152,155,157,158,160,170,171,172,175,128,159,161,169,173,191,128,191]);AS=new EE([0,1,1,2,3,2,0,32,31,36,1,4,0,0,0,0,1,2,1,1,1,1,0,1,1,0,0,2,0,0,0,1,32,0,0,0,0,1,3,1,1,1,0,2,0,1,1,2,0,3,0,1,0,2,1,2,0,0,5,1,4,0,0,1,43,0,0,0,2,3,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,4,1,0,15,0,0,0,1,6,1,0,0,1,0,2,0,0,0,9,0,1,1,0,0,0,3,0,1,0,28,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,2,0,0,18,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,16,36,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,28,0,0,0,1,1,1,1,0,0,2,0,1,0,0,0,0,0,0,0,0,0,1,1,4,0,0,2,2,0,11,0,0,0,0,0,0,0,1,1,3,0,0,4,0,0,0,18,0,0,0,1,4,1,4,1,0,3,2,2,2,1,0,0,1,8,0,0,0,4,12,0,2,0,3,0,1,0,2,0,1,2,0,3,1,2,0,0,0,0,0,1,1,0,0,1,28,3,0,1,1,2,1,0,1,1,2,1,1,2,1,1,0,2,1,1,1,1,0,0,6,1,1,0,0,46,1,1,0,0,0,0,2,1,0,0,0,1,0,0,0,0,0,0,0,13,2,0,0,0,9,0,1,28,0,1,3,0,2,0,0,0,1,0,1,1,2,0,18,2,0,0,16,35,0,0,0,1,0,28,0,0,0,0,1,0,2,0,0,1,0,0,1,0,0,1,0,0,0,0,1,11,0,0,0,0,4,0,12,1,7,0,4,0,0,0,0,1,2,1,1,1,1,0,1,1,0,0,2,0,0,0,1,32,0,0,0,0,1,3,1,1,1,0,2,0,1,1,2,0,3,0,1,0,2,1,2,0,0,5,1,4,0,0,1,43,0,0,0,2,3,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,4,1,0,15,0,0,0,1,6,1,0,0,1,0,2,0,0,0,9,0,1,1,0,0,0,3,0,1,0,28,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,2,0,0,18,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,16,36,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,28,0,0,0,1,1,1,1,0,0,2,0,1,0,0,0,0,0,0,0,0,0,1,1,4,0,0,2,2,0,11,0,0,0,0,0,0,0,1,1,3,0,0,4,0,0,0,18,0,0,0,1,4,1,4,1,0,3,2,2,2,1,0,0,1,8,0,0,0,4,12,0,2,0,3,0,1,0,2,0,1,2,0,0,3,0,1,1,1,2,2,4,1,6,2,4,2,4,1,4,0,6,1,3,1,2,0,2,11,1,1,1,0,1,1,0,2,0,3,3,2,1,0,0,0,1,0,1,0,1,1,0,2,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,4,3,2,2,0,6,1,0,1,1,0,2,0,4,3,0,1,1,0,0,0,0,0,0,0,1,0,0,0,1,0,3,0,2,0,0,0,3,0,2,1,1,3,1,0,0,0,0,0,5,2,0,0,0,0,0,0,1,0,0,1,1,0,0,35,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,3,0,1,0,0,3,0,0,1,0,0,0,0,28,0,0,0,0,1,0,3,1,4,0,1,0,0,1,0,0,1,0,0,0,0,1,1,0,7,0,0,2,2,0,11,0,0,0,0,0,1,1,3,0,0,4,0,0,0,12,1,4,1,5,2,0,3,2,2,2,1,7,0,7,17,3,0,2,0,3,0,0,1,0,2,0,2,0,0,0,0,0,1,0,0,0,2,2,1,0,0,0,2,2,4,0,0,0,0,1,2,1,1,1,1,0,1,1,0,0,2,0,0,0,1,32,0,0,0,0,1,3,1,1,1,0,2,0,1,1,2,0,3,0,1,0,2,1,2,0,0,5,1,4,0,0,1,43,0,0,0,2,3,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,4,1,0,15,0,0,0,1,6,1,0,0,1,0,2,0,0,0,9,0,1,1,0,0,0,3,0,1,0,28,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,2,0,0,18,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,16,36,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,28,0,0,0,1,1,1,1,0,0,2,0,1,0,0,0,0,0,0,0,0,0,1,1,4,0,0,2,2,0,11,0,0,0,0,0,0,0,1,1,3,0,0,4,0,0,0,18,0,0,0,1,4,1,4,1,0,3,2,2,2,1,0,0,1,8,0,0,0,4,12,0,2,0,3,0,1,0,2,0,1,2,0,0,3,0,1,1,1,2,2,4,1,6,2,4,2,4,1,4,0,6,1,3,1,2,0,2,11,1,1,1,0,1,1,0,2,0,3,3,2,1,0,0,0,1,0,1,0,1,1,0,2,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,4,3,2,2,0,6,1,0,1,1,0,2,0,4,3,0,1,1,0,0,0,0,0,0,0,1,0,0,0,1,0,3,0,2,0,0,0,3,0,2,1,1,3,1,0,0,0,0,0,5,2,0,0,0,0,0,0,1,0,0,1,1,0,0,35,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,3,0,1,0,0,3,0,0,1,0,0,0,0,28,0,0,0,0,1,0,3,1,4,0,1,0,0,1,0,0,1,0,0,0,0,1,1,0,7,0,0,2,2,0,11,0,0,0,0,0,1,1,3,0,0,4,0,0,0,12,1,4,1,5,2,0,3,2,2,2,1,7,0,7,17,3,0,2,0,3,0,0,1,0,2,0,53,2,1,1,1,1,1,2,3,2,2,1,34,1,1,0,3,2,0,0,0,1,2,4,1,0,1,0,0,0,0,1,1,1,0,0,1,30,47,13,9,3,0,1,28,2,0,18,16,0,6,4,2,2,0,1,1,1,2,1,2,0,0,0,4,2,2,3,3,2,1,1,0,0,0,4,2,2,3,3,2,1,1,0,0,0,33,34,0,3,2,0,0,0,1,2,4,1,0,1,0,0,0,0,1,1,1,0,0,1,30,47,13,9,3,0,1,28,2,0,18,16,0]);AT=new EE([0,0,0,0,1,1,1,5,5,5,0,0,3,0,1,1,4,2,3,0,1,0,2,2,4,2,2,3,1,1,1,1,0,1,1,2,2,1,4,6,9,6,8,5,8,7,10,4,6,4,7,7,5,5,4,5,1,2,8,4,3,3,3,0,3,1,2,1,2,2,3,3,1,3,2,2,1,2,2,2,3,4,4,3,1,2,1,3,2,2,2,2,2,3,3,1,1,2,1,3,2,2,3,2,7,0,1,4,1,2,4,2,1,2,0,2,2,3,5,5,1,4,1,1,2,2,1,0,0,1,1,1,1,1,2,2,2,2,1,1,1,4,2,2,3,1,4,4,6,1,3,1,1,2,1,1,1,5,3,1,1,1,2,3,3,1,2,2,1,4,1,2,5,2,1,1,0,2,2,2,2,2,2,2,2,2,1,1,2,4,2,1,2,2,2,6,1,1,2,1,2,1,1,1,2,2,2,1,3,2,5,2,8,6,2,2,2,2,3,1,3,1,2,1,3,2,2,3,1,1,1,1,1,1,1,2,2,4,1,2,1,0,1,1,1,1,0,1,2,3,1,3,3,1,0,3,0,2,3,1,0,0,0,0,2,2,2,2,1,5,2,2,5,7,5,0,1,0,1,1,1,1,1,0,1,1,0,3,3,1,1,2,1,3,5,1,1,2,2,1,1,1,1,2,6,3,7,2,6,1,6,2,8,0,4,2,5,2,3,3,3,1,2,8,2,0,2,1,2,1,5,2,1,3,3,0,2,1,2,1,0,1,1,3,1,1,2,3,0,0,3,2,4,1,4,1,1,3,1,1,1,1,2,2,1,3,1,4,3,3,1,1,5,2,1,1,2,1,2,1,3,2,0,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,0,1,1,2,2,1,1,1,3,2,1,0,2,1,1,1,1,0,3,0,1,1,4,2,3,0,1,0,2,2,4,2,2,3,1,1,1,1,0,1,1,2,2,1,4,6,9,6,8,5,8,7,10,4,6,4,7,7,5,5,4,5,1,2,8,4,3,3,3,0,3,1,2,1,2,2,3,3,1,3,2,2,1,2,2,2,3,4,4,3,1,2,1,3,2,2,2,2,2,3,3,1,1,2,1,3,2,2,3,2,7,0,1,4,1,2,4,2,1,2,0,2,2,3,5,5,1,4,1,1,2,2,1,0,0,1,1,1,1,1,2,2,2,2,1,1,1,4,2,2,3,1,4,4,6,1,3,1,1,2,1,1,1,5,3,1,1,1,2,3,3,1,2,2,1,4,1,2,5,2,1,1,0,2,2,2,2,2,2,2,2,2,1,1,2,4,2,1,2,2,2,6,1,1,2,1,2,1,1,1,2,2,2,1,3,2,5,2,8,6,2,2,2,2,3,1,3,1,2,1,3,2,2,3,1,1,1,1,1,1,1,2,2,4,1,2,1,0,1,1,1,1,0,1,2,3,1,3,3,1,0,3,0,2,3,1,0,0,0,0,2,2,2,2,1,5,2,2,5,7,5,0,1,0,1,1,1,1,1,0,1,1,1,2,2,3,3,4,7,5,7,5,3,3,7,3,13,1,3,5,3,5,3,6,5,2,2,8,4,1,2,3,2,10,2,2,0,2,3,3,1,2,3,3,1,2,3,3,4,4,2,1,2,2,3,2,2,5,3,2,3,2,1,3,3,6,2,2,5,2,5,1,1,2,4,1,11,1,3,8,4,2,1,0,4,3,3,3,2,9,1,1,4,3,2,2,2,3,4,2,3,2,4,3,2,2,3,3,4,3,3,4,2,5,4,8,7,1,2,1,3,1,2,5,1,2,2,2,2,1,3,2,2,3,3,1,9,1,5,1,3,2,2,3,2,3,3,3,1,3,3,2,2,4,5,3,3,4,3,3,3,2,2,2,4,2,2,1,3,3,3,3,3,3,2,2,3,2,3,3,2,3,2,3,1,2,2,2,2,2,2,2,2,2,2,2,3,2,3,2,3,5,3,3,1,2,3,2,2,1,2,3,4,3,0,3,0,2,3,1,0,0,0,0,2,3,2,4,6,4,1,1,2,1,2,1,3,2,3,2,5,1,1,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,3,0,1,1,4,2,3,0,1,0,2,2,4,2,2,3,1,1,1,1,0,1,1,2,2,1,4,6,9,6,8,5,8,7,10,4,6,4,7,7,5,5,4,5,1,2,8,4,3,3,3,0,3,1,2,1,2,2,3,3,1,3,2,2,1,2,2,2,3,4,4,3,1,2,1,3,2,2,2,2,2,3,3,1,1,2,1,3,2,2,3,2,7,0,1,4,1,2,4,2,1,2,0,2,2,3,5,5,1,4,1,1,2,2,1,0,0,1,1,1,1,1,2,2,2,2,1,1,1,4,2,2,3,1,4,4,6,1,3,1,1,2,1,1,1,5,3,1,1,1,2,3,3,1,2,2,1,4,1,2,5,2,1,1,0,2,2,2,2,2,2,2,2,2,1,1,2,4,2,1,2,2,2,6,1,1,2,1,2,1,1,1,2,2,2,1,3,2,5,2,8,6,2,2,2,2,3,1,3,1,2,1,3,2,2,3,1,1,1,1,1,1,1,2,2,4,1,2,1,0,1,1,1,1,0,1,2,3,1,3,3,1,0,3,0,2,3,1,0,0,0,0,2,2,2,2,1,5,2,2,5,7,5,0,1,0,1,1,1,1,1,0,1,1,1,2,2,3,3,4,7,5,7,5,3,3,7,3,13,1,3,5,3,5,3,6,5,2,2,8,4,1,2,3,2,10,2,2,0,2,3,3,1,2,3,3,1,2,3,3,4,4,2,1,2,2,3,2,2,5,3,2,3,2,1,3,3,6,2,2,5,2,5,1,1,2,4,1,11,1,3,8,4,2,1,0,4,3,3,3,2,9,1,1,4,3,2,2,2,3,4,2,3,2,4,3,2,2,3,3,4,3,3,4,2,5,4,8,7,1,2,1,3,1,2,5,1,2,2,2,2,1,3,2,2,3,3,1,9,1,5,1,3,2,2,3,2,3,3,3,1,3,3,2,2,4,5,3,3,4,3,3,3,2,2,2,4,2,2,1,3,3,3,3,3,3,2,2,3,2,3,3,2,3,2,3,1,2,2,2,2,2,2,2,2,2,2,2,3,2,3,2,3,5,3,3,1,2,3,2,2,1,2,3,4,3,0,3,0,2,3,1,0,0,0,0,2,3,2,4,6,4,1,1,2,1,2,1,3,2,3,2,11,0,0,0,0,0,0,0,1,0,0,0,5,0,0,1,1,1,0,1,1,5,4,2,0,1,0,2,2,5,2,3,5,3,2,3,5,1,1,1,3,1,1,2,2,3,1,2,3,1,5,6,0,0,0,0,0,0,0,0,5,1,1,1,5,6,0,0,0,0,0,0,1,1,1,5,6,0,0,0,0,0,0,1,1,1,8,5,1,1,1,0,1,1,5,4,2,0,1,0,2,2,5,2,3,5,3,2,3,5,1,1,1,3,1,1,2,2,3,1,2,3,1]);AU=new EF([0,0,2,4,7,12,16,18,56,93,135,137,142,146,147,149,151,157,162,167,169,172,174,177,181,187,190,193,199,201,203,205,208,241,243,245,248,251,254,262,270,281,289,298,306,315,324,336,343,350,358,366,375,381,389,395,403,405,408,422,428,436,440,444,446,493,495,498,500,505,511,517,522,525,529,532,535,537,540,543,546,550,555,560,564,566,569,571,575,578,581,584,587,591,596,600,602,604,607,609,613,616,619,627,631,639,655,657,662,664,668,679,683,685,688,690,693,698,702,708,714,725,730,733,736,739,742,744,748,749,752,754,784,786,788,791,795,798,802,804,806,808,814,817,820,824,826,831,836,843,846,850,854,856,859,879,881,883,890,894,896,898,900,903,907,911,913,917,920,922,927,945,984,990,993,995,997,999,1002,1005,1008,1011,1014,1018,1021,1024,1027,1029,1031,1034,1041,1044,1046,1049,1052,1055,1063,1065,1067,1070,1072,1075,1077,1079,1109,1112,1115,1118,1121,1126,1130,1137,1140,1149,1158,1161,1165,1168,1171,1175,1177,1181,1183,1186,1188,1192,1196,1200,1208,1210,1212,1216,1220,1222,1235,1237,1240,1243,1248,1250,1253,1255,1257,1260,1265,1267,1269,1274,1276,1279,1283,1303,1307,1311,1313,1315,1323,1325,1332,1337,1339,1343,1346,1349,1352,1356,1359,1362,1366,1376,1382,1385,1388,1398,1418,1424,1427,1429,1433,1435,1438,1440,1444,1446,1448,1452,1454,1458,1463,1469,1471,1473,1476,1478,1482,1489,1492,1494,1497,1501,1531,1536,1538,1541,1545,1554,1559,1567,1571,1579,1583,1591,1595,1606,1608,1614,1617,1625,1629,1634,1639,1644,1646,1649,1664,1668,1670,1673,1675,1724,1727,1734,1737,1739,1743,1747,1750,1754,1756,1759,1761,1763,1765,1767,1771,1773,1775,1778,1782,1796,1799,1803,1806,1811,1822,1827,1830,1860,1864,1867,1872,1874,1878,1881,1884,1886,1891,1893,1899,1904,1910,1912,1932,1940,1943,1945,1963,2001,2003,2006,2008,2013,2016,2045,2047,2049,2051,2053,2056,2058,2062,2065,2067,2070,2072,2074,2077,2079,2081,2083,2085,2087,2090,2093,2096,2109,2111,2115,2118,2120,2125,2128,2142,2145,2154,2156,2161,2165,2166,2168,2170,2176,2181,2186,2188,2191,2193,2196,2200,2206,2209,2212,2218,2220,2222,2224,2227,2260,2262,2264,2267,2270,2273,2281,2289,2300,2308,2317,2325,2334,2343,2355,2362,2369,2377,2385,2394,2400,2408,2414,2422,2424,2427,2441,2447,2455,2459,2463,2465,2512,2514,2517,2519,2524,2530,2536,2541,2544,2548,2551,2554,2556,2559,2562,2565,2569,2574,2579,2583,2585,2588,2590,2594,2597,2600,2603,2606,2610,2615,2619,2621,2623,2626,2628,2632,2635,2638,2646,2650,2658,2674,2676,2681,2683,2687,2698,2702,2704,2707,2709,2712,2717,2721,2727,2733,2744,2749,2752,2755,2758,2761,2763,2767,2768,2771,2773,2803,2805,2807,2810,2814,2817,2821,2823,2825,2827,2833,2836,2839,2843,2845,2850,2855,2862,2865,2869,2873,2875,2878,2898,2900,2902,2909,2913,2915,2917,2919,2922,2926,2930,2932,2936,2939,2941,2946,2964,3003,3009,3012,3014,3016,3018,3021,3024,3027,3030,3033,3037,3040,3043,3046,3048,3050,3053,3060,3063,3065,3068,3071,3074,3082,3084,3086,3089,3091,3094,3096,3098,3128,3131,3134,3137,3140,3145,3149,3156,3159,3168,3177,3180,3184,3187,3190,3194,3196,3200,3202,3205,3207,3211,3215,3219,3227,3229,3231,3235,3239,3241,3254,3256,3259,3262,3267,3269,3272,3274,3276,3279,3284,3286,3288,3293,3295,3298,3302,3322,3326,3330,3332,3334,3342,3344,3351,3356,3358,3362,3365,3368,3371,3375,3378,3381,3385,3395,3401,3404,3407,3417,3437,3443,3446,3448,3452,3454,3457,3459,3463,3465,3467,3471,3473,3475,3481,3484,3489,3494,3500,3510,3518,3530,3537,3547,3553,3565,3571,3589,3592,3600,3606,3616,3623,3630,3638,3646,3649,3654,3674,3680,3683,3687,3691,3695,3707,3710,3715,3716,3722,3729,3735,3738,3741,3745,3749,3752,3755,3760,3764,3770,3776,3779,3783,3786,3789,3794,3797,3800,3806,3810,3813,3817,3820,3823,3827,3831,3838,3841,3844,3850,3853,3860,3862,3864,3867,3876,3881,3895,3899,3903,3918,3924,3927,3930,3932,3937,3943,3947,3955,3961,3971,3974,3977,3982,3986,3989,3992,3995,3999,4004,4008,4012,4015,4020,4025,4028,4034,4038,4044,4049,4053,4057,4065,4068,4076,4082,4092,4103,4106,4109,4111,4115,4117,4120,4131,4135,4138,4141,4144,4147,4149,4153,4157,4160,4164,4169,4172,4182,4184,4225,4231,4235,4238,4241,4245,4248,4252,4256,4261,4263,4267,4271,4274,4277,4282,4291,4295,4300,4305,4309,4316,4320,4323,4327,4330,4335,4338,4341,4371,4375,4379,4383,4387,4392,4396,4402,4406,4414,4417,4422,4426,4429,4434,4437,4441,4444,4447,4450,4453,4456,4460,4464,4467,4477,4480,4483,4488,4494,4497,4512,4515,4519,4525,4529,4533,4536,4540,4547,4550,4553,4559,4562,4566,4571,4587,4589,4597,4599,4607,4613,4615,4619,4622,4625,4628,4632,4643,4646,4658,4682,4690,4692,4696,4699,4704,4707,4709,4714,4717,4723,4726,4734,4736,4738,4740,4742,4744,4746,4748,4750,4752,4755,4758,4760,4762,4764,4766,4769,4772,4777,4781,4782,4784,4786,4792,4797,4802,4804,4807,4809,4812,4816,4822,4825,4828,4834,4836,4838,4840,4843,4876,4878,4880,4883,4886,4889,4897,4905,4916,4924,4933,4941,4950,4959,4971,4978,4985,4993,5001,5010,5016,5024,5030,5038,5040,5043,5057,5063,5071,5075,5079,5081,5128,5130,5133,5135,5140,5146,5152,5157,5160,5164,5167,5170,5172,5175,5178,5181,5185,5190,5195,5199,5201,5204,5206,5210,5213,5216,5219,5222,5226,5231,5235,5237,5239,5242,5244,5248,5251,5254,5262,5266,5274,5290,5292,5297,5299,5303,5314,5318,5320,5323,5325,5328,5333,5337,5343,5349,5360,5365,5368,5371,5374,5377,5379,5383,5384,5387,5389,5419,5421,5423,5426,5430,5433,5437,5439,5441,5443,5449,5452,5455,5459,5461,5466,5471,5478,5481,5485,5489,5491,5494,5514,5516,5518,5525,5529,5531,5533,5535,5538,5542,5546,5548,5552,5555,5557,5562,5580,5619,5625,5628,5630,5632,5634,5637,5640,5643,5646,5649,5653,5656,5659,5662,5664,5666,5669,5676,5679,5681,5684,5687,5690,5698,5700,5702,5705,5707,5710,5712,5714,5744,5747,5750,5753,5756,5761,5765,5772,5775,5784,5793,5796,5800,5803,5806,5810,5812,5816,5818,5821,5823,5827,5831,5835,5843,5845,5847,5851,5855,5857,5870,5872,5875,5878,5883,5885,5888,5890,5892,5895,5900,5902,5904,5909,5911,5914,5918,5938,5942,5946,5948,5950,5958,5960,5967,5972,5974,5978,5981,5984,5987,5991,5994,5997,6001,6011,6017,6020,6023,6033,6053,6059,6062,6064,6068,6070,6073,6075,6079,6081,6083,6087,6089,6091,6097,6100,6105,6110,6116,6126,6134,6146,6153,6163,6169,6181,6187,6205,6208,6216,6222,6232,6239,6246,6254,6262,6265,6270,6290,6296,6299,6303,6307,6311,6323,6326,6331,6332,6338,6345,6351,6354,6357,6361,6365,6368,6371,6376,6380,6386,6392,6395,6399,6402,6405,6410,6413,6416,6422,6426,6429,6433,6436,6439,6443,6447,6454,6457,6460,6466,6469,6476,6478,6480,6483,6492,6497,6511,6515,6519,6534,6540,6543,6546,6548,6553,6559,6563,6571,6577,6587,6590,6593,6598,6602,6605,6608,6611,6615,6620,6624,6628,6631,6636,6641,6644,6650,6654,6660,6665,6669,6673,6681,6684,6692,6698,6708,6719,6722,6725,6727,6731,6733,6736,6747,6751,6754,6757,6760,6763,6765,6769,6773,6776,6780,6785,6788,6798,6800,6841,6847,6851,6854,6857,6861,6864,6868,6872,6877,6879,6883,6887,6890,6893,6898,6907,6911,6916,6921,6925,6932,6936,6939,6943,6946,6951,6954,6957,6987,6991,6995,6999,7003,7008,7012,7018,7022,7030,7033,7038,7042,7045,7050,7053,7057,7060,7063,7066,7069,7072,7076,7080,7083,7093,7096,7099,7104,7110,7113,7128,7131,7135,7141,7145,7149,7152,7156,7163,7166,7169,7175,7178,7182,7187,7203,7205,7213,7215,7223,7229,7231,7235,7238,7241,7244,7248,7259,7262,7274,7298,7306,7308,7312,7315,7320,7323,7325,7330,7333,7339,7342,7407,7410,7412,7414,7416,7418,7420,7423,7428,7431,7434,7436,7476,7478,7480,7482,7487,7491,7492,7494,7496,7503,7510,7517,7519,7521,7523,7526,7529,7535,7538,7543,7550,7555,7558,7562,7569,7601,7650,7665,7678,7683,7685,7689,7720,7726,7728,7749,7769,7771,7783,7794,7797,7800,7801,7803,7805,7807,7810,7812,7820,7822,7824,7826,7836,7845,7848,7852,7856,7859,7861,7863,7865,7867,7869,7879,7888,7891,7895,7899,7902,7904,7906,7908,7910,7912,7954,7994,7996,8001,8005,8006,8008,8010,8017,8024,8031,8033,8035,8037,8040,8043,8049,8052,8057,8064,8069,8072,8076,8083,8115,8164,8179,8192,8197,8199,8203,8234,8240,8242,8263,8283]);AV=new EF([1,0,3,2,3,4,2,6,8,8,7,5,9,9,7,5,7,5,10,11,12,13,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,11,11,14,14,38,0,11,12,13,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,11,11,14,14,38,0,44,45,11,11,46,13,15,16,17,16,47,48,20,49,22,23,50,51,52,53,54,55,56,57,58,59,60,61,62,37,39,63,41,64,65,66,11,11,11,14,38,0,44,0,11,11,11,11,0,11,11,11,0,11,0,11,11,0,0,0,0,0,0,11,0,0,0,0,11,11,11,11,11,0,0,11,0,0,11,0,11,0,0,11,0,0,0,11,11,11,11,11,11,0,11,11,0,11,11,0,0,0,0,0,0,11,11,0,0,11,0,11,11,11,0,67,68,69,70,14,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,0,11,0,11,0,11,11,0,11,11,0,0,0,11,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,0,11,11,11,11,11,11,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,0,11,11,11,11,11,0,0,0,0,0,0,0,0,11,11,11,11,11,11,0,11,11,11,11,11,11,11,0,11,0,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,0,11,11,11,11,11,11,11,0,11,11,11,0,11,11,11,0,11,0,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,16,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,14,15,133,134,135,136,137,14,16,14,0,11,0,11,11,0,0,11,0,0,0,0,11,0,0,0,0,0,11,0,0,0,0,0,11,11,11,11,11,0,0,0,11,0,0,0,11,11,11,0,0,0,11,11,0,0,0,11,11,11,0,0,0,11,11,11,11,0,11,11,11,11,0,0,0,0,0,11,11,11,11,0,0,11,11,11,0,0,11,11,11,11,0,11,11,0,11,11,0,0,0,11,11,11,0,0,0,0,11,11,11,11,11,0,0,0,0,11,0,11,11,0,11,11,0,11,0,11,11,11,0,11,11,0,0,0,11,0,0,0,0,0,0,0,11,11,11,11,0,11,11,11,11,11,11,11,0,138,139,140,141,142,143,144,145,146,14,147,148,149,150,151,0,11,0,0,0,0,0,11,11,0,11,11,11,0,11,11,11,11,11,11,11,11,11,11,0,11,11,11,0,0,11,11,11,0,0,11,0,0,11,11,11,11,11,0,0,0,0,11,11,11,11,11,11,0,11,11,11,11,11,0,152,109,153,154,155,14,156,157,16,14,0,11,11,11,11,0,0,0,11,0,0,11,11,11,0,0,0,11,11,0,119,0,16,14,14,158,0,14,0,11,16,159,160,16,161,162,16,57,163,164,165,166,167,16,168,169,170,16,171,172,173,15,174,175,176,15,177,16,14,0,0,11,11,0,0,0,11,11,11,11,0,11,11,0,0,0,0,11,11,0,0,11,11,0,0,0,0,0,0,11,11,11,0,0,0,11,0,0,0,11,11,0,11,11,11,11,0,11,11,11,11,0,11,11,11,11,11,11,0,0,0,11,11,11,11,0,178,179,0,14,0,11,0,0,11,16,180,181,182,183,57,184,185,55,186,187,188,189,190,191,192,193,194,14,0,0,11,0,11,11,11,11,11,11,11,0,11,11,11,0,11,0,0,11,0,11,0,0,11,11,11,11,0,11,11,11,0,0,11,11,11,11,0,11,11,0,0,11,11,11,11,11,0,195,196,197,198,199,200,201,202,203,204,205,201,206,207,208,209,38,0,210,211,16,212,213,214,215,216,217,218,219,220,16,14,221,222,223,224,16,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,16,144,14,240,0,11,11,11,11,11,0,0,0,11,0,11,11,0,11,0,11,11,0,0,0,11,11,11,0,0,0,11,11,11,0,0,0,0,11,0,0,11,0,0,11,11,11,0,0,11,0,11,11,11,0,11,11,11,11,11,11,0,0,0,11,11,0,11,11,0,11,11,0,11,11,0,11,11,11,11,11,11,11,0,11,0,11,0,11,11,0,11,0,11,11,0,11,0,11,0,241,212,242,243,244,245,246,247,248,249,250,98,251,16,252,253,254,16,255,129,256,257,258,259,260,261,262,263,16,0,0,0,11,11,11,0,11,11,0,11,11,0,0,0,0,0,11,11,11,11,0,11,11,11,11,11,11,0,0,0,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,0,11,11,0,0,0,0,11,11,11,0,0,0,11,0,0,0,11,11,0,11,11,11,0,11,0,0,0,11,11,0,11,11,11,0,11,11,11,0,0,0,0,11,16,181,264,265,14,16,14,0,0,11,0,11,16,264,14,0,16,266,14,0,0,11,16,267,268,269,172,270,271,16,272,273,274,14,0,0,11,11,11,0,11,11,0,11,11,11,11,0,0,11,0,0,11,11,0,11,0,16,14,0,275,16,276,0,14,0,11,0,11,277,16,278,279,0,11,0,0,0,11,11,11,11,0,280,281,282,16,283,284,285,286,287,288,289,290,291,292,293,294,295,296,14,0,11,11,11,0,0,0,0,11,11,0,0,11,0,0,0,0,0,0,0,11,0,11,0,0,0,0,0,0,11,11,11,11,11,0,0,11,0,0,0,11,0,0,11,0,0,11,0,0,11,0,0,0,11,11,11,0,0,0,11,11,11,11,0,297,16,298,16,299,300,301,302,14,0,11,11,11,11,11,0,0,0,11,0,0,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,0,303,16,14,0,11,304,16,100,14,0,11,305,0,14,0,11,16,306,14,0,0,11,307,0,16,308,14,0,0,11,11,11,11,0,11,11,11,11,0,11,11,11,11,11,0,0,11,0,11,11,11,0,11,0,11,11,11,0,0,0,0,0,0,0,11,11,11,0,11,0,0,0,11,11,11,11,0,309,310,69,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,331,332,333,334,335,336,330,0,11,11,11,11,0,11,0,11,11,0,11,11,11,0,0,0,0,0,0,0,0,0,11,11,11,11,11,0,11,11,11,11,11,11,11,0,11,11,11,0,11,11,11,11,11,11,11,0,11,11,11,0,11,11,11,11,11,11,11,0,11,11,11,0,11,11,11,11,11,11,11,11,11,11,0,11,0,11,11,11,11,11,0,11,11,0,11,11,11,11,11,11,11,0,11,11,11,0,11,11,11,11,0,11,11,11,11,0,11,11,11,11,0,11,0,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,0,11,0,11,11,0,11,0,337,338,339,101,102,103,104,105,340,107,108,109,110,111,112,341,342,167,343,258,117,344,119,229,269,122,345,346,347,348,349,350,351,352,353,354,131,355,16,14,15,16,134,135,136,137,14,14,0,11,11,0,11,11,11,11,11,11,0,0,0,11,0,11,11,11,11,0,11,11,11,0,11,11,0,11,11,11,0,0,11,11,11,0,0,11,11,0,11,0,11,0,11,11,11,0,0,11,11,0,11,11,0,11,11,11,0,356,140,142,143,144,145,146,14,357,148,358,150,359,0,11,11,0,0,0,0,11,0,0,11,11,11,11,11,0,360,109,361,154,155,14,156,157,16,14,0,11,11,11,11,0,0,0,11,16,159,160,16,362,363,219,308,163,164,165,364,167,365,366,367,368,369,370,371,372,373,374,175,176,15,375,16,14,0,0,0,0,11,11,11,0,0,0,0,0,11,11,0,11,11,11,0,11,11,0,0,0,11,11,0,11,11,11,11,0,11,0,11,11,11,11,11,0,0,0,0,0,11,11,11,11,11,11,0,11,0,16,180,181,376,183,57,184,185,55,186,187,377,14,190,378,192,193,194,14,0,11,11,11,11,11,11,11,0,11,11,0,11,0,379,380,197,198,199,381,201,202,382,383,384,201,206,207,208,209,38,0,210,211,16,212,213,215,385,217,386,219,220,16,14,387,222,223,224,16,225,226,227,228,229,230,231,232,388,234,235,389,237,238,239,16,144,14,240,0,0,11,0,0,11,0,11,11,11,11,11,0,11,11,0,390,391,392,393,394,395,396,397,247,398,319,399,213,400,401,402,403,404,401,405,406,407,258,408,260,409,410,271,0,11,0,11,0,11,0,11,0,11,11,0,11,0,11,11,11,0,11,11,0,0,11,11,11,0,11,0,11,0,11,11,0,11,0,11,0,11,0,11,0,11,0,0,0,11,11,11,0,11,11,0,16,267,229,411,401,412,271,16,413,414,274,14,0,11,0,11,11,11,0,0,0,11,11,0,277,16,278,415,0,11,11,0,16,283,284,285,286,287,288,289,290,291,292,416,14,0,0,0,11,16,417,16,265,300,301,302,14,0,0,11,419,419,419,419,418,419,419,419,418,419,418,419,419,418,418,418,418,418,418,419,418,418,418,418,419,419,419,419,419,418,418,419,418,418,419,418,419,418,418,419,418,418,418,419,419,419,419,419,419,418,419,419,418,419,419,418,418,418,418,418,418,419,419,418,418,419,418,419,419,419,418,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,418,419,418,419,418,419,419,418,419,419,418,418,418,419,418,418,418,418,418,418,418,419,418,418,418,418,418,418,418,419,419,419,419,419,419,419,419,419,419,419,418,418,418,418,418,418,418,418,419,419,419,419,419,419,419,419,419,418,418,418,418,418,418,418,418,419,419,419,419,419,419,419,419,419,418,419,419,419,419,419,419,419,419,418,419,419,419,419,419,419,419,419,419,419,419,418,419,419,419,419,419,419,418,419,419,419,419,419,419,418,418,418,418,418,418,418,418,419,419,419,419,419,419,419,419,418,419,419,419,419,419,419,419,419,418,419,419,419,419,419,418,418,418,418,418,418,418,418,419,419,419,419,419,419,418,419,419,419,419,419,419,419,418,419,418,419,419,418,419,419,419,419,419,419,419,419,419,419,419,419,419,418,419,419,419,419,419,418,419,419,419,419,419,419,419,418,419,419,419,418,419,419,419,418,419,418,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,425,489,490,491,492,493,494,425,470,425,418,419,418,419,419,418,418,419,418,418,418,418,419,418,418,418,418,418,419,418,418,418,418,418,419,419,419,419,419,418,418,418,419,418,418,418,419,419,419,418,418,418,419,419,418,418,418,419,419,419,418,418,418,419,419,419,419,418,419,419,419,419,418,418,418,418,418,419,419,419,419,418,418,419,419,419,418,418,419,419,419,419,418,419,419,418,419,419,418,418,418,419,419,419,418,418,418,418,419,419,419,419,419,418,418,418,418,419,418,419,419,418,419,419,418,419,418,419,419,419,418,419,419,418,418,418,419,418,418,418,418,418,418,418,419,419,419,419,418,419,419,419,419,419,419,419,418,495,496,497,498,499,500,501,502,503,425,504,505,506,507,508,418,419,418,418,418,418,418,419,419,418,419,419,419,418,419,419,419,419,419,419,419,419,419,419,418,419,419,419,418,418,419,419,419,418,418,419,418,418,419,419,419,419,419,418,418,418,418,419,419,419,419,419,419,418,419,419,419,419,419,418,509,464,510,511,512,425,513,514,470,425,418,419,419,419,419,418,418,418,419,418,418,419,419,419,418,418,418,419,419,418,475,418,470,425,425,515,418,425,418,419,470,516,517,470,518,519,470,520,521,522,523,524,525,470,526,527,528,470,529,530,531,489,532,533,534,489,535,470,425,418,418,419,419,418,418,418,419,419,419,419,418,419,419,418,418,418,418,419,419,418,418,419,419,418,418,418,418,418,418,419,419,419,418,418,418,419,418,418,418,419,419,418,419,419,419,419,418,419,419,419,419,418,419,419,419,419,419,419,418,418,418,419,419,419,419,418,536,537,418,425,418,419,418,418,419,470,538,539,540,541,520,542,543,544,545,546,547,548,549,550,551,552,553,425,418,418,419,418,419,419,419,419,419,419,419,418,419,419,419,418,419,418,418,419,418,419,418,418,419,419,419,419,418,419,419,419,418,418,419,419,419,419,418,419,419,418,418,419,419,419,419,419,418,554,555,556,557,558,559,560,561,562,563,564,560,566,567,568,569,565,418,570,571,470,572,573,574,575,576,577,578,579,580,470,425,581,582,583,584,470,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,470,501,425,600,418,419,419,419,419,419,418,418,418,419,418,419,419,418,419,418,419,419,418,418,418,419,419,419,418,418,418,419,419,419,418,418,418,418,419,418,418,419,418,418,419,419,419,418,418,419,418,419,419,419,418,419,419,419,419,419,419,418,418,418,419,419,418,419,419,418,419,419,418,419,419,418,419,419,419,419,419,419,419,418,419,418,419,418,419,419,418,419,418,419,419,418,419,418,419,418,601,572,602,603,604,605,606,607,608,609,610,453,611,470,612,613,614,470,615,485,616,617,618,619,620,621,622,623,470,418,418,418,419,419,419,418,419,419,418,419,419,418,418,418,418,418,419,419,419,419,418,419,419,419,419,419,419,418,418,418,419,419,419,419,419,419,419,419,419,418,419,419,419,419,419,419,419,419,418,419,419,418,418,418,418,419,419,419,418,418,418,419,418,418,418,419,419,418,419,419,419,418,419,418,418,418,419,419,418,419,419,419,418,419,419,419,418,418,418,418,419,470,539,624,625,425,470,425,418,418,419,418,419,470,624,425,418,470,626,425,418,418,419,470,627,628,629,530,630,631,470,632,633,634,425,418,418,419,419,419,418,419,419,418,419,419,419,419,418,418,419,418,418,419,419,418,419,418,470,425,418,635,470,636,418,425,418,419,418,419,637,470,638,639,418,419,418,418,418,419,419,419,419,418,640,641,642,470,643,644,645,646,647,648,649,650,651,652,653,654,655,656,425,418,419,419,419,418,418,418,418,419,419,418,418,419,418,418,418,418,418,418,418,419,418,419,418,418,418,418,418,418,419,419,419,419,419,418,418,419,418,418,418,419,418,418,419,418,418,419,418,418,419,418,418,418,419,419,419,418,418,418,419,419,419,419,418,657,470,658,470,659,660,661,662,425,418,419,419,419,419,419,418,418,418,419,418,418,419,419,419,419,419,419,419,419,419,419,418,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,418,419,419,419,419,419,418,663,470,425,418,419,664,470,455,425,418,419,665,418,425,418,419,470,666,425,418,418,419,667,418,470,668,425,418,418,419,670,669,419,419,419,419,670,669,419,670,669,670,670,419,670,669,419,670,419,670,669,419,670,419,670,419,669,670,670,670,670,670,670,670,670,669,419,419,670,670,419,670,419,670,669,670,670,670,670,670,419,670,419,670,419,670,669,670,670,419,670,419,670,669,670,670,670,670,670,419,670,419,670,669,419,419,670,419,670,669,670,670,670,419,670,419,670,419,670,419,670,669,670,419,670,419,670,669,419,670,670,670,670,419,670,419,670,419,670,419,670,419,670,419,670,669,419,670,669,670,670,670,419,670,419,670,669,670,419,670,419,670,669,419,670,670,670,670,419,670,419,670,669,419,670,419,670,419,670,669,670,670,419,670,419,670,669,419,670,419,670,419,670,419,669,670,670,670,419,670,419,670,669,419,670,669,670,670,419,670,669,670,670,670,419,670,670,670,670,670,670,419,419,670,419,670,419,670,419,670,669,670,419,670,419,670,669,419,670,669,670,419,670,669,670,419,670,669,419,419,670,669,419,670,419,670,419,670,419,670,419,670,419,669,670,670,419,670,670,670,670,419,419,670,670,670,670,670,419,670,670,670,670,670,669,419,670,670,419,670,419,669,670,670,419,670,669,419,419,670,419,669,670,670,669,419,670,419,669,670,669,419,670,419,670,419,669,670,670,669,419,670,419,670,419,670,669,670,419,670,419,670,669,419,670,669,419,419,670,669,670,419,669,670,669,419,670,419,670,419,669,670,669,419,419,670,669,670,419,670,419,670,669,419,670,419,669,670,669,419,419,670,419,669,670,669,419,419,670,669,670,419,670,669,670,419,670,669,670,419,670,419,670,419,669,670,669,419,419,670,669,670,419,670,419,670,669,419,670,669,670,670,419,670,419,670,669,669,419,669,419,670,670,419,670,670,670,670,670,670,670,669,419,670,670,670,419,669,670,670,670,419,670,419,670,419,670,419,670,419,670,669,419,419,670,669,670,419,670,669,419,419,670,419,419,419,670,419,670,419,670,419,670,419,669,419,670,419,670,419,669,670,669,419,670,419,669,670,419,670,670,670,669,419,670,419,419,670,419,669,670,670,669,419,670,670,670,670,419,670,419,669,670,670,670,419,670,669,670,419,670,419,670,419,670,419,670,669,670,670,419,670,669,419,670,419,670,419,669,670,670,669,419,670,419,669,670,669,419,670,669,419,670,419,670,669,670,670,670,669,419,419,419,670,669,419,670,419,669,670,669,419,670,419,670,419,669,670,670,670,669,419,670,419,669,670,670,670,670,669,419,670,419,670,669,419,419,670,419,670,669,670,419,670,419,669,670,670,669,419,670,419,670,669,419,670,670,670,419,670,419,669,419,670,669,670,419,419,670,419,670,419,669,670,670,670,670,669,419,670,419,670,419,670,419,670,419,670,669,670,670,670,419,670,419,670,419,670,419,669,670,670,419,419,670,669,670,419,670,670,669,419,670,419,670,669,419,419,670,670,670,670,419,670,419,670,419,669,670,670,419,669,670,669,419,670,419,669,670,669,419,670,419,669,670,419,670,670,669,419,670,670,419,669,670,669,419,670,419,670,669,670,419,670,419,669,670,669,419,670,419,670,419,670,419,670,419,670,669,671,669,672,673,674,675,676,677,678,679,680,681,682,674,683,684,685,686,687,674,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,674,703,671,683,671,704,671,669,670,670,670,670,419,669,670,670,669,419,670,669,419,419,670,669,419,670,419,669,670,669,419,419,670,419,669,670,670,669,419,670,670,670,669,419,670,419,670,670,669,419,419,670,419,669,670,669,419,670,669,419,419,670,419,670,669,419,670,419,419,670,419,670,419,669,670,670,669,419,670,670,419,670,669,419,670,419,670,669,419,670,419,669,419,670,670,670,419,670,669,670,419,670,669,419,670,669,670,419,670,669,419,670,669,419,670,419,670,669,419,670,669,419,670,669,705,706,707,708,709,710,711,712,713,714,715,716,676,717,718,719,720,721,718,722,723,724,725,726,727,728,729,730,671,669,670,419,670,669,670,419,670,669,670,419,670,669,670,419,670,669,419,670,419,670,669,670,419,670,669,670,419,419,419,670,669,670,419,670,669,670,670,670,670,419,670,419,669,670,669,419,419,670,419,670,669,670,419,670,669,419,670,669,670,670,419,670,669,419,670,669,670,419,670,669,419,670,669,419,670,669,419,670,669,670,669,419,419,670,669,670,419,670,669,419,670,419,669,670,669,419,674,731,671,674,732,674,733,683,671,669,670,669,419,670,669,419,674,732,683,671,669,674,734,671,683,671,669,670,669,419,674,735,692,736,718,737,730,674,738,739,740,671,683,671,669,670,669,419,670,419,670,669,419,670,419,670,419,669,670,670,669,419,670,419,670,669,419,670,669,674,683,425,669,741,674,742,683,671,669,425,670,669,419,670,669,419,743,674,744,745,671,669,419,670,669,670,670,669,419,419,670,419,670,669,674,746,747,748,749,750,751,752,753,754,755,756,671,683,671,669,670,419,670,670,670,670,670,670,670,419,670,419,670,670,670,670,670,670,669,419,670,670,419,670,419,669,670,419,670,670,670,419,670,670,419,670,670,419,670,670,419,670,670,669,419,674,757,674,733,758,759,760,671,683,671,669,670,669,419,670,670,670,419,670,670,670,419,670,419,670,669,419,419,419,419,670,670,419,419,419,419,419,670,670,670,670,670,670,670,419,670,419,670,419,669,670,670,670,419,670,419,670,669,683,425,761,674,683,425,670,669,419,762,674,763,683,425,670,669,419,670,419,764,683,671,669,425,670,669,419,674,765,671,683,671,669,670,669,419,766,766,766,768,769,770,766,767,767,771,768,771,769,771,767,772,773,772,775,774,776,774,777,774,779,778,781,782,780,781,783,780,785,784,786,784,787,784,789,788,791,792,790,791,793,790,795,795,795,795,794,795,795,795,794,795,794,795,795,794,794,794,794,794,794,795,794,794,794,794,795,795,795,795,795,794,794,795,794,794,795,794,795,794,794,795,794,794,794,795,795,795,795,795,795,794,795,795,794,795,795,794,794,794,794,794,794,795,795,794,794,795,794,795,795,795,794,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,794,795,794,795,794,795,795,794,795,795,794,794,794,795,794,794,794,794,794,794,794,795,794,794,794,794,794,794,794,795,795,795,795,795,795,795,795,795,795,795,794,794,794,794,794,794,794,794,795,795,795,795,795,795,795,795,795,794,794,794,794,794,794,794,794,795,795,795,795,795,795,795,795,795,794,795,795,795,795,795,795,795,795,794,795,795,795,795,795,795,795,795,795,795,795,794,795,795,795,795,795,795,794,795,795,795,795,795,795,794,794,794,794,794,794,794,794,795,795,795,795,795,795,795,795,794,795,795,795,795,795,795,795,795,794,795,795,795,795,795,794,794,794,794,794,794,794,794,795,795,795,795,795,795,794,795,795,795,795,795,795,795,794,795,794,795,795,794,795,795,795,795,795,795,795,795,795,795,795,795,795,794,795,795,795,795,795,794,795,795,795,795,795,795,795,794,795,795,795,794,795,795,795,794,795,794,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,801,865,866,867,868,869,870,801,846,801,794,795,794,795,795,794,794,795,794,794,794,794,795,794,794,794,794,794,795,794,794,794,794,794,795,795,795,795,795,794,794,794,795,794,794,794,795,795,795,794,794,794,795,795,794,794,794,795,795,795,794,794,794,795,795,795,795,794,795,795,795,795,794,794,794,794,794,795,795,795,795,794,794,795,795,795,794,794,795,795,795,795,794,795,795,794,795,795,794,794,794,795,795,795,794,794,794,794,795,795,795,795,795,794,794,794,794,795,794,795,795,794,795,795,794,795,794,795,795,795,794,795,795,794,794,794,795,794,794,794,794,794,794,794,795,795,795,795,794,795,795,795,795,795,795,795,794,871,872,873,874,875,876,877,878,879,801,880,881,882,883,884,794,795,794,794,794,794,794,795,795,794,795,795,795,794,795,795,795,795,795,795,795,795,795,795,794,795,795,795,794,794,795,795,795,794,794,795,794,794,795,795,795,795,795,794,794,794,794,795,795,795,795,795,795,794,795,795,795,795,795,794,885,840,886,887,888,801,889,890,846,801,794,795,795,795,795,794,794,794,795,794,794,795,795,795,794,794,794,795,795,794,851,794,846,801,801,891,794,801,794,795,846,892,893,846,894,895,846,896,897,898,899,900,901,846,902,903,904,846,905,906,907,865,908,909,910,865,911,846,801,794,794,795,795,794,794,794,795,795,795,795,794,795,795,794,794,794,794,795,795,794,794,795,795,794,794,794,794,794,794,795,795,795,794,794,794,795,794,794,794,795,795,794,795,795,795,795,794,795,795,795,795,794,795,795,795,795,795,795,794,794,794,795,795,795,795,794,912,913,794,801,794,795,794,794,795,846,914,915,916,917,896,918,919,920,921,922,923,924,925,926,927,928,929,801,794,794,795,794,795,795,795,795,795,795,795,794,795,795,795,794,795,794,794,795,794,795,794,794,795,795,795,795,794,795,795,795,794,794,795,795,795,795,794,795,795,794,794,795,795,795,795,795,794,930,931,932,933,934,935,936,937,938,939,940,936,942,943,944,945,941,794,946,947,846,948,949,950,951,952,953,954,955,956,846,801,957,958,959,960,846,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,846,877,801,976,794,795,795,795,795,795,794,794,794,795,794,795,795,794,795,794,795,795,794,794,794,795,795,795,794,794,794,795,795,795,794,794,794,794,795,794,794,795,794,794,795,795,795,794,794,795,794,795,795,795,794,795,795,795,795,795,795,794,794,794,795,795,794,795,795,794,795,795,794,795,795,794,795,795,795,795,795,795,795,794,795,794,795,794,795,795,794,795,794,795,795,794,795,794,795,794,977,948,978,979,980,981,982,983,984,985,986,829,987,846,988,989,990,846,991,861,992,993,994,995,996,997,998,999,846,794,794,794,795,795,795,794,795,795,794,795,795,794,794,794,794,794,795,795,795,795,794,795,795,795,795,795,795,794,794,794,795,795,795,795,795,795,795,795,795,794,795,795,795,795,795,795,795,795,794,795,795,794,794,794,794,795,795,795,794,794,794,795,794,794,794,795,795,794,795,795,795,794,795,794,794,794,795,795,794,795,795,795,794,795,795,795,794,794,794,794,795,846,915,1000,1001,801,846,801,794,794,795,794,795,846,1000,801,794,846,1002,801,794,794,795,846,1003,1004,1005,906,1006,1007,846,1008,1009,1010,801,794,794,795,795,795,794,795,795,794,795,795,795,795,794,794,795,794,794,795,795,794,795,794,846,801,794,1011,846,1012,794,801,794,795,794,795,1013,846,1014,1015,794,795,794,794,794,795,795,795,795,794,1016,1017,1018,846,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,801,794,795,795,795,794,794,794,794,795,795,794,794,795,794,794,794,794,794,794,794,795,794,795,794,794,794,794,794,794,795,795,795,795,795,794,794,795,794,794,794,795,794,794,795,794,794,795,794,794,795,794,794,794,795,795,795,794,794,794,795,795,795,795,794,1033,846,1034,846,1035,1036,1037,1038,801,794,795,795,795,795,795,794,794,794,795,794,794,795,795,795,795,795,795,795,795,795,795,794,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,794,795,795,795,795,795,794,1039,846,801,794,795,1040,846,831,801,794,795,1041,794,801,794,795,846,1042,801,794,794,795,1043,794,846,1044,801,794,794,795,1046,1045,795,795,795,795,1046,1045,795,1046,1045,1046,1046,795,1046,1045,795,1046,795,1046,1045,795,1046,795,1046,795,1045,1046,1046,1046,1046,1046,1046,1046,1046,1045,795,795,1046,1046,795,1046,795,1046,1045,1046,1046,1046,1046,1046,795,1046,795,1046,795,1046,1045,1046,1046,795,1046,795,1046,1045,1046,1046,1046,1046,1046,795,1046,795,1046,1045,795,795,1046,795,1046,1045,1046,1046,1046,795,1046,795,1046,795,1046,795,1046,1045,1046,795,1046,795,1046,1045,795,1046,1046,1046,1046,795,1046,795,1046,795,1046,795,1046,795,1046,795,1046,1045,795,1046,1045,1046,1046,1046,795,1046,795,1046,1045,1046,795,1046,795,1046,1045,795,1046,1046,1046,1046,795,1046,795,1046,1045,795,1046,795,1046,795,1046,1045,1046,1046,795,1046,795,1046,1045,795,1046,795,1046,795,1046,795,1045,1046,1046,1046,795,1046,795,1046,1045,795,1046,1045,1046,1046,795,1046,1045,1046,1046,1046,795,1046,1046,1046,1046,1046,1046,795,795,1046,795,1046,795,1046,795,1046,1045,1046,795,1046,795,1046,1045,795,1046,1045,1046,795,1046,1045,1046,795,1046,1045,795,795,1046,1045,795,1046,795,1046,795,1046,795,1046,795,1046,795,1045,1046,1046,795,1046,1046,1046,1046,795,795,1046,1046,1046,1046,1046,795,1046,1046,1046,1046,1046,1045,795,1046,1046,795,1046,795,1045,1046,1046,795,1046,1045,795,795,1046,795,1045,1046,1046,1045,795,1046,795,1045,1046,1045,795,1046,795,1046,795,1045,1046,1046,1045,795,1046,795,1046,795,1046,1045,1046,795,1046,795,1046,1045,795,1046,1045,795,795,1046,1045,1046,795,1045,1046,1045,795,1046,795,1046,795,1045,1046,1045,795,795,1046,1045,1046,795,1046,795,1046,1045,795,1046,795,1045,1046,1045,795,795,1046,795,1045,1046,1045,795,795,1046,1045,1046,795,1046,1045,1046,795,1046,1045,1046,795,1046,795,1046,795,1045,1046,1045,795,795,1046,1045,1046,795,1046,795,1046,1045,795,1046,1045,1046,1046,795,1046,795,1046,1045,1045,795,1045,795,1046,1046,795,1046,1046,1046,1046,1046,1046,1046,1045,795,1046,1046,1046,795,1045,1046,1046,1046,795,1046,795,1046,795,1046,795,1046,795,1046,1045,795,795,1046,1045,1046,795,1046,1045,795,795,1046,795,795,795,1046,795,1046,795,1046,795,1046,795,1045,795,1046,795,1046,795,1045,1046,1045,795,1046,795,1045,1046,795,1046,1046,1046,1045,795,1046,795,795,1046,795,1045,1046,1046,1045,795,1046,1046,1046,1046,795,1046,795,1045,1046,1046,1046,795,1046,1045,1046,795,1046,795,1046,795,1046,795,1046,1045,1046,1046,795,1046,1045,795,1046,795,1046,795,1045,1046,1046,1045,795,1046,795,1045,1046,1045,795,1046,1045,795,1046,795,1046,1045,1046,1046,1046,1045,795,795,795,1046,1045,795,1046,795,1045,1046,1045,795,1046,795,1046,795,1045,1046,1046,1046,1045,795,1046,795,1045,1046,1046,1046,1046,1045,795,1046,795,1046,1045,795,795,1046,795,1046,1045,1046,795,1046,795,1045,1046,1046,1045,795,1046,795,1046,1045,795,1046,1046,1046,795,1046,795,1045,795,1046,1045,1046,795,795,1046,795,1046,795,1045,1046,1046,1046,1046,1045,795,1046,795,1046,795,1046,795,1046,795,1046,1045,1046,1046,1046,795,1046,795,1046,795,1046,795,1045,1046,1046,795,795,1046,1045,1046,795,1046,1046,1045,795,1046,795,1046,1045,795,795,1046,1046,1046,1046,795,1046,795,1046,795,1045,1046,1046,795,1045,1046,1045,795,1046,795,1045,1046,1045,795,1046,795,1045,1046,795,1046,1046,1045,795,1046,1046,795,1045,1046,1045,795,1046,795,1046,1045,1046,795,1046,795,1045,1046,1045,795,1046,795,1046,795,1046,795,1046,795,1046,1045,1047,1045,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1050,1059,1060,1061,1062,1063,1050,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1050,1079,1047,1059,1047,1080,1047,1045,1046,1046,1046,1046,795,1045,1046,1046,1045,795,1046,1045,795,795,1046,1045,795,1046,795,1045,1046,1045,795,795,1046,795,1045,1046,1046,1045,795,1046,1046,1046,1045,795,1046,795,1046,1046,1045,795,795,1046,795,1045,1046,1045,795,1046,1045,795,795,1046,795,1046,1045,795,1046,795,795,1046,795,1046,795,1045,1046,1046,1045,795,1046,1046,795,1046,1045,795,1046,795,1046,1045,795,1046,795,1045,795,1046,1046,1046,795,1046,1045,1046,795,1046,1045,795,1046,1045,1046,795,1046,1045,795,1046,1045,795,1046,795,1046,1045,795,1046,1045,795,1046,1045,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1052,1093,1094,1095,1096,1097,1094,1098,1099,1100,1101,1102,1103,1104,1105,1106,1047,1045,1046,795,1046,1045,1046,795,1046,1045,1046,795,1046,1045,1046,795,1046,1045,795,1046,795,1046,1045,1046,795,1046,1045,1046,795,795,795,1046,1045,1046,795,1046,1045,1046,1046,1046,1046,795,1046,795,1045,1046,1045,795,795,1046,795,1046,1045,1046,795,1046,1045,795,1046,1045,1046,1046,795,1046,1045,795,1046,1045,1046,795,1046,1045,795,1046,1045,795,1046,1045,795,1046,1045,1046,1045,795,795,1046,1045,1046,795,1046,1045,795,1046,795,1045,1046,1045,795,1050,1107,1047,1050,1108,1050,1109,1059,1047,1045,1046,1045,795,1046,1045,795,1050,1108,1059,1047,1045,1050,1110,1047,1059,1047,1045,1046,1045,795,1050,1111,1068,1112,1094,1113,1106,1050,1114,1115,1116,1047,1059,1047,1045,1046,1045,795,1046,795,1046,1045,795,1046,795,1046,795,1045,1046,1046,1045,795,1046,795,1046,1045,795,1046,1045,1050,1059,801,1045,1117,1050,1118,1059,1047,1045,801,1046,1045,795,1046,1045,795,1119,1050,1120,1121,1047,1045,795,1046,1045,1046,1046,1045,795,795,1046,795,1046,1045,1050,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1047,1059,1047,1045,1046,795,1046,1046,1046,1046,1046,1046,1046,795,1046,795,1046,1046,1046,1046,1046,1046,1045,795,1046,1046,795,1046,795,1045,1046,795,1046,1046,1046,795,1046,1046,795,1046,1046,795,1046,1046,795,1046,1046,1045,795,1050,1133,1050,1109,1134,1135,1136,1047,1059,1047,1045,1046,1045,795,1046,1046,1046,795,1046,1046,1046,795,1046,795,1046,1045,795,795,795,795,1046,1046,795,795,795,795,795,1046,1046,1046,1046,1046,1046,1046,795,1046,795,1046,795,1045,1046,1046,1046,795,1046,795,1046,1045,1059,801,1137,1050,1059,801,1046,1045,795,1138,1050,1139,1059,801,1046,1045,795,1046,795,1140,1059,1047,1045,801,1046,1045,795,1050,1141,1047,1059,1047,1045,1046,1045,795,1142,1143,1144,1142,1145,1146,1147,1149,1150,1151,1152,1153,1154,670,670,419,1155,1156,1157,1158,670,1161,1162,1164,1165,1166,1160,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1188,1189,1190,1191,1192,1193,670,1148,7,1148,419,1148,419,1160,1163,1187,1194,1159,1142,1142,1195,1143,1196,1198,1197,4,1147,1200,1197,1201,1197,2,1147,1197,6,8,8,7,1202,1203,1204,1197,1205,1206,1197,1207,1197,419,419,1209,1210,489,470,1211,470,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,544,1223,520,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,419,419,419,425,565,1208,1236,1197,1237,1197,670,1238,419,419,419,670,1238,670,670,419,1238,419,1238,419,1238,419,670,670,670,670,670,1238,419,670,670,670,419,670,419,1238,419,670,670,670,670,419,1238,670,419,670,419,670,419,670,670,419,670,1238,419,670,419,670,419,670,1238,670,419,1238,670,419,670,419,1238,670,670,670,670,670,1238,419,419,670,419,670,1238,670,419,1238,670,670,1238,419,419,670,419,670,419,670,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,715,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1260,1262,1263,1264,1265,1266,671,1238,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,725,1286,1287,1288,692,1289,1290,1291,1292,1293,1294,671,1295,1296,1297,1298,1299,1300,1301,1302,674,1303,671,674,1304,1305,1306,1307,683,1238,1308,1309,1310,1311,703,1312,1313,683,1314,1315,1316,1317,1318,671,1238,1319,1278,1320,1321,1322,683,1323,1324,674,671,683,425,1238,1288,671,674,683,425,683,425,1325,683,1238,425,674,1326,1327,674,1328,1329,681,1330,1331,1332,1333,1334,1284,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1303,1347,674,683,425,1238,1348,1349,683,671,1238,425,671,1238,674,1350,731,1351,1352,1353,1354,1355,1356,1357,1358,671,1359,1360,1361,1362,1363,1364,671,683,1238,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1372,1378,1379,1380,1381,1365,1377,1365,1238,1365,1238,1382,1382,1383,1384,1385,1386,1387,1388,1389,1390,1387,767,1391,1391,1391,1392,1391,1391,768,769,770,1391,767,1382,1382,1393,1396,1397,1395,1398,1399,1398,1400,1391,1402,1401,1396,1403,1395,1405,1404,1394,1394,1394,768,769,770,1394,767,767,1406,773,1406,1407,1406,775,1408,1409,1410,1411,1412,1413,1414,1411,776,775,1408,1415,1415,777,779,1416,1415,776,1418,1419,1417,1418,1419,1420,1417,775,1408,1421,1415,775,1408,1415,1423,1422,1425,1424,776,1426,777,1426,779,1426,785,1427,1428,1429,1430,1431,1432,1433,1430,786,785,1427,1434,1434,787,789,1435,1434,786,1437,1438,1436,1437,1438,1439,1436,785,1427,1440,1434,785,1427,1434,1442,1441,1444,1443,786,1445,787,1445,789,1445,795,1448,1449,1451,1452,1453,1447,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1475,1476,1477,1478,1479,1480,795,795,1446,1447,1450,1474,1481,1446,1046,795,795,1483,1484,865,846,1485,846,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,920,1497,896,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,795,795,795,801,941,1482,1046,1510,795,795,795,1046,1510,1046,1046,795,1510,795,1510,795,1510,795,1046,1046,1046,1046,1046,1510,795,1046,1046,1046,795,1046,795,1510,795,1046,1046,1046,1046,795,1510,1046,795,1046,795,1046,795,1046,1046,795,1046,1510,795,1046,795,1046,795,1046,1510,1046,795,1510,1046,795,1046,795,1510,1046,1046,1046,1046,1046,1510,795,795,1046,795,1046,1510,1046,795,1510,1046,1046,1510,795,795,1046,795,1046,795,1046,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1091,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1532,1534,1535,1536,1537,1538,1047,1510,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1101,1558,1559,1560,1068,1561,1562,1563,1564,1565,1566,1047,1567,1568,1569,1570,1571,1572,1573,1574,1050,1575,1047,1050,1576,1577,1578,1579,1059,1510,1580,1581,1582,1583,1079,1584,1585,1059,1586,1587,1588,1589,1590,1047,1510,1591,1550,1592,1593,1594,1059,1595,1596,1050,1047,1059,801,1510,1560,1047,1050,1059,801,1059,801,1597,1059,1510,801,1050,1598,1599,1050,1600,1601,1057,1602,1603,1604,1605,1606,1556,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1575,1619,1050,1059,801,1510,1620,1621,1059,1047,1510,801,1047,1510,1050,1622,1107,1623,1624,1625,1626,1627,1628,1629,1630,1047,1631,1632,1633,1634,1635,1636,1047,1059,1510,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1644,1650,1651,1652,1653,1637,1649,1637,1510,1637,1510]);AW=new EF([1459,1459,2,3,1459,1459,4,1467,5,6,8,9,286,12,13,14,15,16,287,288,19,289,21,22,290,291,292,293,294,295,296,297,298,299,328,348,353,127,128,129,356,151,371,375,1459,10,11,17,18,20,23,24,25,26,27,28,29,30,31,32,64,105,120,131,154,170,283,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,130,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,152,153,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,203,227,230,231,233,242,243,246,250,268,275,277,279,281,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,228,229,232,234,235,236,237,238,239,240,241,244,245,247,248,249,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,269,270,271,272,273,274,276,278,280,282,284,285,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,349,350,351,352,354,355,357,358,359,360,361,362,363,364,365,366,367,368,369,370,372,373,374,376,382,404,409,411,413,377,378,379,380,381,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,405,406,407,408,410,412,414,1459,1471,1459,437,438,439,440,417,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,419,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,418,504,505,506,507,508,510,511,512,513,514,515,516,517,518,519,520,521,522,523,525,526,527,528,529,530,534,536,537,538,539,434,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,556,557,559,560,561,562,563,564,432,565,566,567,568,569,570,571,572,573,575,607,631,634,635,637,646,647,650,654,672,532,679,681,683,685,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,632,633,636,638,639,640,641,642,643,644,645,648,649,651,652,653,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,673,674,675,676,677,678,680,682,684,686,688,689,1459,1459,690,827,828,759,829,830,831,832,833,834,788,835,724,836,837,838,839,840,841,842,843,744,844,845,846,847,848,849,850,851,852,853,769,854,856,857,858,859,860,861,862,863,864,865,702,866,867,868,869,870,871,872,873,874,740,875,876,877,878,879,810,881,882,885,887,888,889,890,891,892,895,896,898,899,900,902,903,904,905,906,907,908,909,910,911,912,914,915,916,917,920,922,923,925,927,1509,1510,929,930,931,1509,1509,932,1523,1523,1524,935,1523,936,1525,1526,1529,1530,1534,1534,1535,941,1534,942,1536,1537,1540,1541,1545,1546,1545,968,969,970,971,948,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,950,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,949,1035,1036,1037,1038,1039,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1056,1057,1058,1059,1060,1061,1065,1067,1068,1069,1070,965,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1087,1088,1090,1091,1092,1093,1094,1095,963,1096,1097,1098,1099,1100,1101,1102,1103,1104,1106,1138,1162,1165,1166,1168,1177,1178,1181,1185,1203,1063,1210,1212,1214,1216,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1163,1164,1167,1169,1170,1171,1172,1173,1174,1175,1176,1179,1180,1182,1183,1184,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1204,1205,1206,1207,1208,1209,1211,1213,1215,1217,1219,1220,1545,1545,1221,1358,1359,1290,1360,1361,1362,1363,1364,1365,1319,1366,1255,1367,1368,1369,1370,1371,1372,1373,1374,1275,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1300,1385,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1233,1397,1398,1399,1400,1401,1402,1403,1404,1405,1271,1406,1407,1408,1409,1410,1341,1412,1413,1416,1418,1419,1420,1421,1422,1423,1426,1427,1429,1430,1431,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1445,1446,1447,1448,1451,1453,1454,1456,1458,1460,1459,1461,1462,1459,1463,1459,1464,1465,1466,1468,1469,1470,1459,1472,1459,1473,1459,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1459,1459,1459,1459,1459,1459,1,1459,7,1459,1459,1459,1459,1459,415,416,420,421,422,423,424,425,426,427,428,429,430,431,433,435,436,468,509,524,531,533,535,555,558,574,687,1459,1459,1459,691,692,693,694,695,696,697,698,699,700,701,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,741,742,743,745,746,747,748,749,750,751,752,753,754,755,756,757,758,760,761,762,763,764,765,766,767,768,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,855,880,883,884,886,893,894,897,901,913,918,919,921,924,926,1511,1509,1512,1517,1519,1509,1520,1521,1522,1509,928,1509,1509,1513,1514,1516,1509,1515,1509,1509,1509,1518,1509,1509,1509,933,934,938,939,1523,1531,1532,1533,1523,937,1523,1523,934,1527,1528,1523,1523,1523,1523,1523,940,944,945,1534,1542,1543,1544,1534,943,1534,1534,940,1538,1539,1534,1534,1534,1534,1534,1545,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1545,946,947,951,952,953,954,955,956,957,958,959,960,961,962,964,966,967,999,1040,1055,1062,1064,1066,1086,1089,1105,1218,1545,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1272,1273,1274,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1291,1292,1293,1294,1295,1296,1297,1298,1299,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1386,1411,1414,1415,1417,1424,1425,1428,1432,1444,1449,1450,1452,1455,1457]);AX=new EE([145,107,0,0,91,141,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,193,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,169,0,0,0,35,33,0,55,41,175,0,53,0,175,175,0,0,75,61,181,0,73,0,181,181,0,0,85,187,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,119,0,111,0,7,7,7,0,0,113,0,115,0,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,196,196,196,196,196,196,7,7,196,7,127,139,135,97,133,103,0,129,0,101,95,109,99,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,117,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,172,17,0,7,7,23,0,25,27,0,0,0,151,0,15,19,9,0,21,11,29,0,0,0,0,43,0,178,178,49,0,157,154,1,175,175,45,37,47,39,51,0,0,0,63,0,184,184,69,0,163,160,1,181,181,65,57,67,59,71,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,190,190,190,190,190,190,7,7,190,7,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);AY=new EE([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,166,0,0,0,0,0,0,0,0,0,0,166,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);AZ=new EE([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);BA=new EF([0,1,1,1,6,6,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,419,419,421,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,419,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,670,767,772,772,772,773,773,775,775,775,779,0,0,785,785,785,789,0,0,795,795,797,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,795,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,0,1196,1197,1198,1200,1198,1198,1198,1203,1198,1198,1198,1209,1198,1198,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,1239,0,1392,1394,1395,1399,1399,1392,1402,1395,1405,1395,1407,1407,1407,0,1416,1418,1418,1416,1416,1423,1425,1427,1427,1427,0,1435,1437,1437,1435,1435,1442,1444,1446,1446,1446,0,1483,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511]);BC=new EE([0,1,0,1,1,2,1,0]);BD=new EE([0,0,2,4,6,10,14,18,22,27,31,36,41,46,51,57,62,74,85,96,107,118,129,140,151]);BE=new EE([128,191,128,191,128,191,10,13,36,37,10,13,36,37,10,13,36,37,10,13,36,37,10,13,36,37,123,10,13,36,37,10,13,36,37,92,10,13,36,37,92,10,13,36,37,92,10,13,36,37,92,10,13,36,37,92,123,10,13,36,37,92,85,117,128,191,192,223,224,239,240,247,248,255,10,13,36,37,92,48,57,65,70,97,102,10,13,36,37,92,48,57,65,70,97,102,10,13,36,37,92,48,57,65,70,97,102,10,13,36,37,92,48,57,65,70,97,102,10,13,36,37,92,48,57,65,70,97,102,10,13,36,37,92,48,57,65,70,97,102,10,13,36,37,92,48,57,65,70,97,102,10,13,36,37,92,48,57,65,70,97,102]);BF=new EE([0,0,0,0,4,4,4,4,5,4,5,5,5,5,6,5,2,5,5,5,5,5,5,5,5]);BG=new EE([0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,5,3,3,3,3,3,3,3,3]);BH=new EE([0,0,2,4,6,11,16,21,26,32,37,43,49,55,61,68,74,82,91,100,109,118,127,136,145]);BI=new EE([0,1,2,1,3,1,5,6,7,8,4,10,11,12,13,9,14,11,12,13,9,10,11,15,13,9,10,11,12,13,14,9,10,11,12,15,9,17,18,19,20,21,16,23,24,25,26,27,22,0,24,25,26,27,22,23,24,28,26,27,22,23,24,25,26,27,0,22,23,24,25,28,27,22,29,30,22,2,3,31,22,0,23,24,25,26,27,32,32,32,22,23,24,25,26,27,33,33,33,22,23,24,25,26,27,34,34,34,22,23,24,25,26,27,30,30,30,22,23,24,25,26,27,35,35,35,22,23,24,25,26,27,36,36,36,22,23,24,25,26,27,37,37,37,22,23,24,25,26,27,0,0,0,22]);BJ=new EE([11,0,1,2,4,5,6,7,9,4,5,6,7,9,5,8,10,11,12,13,15,16,10,11,12,13,15,16,14,17,21,3,18,19,20,22,23,24]);BK=new EE([0,0,0,0,0,1,1,1,1,3,5,5,5,5,0,0,0,1,1,1,1,1,3,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0]);BL=new EE([0,0,0,0,0,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3]);BV=false;CU=($convertSliceType(new EE([102,111,114]),CT));CV=($convertSliceType(new EE([105,110]),CT));CW=($convertSliceType(new EE([105,102]),CT));CX=($convertSliceType(new EE([101,108,115,101]),CT));CY=($convertSliceType(new EE([101,110,100,105,102]),CT));CZ=($convertSliceType(new EE([101,110,100,102,111,114]),CT));$pkg.OpLogicalOr=new DE.ptr($clone(N.OrFunc,M.Function),$clone(I.Bool,I.Type));$pkg.OpLogicalAnd=new DE.ptr($clone(N.AndFunc,M.Function),$clone(I.Bool,I.Type));$pkg.OpLogicalNot=new DE.ptr($clone(N.NotFunc,M.Function),$clone(I.Bool,I.Type));$pkg.OpEqual=new DE.ptr($clone(N.EqualFunc,M.Function),$clone(I.Bool,I.Type));$pkg.OpNotEqual=new DE.ptr($clone(N.NotEqualFunc,M.Function),$clone(I.Bool,I.Type));$pkg.OpGreaterThan=new DE.ptr($clone(N.GreaterThanFunc,M.Function),$clone(I.Bool,I.Type));$pkg.OpGreaterThanOrEqual=new DE.ptr($clone(N.GreaterThanOrEqualToFunc,M.Function),$clone(I.Bool,I.Type));$pkg.OpLessThan=new DE.ptr($clone(N.LessThanFunc,M.Function),$clone(I.Bool,I.Type));$pkg.OpLessThanOrEqual=new DE.ptr($clone(N.LessThanOrEqualToFunc,M.Function),$clone(I.Bool,I.Type));$pkg.OpAdd=new DE.ptr($clone(N.AddFunc,M.Function),$clone(I.Number,I.Type));$pkg.OpSubtract=new DE.ptr($clone(N.SubtractFunc,M.Function),$clone(I.Number,I.Type));$pkg.OpMultiply=new DE.ptr($clone(N.MultiplyFunc,M.Function),$clone(I.Number,I.Type));$pkg.OpDivide=new DE.ptr($clone(N.DivideFunc,M.Function),$clone(I.Number,I.Type));$pkg.OpModulo=new DE.ptr($clone(N.ModuloFunc,M.Function),$clone(I.Number,I.Type));$pkg.OpNegate=new DE.ptr($clone(N.NegateFunc,M.Function),$clone(I.Number,I.Type));DG();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/snyk/snyk-iac-parsers/terraform"]=(function(){var $pkg={},$init,G,E,C,J,D,H,K,L,I,A,F,B,M,O,AC,AH,AI,AJ,AO,AP,AX,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE,CF,W,AF,AG,AU,AV,AW,Q,R,S,T,U,V,X,Y,Z,AA,AB,AD,AE,AL,AM,AN,AQ,AR,AS,AT,AY,AZ,BA,BB,BC;G=$packages["encoding/json"];E=$packages["fmt"];C=$packages["github.com/hashicorp/hcl/v2"];J=$packages["github.com/hashicorp/hcl/v2/hclsyntax"];D=$packages["github.com/zclconf/go-cty/cty"];H=$packages["github.com/zclconf/go-cty/cty/convert"];K=$packages["github.com/zclconf/go-cty/cty/function"];L=$packages["github.com/zclconf/go-cty/cty/function/stdlib"];I=$packages["github.com/zclconf/go-cty/cty/json"];A=$packages["reflect"];F=$packages["sort"];B=$packages["strings"];M=$pkg.ValueMap=$newType(4,$kindMap,"terraform.ValueMap",true,"github.com/snyk/snyk-iac-parsers/terraform",true,null);O=$pkg.ModuleVariables=$newType(0,$kindStruct,"terraform.ModuleVariables",true,"github.com/snyk/snyk-iac-parsers/terraform",true,function(inputs_,locals_){this.$val=this;if(arguments.length===0){this.inputs=false;this.locals=false;return;}this.inputs=inputs_;this.locals=locals_;});AC=$pkg.PrioritisableFile=$newType(0,$kindStruct,"terraform.PrioritisableFile",true,"github.com/snyk/snyk-iac-parsers/terraform",true,function(fileName_,priority_){this.$val=this;if(arguments.length===0){this.fileName="";this.priority=0;return;}this.fileName=fileName_;this.priority=priority_;});AH=$pkg.Options=$newType(0,$kindStruct,"terraform.Options",true,"github.com/snyk/snyk-iac-parsers/terraform",true,function(Simplify_){this.$val=this;if(arguments.length===0){this.Simplify=false;return;}this.Simplify=Simplify_;});AI=$pkg.Parser=$newType(0,$kindStruct,"terraform.Parser",true,"github.com/snyk/snyk-iac-parsers/terraform",true,function(bytes_,variables_,options_){this.$val=this;if(arguments.length===0){this.bytes=BM.nil;this.variables=false;this.options=new AH.ptr(false);return;}this.bytes=bytes_;this.variables=variables_;this.options=options_;});AJ=$pkg.NewParserParams=$newType(0,$kindStruct,"terraform.NewParserParams",true,"github.com/snyk/snyk-iac-parsers/terraform",true,function(bytes_,variables_,options_){this.$val=this;if(arguments.length===0){this.bytes=BM.nil;this.variables=new O.ptr(false,false);this.options=new AH.ptr(false);return;}this.bytes=bytes_;this.variables=variables_;this.options=options_;});AO=$pkg.File=$newType(0,$kindStruct,"terraform.File",true,"github.com/snyk/snyk-iac-parsers/terraform",true,function(fileName_,fileContent_,hclFile_){this.$val=this;if(arguments.length===0){this.fileName="";this.fileContent="";this.hclFile=CC.nil;return;}this.fileName=fileName_;this.fileContent=fileContent_;this.hclFile=hclFile_;});AP=$pkg.ParseModuleResult=$newType(0,$kindStruct,"terraform.ParseModuleResult",true,"github.com/snyk/snyk-iac-parsers/terraform",true,function(parsedFiles_,failedFiles_,debugLogs_){this.$val=this;if(arguments.length===0){this.parsedFiles=false;this.failedFiles=false;this.debugLogs=false;return;}this.parsedFiles=parsedFiles_;this.failedFiles=failedFiles_;this.debugLogs=debugLogs_;});AX=$pkg.CustomError=$newType(0,$kindStruct,"terraform.CustomError",true,"github.com/snyk/snyk-iac-parsers/terraform",true,function(message_,errors_,userError_){this.$val=this;if(arguments.length===0){this.message="";this.errors=BN.nil;this.userError=false;return;}this.message=message_;this.errors=errors_;this.userError=userError_;});BD=$sliceType(C.AttributeSchema);BE=$sliceType(C.BlockHeaderSchema);BF=$sliceType($String);BG=$ptrType(C.Diagnostic);BH=$sliceType(BG);BI=$ptrType(C.Attribute);BJ=$ptrType(C.EvalContext);BK=$sliceType($emptyInterface);BL=$sliceType(AC);BM=$sliceType($Uint8);BN=$sliceType($error);BO=$mapType($String,$emptyInterface);BP=$ptrType(J.Body);BQ=$ptrType(J.LiteralValueExpr);BR=$ptrType(J.UnaryOpExpr);BS=$ptrType(J.TemplateExpr);BT=$ptrType(J.TemplateWrapExpr);BU=$ptrType(J.TupleConsExpr);BV=$ptrType(J.ObjectConsExpr);BW=$ptrType(B.Builder);BX=$ptrType(J.ConditionalExpr);BY=$ptrType(J.TemplateJoinExpr);BZ=$ptrType(J.ForExpr);CA=$ptrType(J.ObjectConsKeyExpr);CB=$ptrType(J.ScopeTraversalExpr);CC=$ptrType(C.File);CD=$ptrType(AX);CE=$ptrType(J.Block);CF=$ptrType(AI);Q=function(a){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$makeMap($String.keyFor,[]);c=$makeMap($String.keyFor,[]);d=C.Diagnostics.nil;e=AA(a.fileName);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(e){$s=1;continue;}$s=2;continue;case 1:f=C.Diagnostics.nil;h=R($clone(a,AO));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;b=g[0];d=g[1];d=$appendSlice(d,$convertSliceType(f,BH));case 2:if(AB(a.fileName)){$s=5;continue;}$s=6;continue;case 5:i=C.Diagnostics.nil;k=S($clone(a,AO));$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;c=j[0];i=j[1];d=$appendSlice(d,$convertSliceType(i,BH));case 6:$s=-1;return[b,c,d];}return;}if($f===undefined){$f={$blk:Q};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ExtractVariables=Q;R=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=false;c=C.Diagnostics.nil;if(B.HasSuffix(a.fileName,".tf")){$s=1;continue;}if(B.HasSuffix(a.fileName,".tfvars")){$s=2;continue;}$s=3;continue;case 1:e=T(a.hclFile);$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;b=d[0];c=d[1];$s=3;continue;case 2:g=U(a.hclFile);$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;b=f[0];c=f[1];case 3:if(c.HasErrors()){$s=-1;return[b,c];}$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:R};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};S=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$makeMap($String.keyFor,[]);d=a.hclFile.Body.PartialContent(AG);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[2];if(f.HasErrors()){$s=-1;return[b,f];}g=e.Blocks;h=0;case 2:if(!(h<g.$length)){$s=3;continue;}i=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);k=i.Body.JustAttributes();$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=l;n=0;o=$keys(m);while(true){if(!(n<o.length)){break;}p=m[o[n]];if(p===undefined){n++;continue;}q=p.k;r=p.v;s=q;(b||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(s)]={k:s,v:r.Expr};n++;}h++;$s=2;continue;case 3:$s=-1;return[b,f];}return;}if($f===undefined){$f={$blk:S};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};T=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$makeMap($String.keyFor,[]);d=a.Body.PartialContent(AF);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[2];if(f.HasErrors()){$s=-1;return[b,f];}g=e.Blocks;h=0;case 2:if(!(h<g.$length)){$s=3;continue;}i=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);k=(j=i.Labels,(0>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+0]));m=i.Body.JustAttributes();$s=4;case 4:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];p=(o=n[$String.keyFor("default")],o!==undefined?o.v:BI.nil);if(!(p===BI.nil)){$s=5;continue;}$s=6;continue;case 5:r=p.Expr.Value(new C.EvalContext.ptr(false,AW,BJ.nil));$s=7;case 7:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=$clone(q[0],D.Value);t=q[1];if(t.HasErrors()||$clone(s,D.Value).IsNull()){h++;$s=2;continue;}u=k;(b||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(u)]={k:u,v:$clone(s,D.Value)};case 6:h++;$s=2;continue;case 3:$s=-1;return[b,f];}return;}if($f===undefined){$f={$blk:T};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};U=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$makeMap($String.keyFor,[]);d=a.Body.JustAttributes();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];g=e;h=0;i=$keys(g);case 2:if(!(h<i.length)){$s=3;continue;}j=g[i[h]];if(j===undefined){h++;$s=2;continue;}k=j.k;l=j.v;n=l.Expr.Value(new C.EvalContext.ptr(false,AW,BJ.nil));$s=4;case 4:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=$clone(m[0],D.Value);p=m[1];if(p.HasErrors()){h++;$s=2;continue;}q=k;(b||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(q)]={k:q,v:$clone(o,D.Value)};h++;$s=2;continue;case 3:$s=-1;return[b,f];}return;}if($f===undefined){$f={$blk:U};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};V=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b={};c=$makeSlice(BF,0,$keys(a).length);d=a;e=0;f=$keys(d);while(true){if(!(e<f.length)){break;}g=d[f[e]];if(g===undefined){e++;continue;}h=g.k;c=$append(c,h);e++;}i=AE(c);$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;k=j;l=0;while(true){if(!(l<k.$length)){break;}m=((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]);o=(n=a[$String.keyFor(m)],n!==undefined?n.v:false);p=o;q=0;r=$keys(p);while(true){if(!(q<r.length)){break;}s=p[r[q]];if(s===undefined){q++;continue;}t=s.k;u=$clone(s.v,D.Value);v=t;(b||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(v)]={k:v,v:$clone(u,D.Value)};q++;}l++;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:V};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};X=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$makeMap($String.keyFor,[]);d=$makeMap($String.keyFor,[]);e=0;case 1:if(!(e<W)){$s=2;continue;}f=a;g=0;h=$keys(f);case 3:if(!(g<h.length)){$s=4;continue;}i=f[h[g]];if(i===undefined){g++;$s=3;continue;}j=i.k;k=i.v;m=Y(new O.ptr(b,c));$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=k.Value(new C.EvalContext.ptr(m,AW,BJ.nil));$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}l=n;o=$clone(l[0],D.Value);p=l[1];if(!$clone(o,D.Value).IsKnown()||p.HasErrors()){g++;$s=3;continue;}q=j;(d||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(q)]={k:q,v:$clone(o,D.Value)};g++;$s=3;continue;case 4:r=A.DeepEqual(new M(c),new M(d));$s=9;case 9:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(r){$s=7;continue;}$s=8;continue;case 7:$s=2;continue;case 8:s=d;t=0;u=$keys(s);while(true){if(!(t<u.length)){break;}v=s[u[t]];if(v===undefined){t++;continue;}w=v.k;x=$clone(v.v,D.Value);y=w;(c||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(y)]={k:y,v:$clone(x,D.Value)};t++;}e=e+(1)>>0;$s=1;continue;case 2:$s=-1;return d;}return;}if($f===undefined){$f={$blk:X};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};Y=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=D.ObjectVal(a.inputs);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=D.ObjectVal(a.locals);$s=2;case 2:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=$makeMap($String.keyFor,[{k:"var",v:$clone(b,D.Value)},{k:"local",v:$clone(c,D.Value)}]);$s=3;case 3:return d;}return;}if($f===undefined){$f={$blk:Y};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};Z=function(a){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=B.Replace(a,"\\","/",-1);if(a==="terraform.tfvars"){c=true;$s=1;continue s;}d=b;e=E.Sprintf("/%s",new BK([new $String("terraform.tfvars")]));$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=B.HasSuffix(d,f);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}c=g;case 1:h=c;$s=4;case 4:return h;}return;}if($f===undefined){$f={$blk:Z};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AA=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=Z(a);$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}if(b){$s=1;continue;}$s=2;continue;case 1:$s=-1;return true;case 2:c=$pkg.VALID_VARIABLE_FILES;d=0;while(true){if(!(d<2)){break;}e=((d<0||d>=c.length)?($throwRuntimeError("index out of range"),undefined):c[d]);if(B.HasSuffix(a,e)){$s=-1;return true;}d++;}$s=-1;return false;}return;}if($f===undefined){$f={$blk:AA};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AB=function(a){var a,b,c,d;b=$pkg.VALID_TERRAFORM_FILES;c=0;while(true){if(!(c<1)){break;}d=((c<0||c>=b.length)?($throwRuntimeError("index out of range"),undefined):b[c]);if(B.HasSuffix(a,d)){return true;}c++;}return false;};AD=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(B.HasSuffix(a,".tf")){$s=1;continue;}b=Z(a);$s=6;case 6:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}if(b){$s=2;continue;}if(B.HasSuffix(a,".auto.tfvars")){$s=3;continue;}$s=4;continue;case 1:$s=-1;return new AC.ptr(a,1);case 2:$s=-1;return new AC.ptr(a,2);case 3:$s=-1;return new AC.ptr(a,3);case 4:$s=-1;return new AC.ptr(a,0);case 5:$s=-1;return new AC.ptr("",0);}return;}if($f===undefined){$f={$blk:AD};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AE=function(a){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];b[0]=$makeSlice(BL,0,a.$length);c=a;d=0;case 1:if(!(d<c.$length)){$s=2;continue;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);f=AD(e);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}b[0]=$append(b[0],f);d++;$s=1;continue;case 2:$r=F.Slice(b[0],(function(b){return function(g,h){var g,h,i;if((((g<0||g>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+g]).priority===0)||(((h<0||h>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+h]).priority===0)){return g>=h;}if(((g<0||g>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+g]).priority===((h<0||h>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+h]).priority){if(B.HasSuffix(((g<0||g>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+g]).fileName,".auto.tfvars")){i=B.Compare(((g<0||g>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+g]).fileName,((h<0||h>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+h]).fileName);return i<=0;}return g<=h;}return((g<0||g>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+g]).priority<((h<0||h>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+h]).priority;};})(b));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g=$makeSlice(BF,0,a.$length);h=b[0];i=0;while(true){if(!(i<h.$length)){break;}j=$clone(((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]),AC);g=$append(g,j.fileName);i++;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:AE};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AL=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=Y($clone(a.variables,O));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=new AI.ptr(a.bytes,b,$clone(a.options,AH));$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:AL};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AM=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=J.ParseConfig((new BM($stringToBytes(b))),a,new C.Pos.ptr(1,1,0));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];if(g.HasErrors()){$s=-1;return["",BA(g.Errs())];}i=AN(f,$clone(c,O));$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=h[0];k=h[1];if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return["",BB(new BN([k]))];}m=G.MarshalIndent(new BO(j),"","\t");$s=3;case 3:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];k=l[1];if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return["",BC(new BN([k]))];}$s=-1;return[($bytesToString(n)),$ifaceNil];}return;}if($f===undefined){$f={$blk:AM};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ParseHclToJson=AM;AN=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=AL(new AJ.ptr(a.Bytes,$clone(b,O),new AH.ptr(true)));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=$clone(c,AI);e=$assertType(a.Body,BP,true);f=e[0];g=e[1];if(!g){$s=2;continue;}$s=3;continue;case 2:h=E.Errorf("Failed to parse hcl.Body to hclsyntax.Body type",new BK([]));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=[false,h];$s=5;case 5:return i;case 3:j={};k=d.parseBody(f,j);$s=6;case 6:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(!($interfaceIsEqual(l,$ifaceNil))){$s=-1;return[false,l];}$s=-1;return[j,$ifaceNil];}return;}if($f===undefined){$f={$blk:AN};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AI.ptr.prototype.parseBody=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$ifaceNil;e=a.Attributes;f=0;g=$keys(e);case 1:if(!(f<g.length)){$s=2;continue;}h=e[g[f]];if(h===undefined){f++;$s=1;continue;}i=h.k;j=h.v;l=c.parseExpression(j.Expr);$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=i;(b||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(m)]={k:m,v:k[0]};d=k[1];if(!($interfaceIsEqual(d,$ifaceNil))){$s=4;continue;}$s=5;continue;case 4:n=E.Errorf("Failed to parse expression: %w",new BK([d]));$s=6;case 6:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;$s=7;case 7:return o;case 5:f++;$s=1;continue;case 2:p=a.Blocks;q=0;case 8:if(!(q<p.$length)){$s=9;continue;}r=((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]);s=c.parseBlock(r,b);$s=10;case 10:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;if(!($interfaceIsEqual(t,$ifaceNil))){$s=11;continue;}$s=12;continue;case 11:u=E.Errorf("Failed to parse block: %w",new BK([t]));$s=13;case 13:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;$s=14;case 14:return v;case 12:q++;$s=8;continue;case 9:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AI.ptr.prototype.parseBody};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};AI.prototype.parseBody=function(a,b){return this.$val.parseBody(a,b);};AI.ptr.prototype.parseBlock=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;e=c.parseLabels(a.Type,a.Labels,b);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];h=d[2];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return h;}i={};j=c.parseBody(a.Body,i);$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}h=j;if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return h;}k=(l=g[$String.keyFor(f)],l!==undefined?[l.v,true]:[$ifaceNil,false]);m=k[0];n=k[1];if(n){o=$assertType(m,BK,true);p=o[0];q=o[1];if(q){r=f;(g||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(r)]={k:r,v:$append(p,new BO(i))};}else{s=f;(g||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(s)]={k:s,v:new BK([m,new BO(i)])};}}else{t=f;(g||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(t)]={k:t,v:new BO(i)};}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AI.ptr.prototype.parseBlock};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};AI.prototype.parseBlock=function(a,b){return this.$val.parseBlock(a,b);};AI.ptr.prototype.parseLabels=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=b;f=0;case 1:if(!(f<e.$length)){$s=2;continue;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);h=(i=c[$String.keyFor(a)],i!==undefined?[i.v,true]:[$ifaceNil,false]);j=h[1];if(j){$s=3;continue;}$s=4;continue;case 3:k=false;l=$assertType((m=c[$String.keyFor(a)],m!==undefined?m.v:$ifaceNil),BO,true);c=l[0];k=l[1];if(!k){$s=6;continue;}$s=7;continue;case 6:n=E.Errorf("Failed to convert block to JSON: %v.%v",new BK([new $String(a),new $String(B.Join(b,"."))]));$s=8;case 8:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=["",false,n];$s=9;case 9:return o;case 7:$s=5;continue;case 4:p=a;(c||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(p)]={k:p,v:new BO({})};c=$assertType((q=c[$String.keyFor(a)],q!==undefined?q.v:$ifaceNil),BO);case 5:a=g;f++;$s=1;continue;case 2:$s=-1;return[a,c,$ifaceNil];}return;}if($f===undefined){$f={$blk:AI.ptr.prototype.parseLabels};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};AI.prototype.parseLabels=function(a,b,c){return this.$val.parseLabels(a,b,c);};AI.ptr.prototype.parseExpression=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(b.options.Simplify){$s=1;continue;}$s=2;continue;case 1:c=new C.EvalContext.ptr(b.variables,AW,BJ.nil);e=a.Value(c);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=$clone(d[0],D.Value);g=d[1];if(g===C.Diagnostics.nil){$s=-1;return[(h=new I.SimpleJSONValue.ptr($clone(f,D.Value)),new h.constructor.elem(h)),$ifaceNil];}case 2:i=a;if($assertType(i,BQ,true)[1]){$s=4;continue;}if($assertType(i,BR,true)[1]){$s=5;continue;}if($assertType(i,BS,true)[1]){$s=6;continue;}if($assertType(i,BT,true)[1]){$s=7;continue;}if($assertType(i,BU,true)[1]){$s=8;continue;}if($assertType(i,BV,true)[1]){$s=9;continue;}$s=10;continue;case 4:j=i.$val;$s=-1;return[(q=new I.SimpleJSONValue.ptr($clone(j.Val,D.Value)),new q.constructor.elem(q)),$ifaceNil];case 5:k=i.$val;r=b.parseUnary(k);$s=12;case 12:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;$s=13;case 13:return s;case 6:l=i.$val;t=b.parseTemplate(l);$s=14;case 14:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t;v=[new $String(u[0]),u[1]];$s=15;case 15:return v;case 7:m=i.$val;w=b.parseExpression(m.Wrapped);$s=16;case 16:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;$s=17;case 17:return x;case 8:n=i.$val;y=BK.nil;z=n.Exprs;aa=0;case 18:if(!(aa<z.$length)){$s=19;continue;}ab=((aa<0||aa>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+aa]);ad=b.parseExpression(ab);$s=20;case 20:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;ae=ac[0];af=ac[1];if(!($interfaceIsEqual(af,$ifaceNil))){$s=-1;return[$ifaceNil,af];}y=$append(y,ae);aa++;$s=18;continue;case 19:$s=-1;return[y,$ifaceNil];case 9:o=i.$val;ag={};ah=o.Items;ai=0;case 21:if(!(ai<ah.$length)){$s=22;continue;}aj=$clone(((ai<0||ai>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ai]),J.ObjectConsItem);al=b.parseKey(aj.KeyExpr);$s=23;case 23:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ak=al;am=ak[0];an=ak[1];if(!($interfaceIsEqual(an,$ifaceNil))){$s=-1;return[$ifaceNil,an];}ap=b.parseExpression(aj.ValueExpr);$s=24;case 24:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;aq=am;(ag||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(aq)]={k:aq,v:ao[0]};an=ao[1];if(!($interfaceIsEqual(an,$ifaceNil))){$s=-1;return[$ifaceNil,an];}ai++;$s=21;continue;case 22:$s=-1;return[new BO(ag),$ifaceNil];case 10:p=i;ar=b.wrapExpr(a);$s=25;case 25:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=[new $String(ar),$ifaceNil];$s=26;case 26:return as;case 11:$s=-1;return[$ifaceNil,$ifaceNil];}return;}if($f===undefined){$f={$blk:AI.ptr.prototype.parseExpression};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AI.prototype.parseExpression=function(a){return this.$val.parseExpression(a);};AI.ptr.prototype.parseUnary=function(a){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$assertType(a.Val,BQ,true);d=c[1];if(!d){$s=1;continue;}$s=2;continue;case 1:e=b.wrapExpr(a);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=[new $String(e),$ifaceNil];$s=4;case 4:return f;case 2:h=a.Value(BJ.nil);$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=$clone(g[0],D.Value);j=g[1];if(!(j===C.Diagnostics.nil)){$s=-1;return[$ifaceNil,j];}$s=-1;return[(k=new I.SimpleJSONValue.ptr($clone(i,D.Value)),new k.constructor.elem(k)),$ifaceNil];}return;}if($f===undefined){$f={$blk:AI.ptr.prototype.parseUnary};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AI.prototype.parseUnary=function(a){return this.$val.parseUnary(a);};AI.ptr.prototype.parseTemplate=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a.IsStringLiteral()){$s=1;continue;}$s=2;continue;case 1:d=a.Value(BJ.nil);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=$clone(c[0],D.Value);f=c[1];if(!(f===C.Diagnostics.nil)){$s=-1;return["",f];}$s=-1;return[$clone(e,D.Value).AsString(),$ifaceNil];case 2:g=new B.Builder.ptr(BW.nil,BM.nil);h=a.Parts;i=0;case 4:if(!(i<h.$length)){$s=5;continue;}j=((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]);l=b.parseStringPart(j);$s=6;case 6:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=k[1];if(!($interfaceIsEqual(n,$ifaceNil))){$s=-1;return["",n];}g.WriteString(m);i++;$s=4;continue;case 5:$s=-1;return[g.String(),$ifaceNil];}return;}if($f===undefined){$f={$blk:AI.ptr.prototype.parseTemplate};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AI.prototype.parseTemplate=function(a){return this.$val.parseTemplate(a);};AI.ptr.prototype.parseStringPart=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=a;if($assertType(c,BQ,true)[1]){$s=1;continue;}if($assertType(c,BS,true)[1]){$s=2;continue;}if($assertType(c,BT,true)[1]){$s=3;continue;}if($assertType(c,BX,true)[1]){$s=4;continue;}if($assertType(c,BY,true)[1]){$s=5;continue;}$s=6;continue;case 1:d=c.$val;k=H.Convert($clone(d.Val,D.Value),$clone(D.String,D.Type));$s=8;case 8:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=$clone(j[0],D.Value);m=j[1];if(!($interfaceIsEqual(m,$ifaceNil))){$s=-1;return["",m];}$s=-1;return[$clone(l,D.Value).AsString(),$ifaceNil];case 2:e=c.$val;n=b.parseTemplate(e);$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;$s=10;case 10:return o;case 3:f=c.$val;p=b.parseStringPart(f.Wrapped);$s=11;case 11:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;$s=12;case 12:return q;case 4:g=c.$val;r=b.parseTemplateConditional(g);$s=13;case 13:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;$s=14;case 14:return s;case 5:h=c.$val;t=b.parseTemplateFor($assertType(h.Tuple,BZ));$s=15;case 15:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t;$s=16;case 16:return u;case 6:i=c;v=b.wrapExpr(a);$s=17;case 17:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=[v,$ifaceNil];$s=18;case 18:return w;case 7:$s=-1;return["",$ifaceNil];}return;}if($f===undefined){$f={$blk:AI.ptr.prototype.parseStringPart};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};AI.prototype.parseStringPart=function(a){return this.$val.parseStringPart(a);};AI.ptr.prototype.parseKey=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$assertType(a,CA,true);d=c[0];e=c[1];if(e){$s=1;continue;}$s=2;continue;case 1:a=d.Wrapped;f=$assertType(a,CB,true);g=f[1];if(g){$s=3;continue;}$s=4;continue;case 3:h=a.Range();$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=b.rangeSource($clone(h,C.Range));$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=[i,$ifaceNil];$s=7;case 7:return j;case 4:case 2:k=b.parseStringPart(a);$s=8;case 8:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=9;case 9:return l;}return;}if($f===undefined){$f={$blk:AI.ptr.prototype.parseKey};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AI.prototype.parseKey=function(a){return this.$val.parseKey(a);};AI.ptr.prototype.parseTemplateConditional=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=new B.Builder.ptr(BW.nil,BM.nil);c.WriteString("%{if ");d=a.Condition.Range();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=b.rangeSource($clone(d,C.Range));$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=c.WriteString(e);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;c.WriteString("}");h=b.parseStringPart(a.TrueResult);$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return["",$ifaceNil];}c.WriteString(i);l=b.parseStringPart(a.FalseResult);$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];j=k[1];if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return["",$ifaceNil];}if(m.length>0){c.WriteString("%{else}");c.WriteString(m);}c.WriteString("%{endif}");$s=-1;return[c.String(),$ifaceNil];}return;}if($f===undefined){$f={$blk:AI.ptr.prototype.parseTemplateConditional};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AI.prototype.parseTemplateConditional=function(a){return this.$val.parseTemplateConditional(a);};AI.ptr.prototype.parseTemplateFor=function(a){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=new B.Builder.ptr(BW.nil,BM.nil);c.WriteString("%{for ");if(a.KeyVar.length>0){c.WriteString(a.KeyVar);c.WriteString(", ");}c.WriteString(a.ValVar);c.WriteString(" in ");d=a.CollExpr.Range();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=b.rangeSource($clone(d,C.Range));$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=c.WriteString(e);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;c.WriteString("}");h=b.parseStringPart(a.ValExpr);$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return["",j];}c.WriteString(i);c.WriteString("%{endfor}");$s=-1;return[c.String(),$ifaceNil];}return;}if($f===undefined){$f={$blk:AI.ptr.prototype.parseTemplateFor};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AI.prototype.parseTemplateFor=function(a){return this.$val.parseTemplateFor(a);};AI.ptr.prototype.wrapExpr=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=a.Range();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=b.rangeSource($clone(c,C.Range));$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e="${"+d+"}";$s=3;case 3:return e;}return;}if($f===undefined){$f={$blk:AI.ptr.prototype.wrapExpr};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AI.prototype.wrapExpr=function(a){return this.$val.wrapExpr(a);};AI.ptr.prototype.rangeSource=function(a){var a,b,c,d;b=this;c=a.End.Byte;if(c<b.bytes.$length&&((d=b.bytes,((c<0||c>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+c]))===41)){c=c+(1)>>0;}return($bytesToString($subslice(b.bytes,a.Start.Byte,c)));};AI.prototype.rangeSource=function(a){return this.$val.rangeSource(a);};AQ=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new AP.ptr({},{},{});c=AR(a,b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=AT(d,b);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$clone(e,O);$r=AS(d,$clone(f,O),b);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return $makeMap($String.keyFor,[{k:"parsedFiles",v:new BO(b.parsedFiles)},{k:"failedFiles",v:new BO(b.failedFiles)},{k:"debugLogs",v:new BO(b.debugLogs)}]);}return;}if($f===undefined){$f={$blk:AQ};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ParseModule=AQ;AR=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c={};d=a;e=0;f=$keys(d);case 1:if(!(e<f.length)){$s=2;continue;}g=d[f[e]];if(g===undefined){e++;$s=1;continue;}h=g.k;i=g.v;j=$assertType(i,$String,true);k=j[0];l=j[1];if(!l){e++;$s=1;continue;}n=J.ParseConfig((new BM($stringToBytes(k))),h,new C.Pos.ptr(1,1,0));$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];if(p.HasErrors()){$s=4;continue;}$s=5;continue;case 4:q=BA(p.Errs());s=AY(q);$s=6;case 6:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=h;(b.debugLogs||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(r)]={k:r,v:new $String(s)};t=h;(b.failedFiles||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(t)]={k:t,v:new $String(q.Error())};e++;$s=1;continue;case 5:u=h;(c||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(u)]={k:u,v:new AO.ptr(h,k,o)};e++;$s=1;continue;case 2:$s=-1;return c;}return;}if($f===undefined){$f={$blk:AR};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};AS=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=a;e=0;f=$keys(d);case 1:if(!(e<f.length)){$s=2;continue;}g=d[f[e]];if(g===undefined){e++;$s=1;continue;}h=g.k;i=$clone(g.v,AO);j=(k=c.failedFiles[$String.keyFor(h)],k!==undefined?[k.v,true]:[$ifaceNil,false]);l=j[1];if(AB(h)&&!l){$s=3;continue;}$s=4;continue;case 3:n=AU(h,i.fileContent,$clone(b,O));$s=5;case 5:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:if(AZ(p)){$s=8;continue;}$s=9;continue;case 8:r=AY(p);$s=10;case 10:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=h;(c.debugLogs||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(q)]={k:q,v:new $String(r)};t=p.Error();$s=11;case 11:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=h;(c.failedFiles||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(s)]={k:s,v:new $String(t)};case 9:e++;$s=1;continue;case 7:u=h;(c.parsedFiles||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(u)]={k:u,v:new $String(o)};case 4:e++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AS};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};AT=function(a,b){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$makeMap($String.keyFor,[]);d=$makeMap($String.keyFor,[]);e=a;f=0;g=$keys(e);case 1:if(!(f<g.length)){$s=2;continue;}h=e[g[f]];if(h===undefined){f++;$s=1;continue;}i=h.k;j=$clone(h.v,AO);l=AV($clone(j,AO));$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=k[1];o=k[2];if(!($interfaceIsEqual(o,$ifaceNil))){$s=4;continue;}$s=5;continue;case 4:if(AZ(o)){$s=6;continue;}$s=7;continue;case 6:q=AY(o);$s=8;case 8:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=i;(b.debugLogs||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(p)]={k:p,v:new $String(q)};s=o.Error();$s=9;case 9:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=i;(b.failedFiles||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(r)]={k:r,v:new $String(s)};case 7:case 5:t=i;(c||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(t)]={k:t,v:m};u=n;v=0;w=$keys(u);while(true){if(!(v<w.length)){break;}x=u[w[v]];if(x===undefined){v++;continue;}y=x.k;z=x.v;aa=y;(d||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(aa)]={k:aa,v:z};v++;}f++;$s=1;continue;case 2:ab=V(c);$s=10;case 10:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ac=ab;ad=X(d,ac);$s=11;case 11:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad;$s=-1;return new O.ptr(ac,ae);}return;}if($f===undefined){$f={$blk:AT};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AX.ptr.prototype.Error=function(){var a;a=this;return a.message;};AX.prototype.Error=function(){return this.$val.Error();};AY=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$assertType(a,CD,true);c=b[0];d=b[1];e="";if(d){$s=1;continue;}$s=2;continue;case 1:f=c.errors;g=0;case 3:if(!(g<f.$length)){$s=4;continue;}h=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);i=new $String(e);j=h.Error();$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=new $String(j);l=E.Sprintf("%s\n%s",new BK([i,k]));$s=6;case 6:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}e=l;g++;$s=3;continue;case 4:case 2:$s=-1;return e;}return;}if($f===undefined){$f={$blk:AY};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$pkg.GenerateDebugLogs=AY;AZ=function(a){var a,b,c,d;b=a;if($assertType(b,CD,true)[1]){c=b.$val;return c.userError;}else{d=b;return false;}};BA=function(a){var a;return new AX.ptr("Invalid HCL provided",a,true);};BB=function(a){var a;return new AX.ptr("Unable to convert HCL to JSON object",a,false);};BC=function(a){var a;return new AX.ptr("Unable to convert JSON object to string",a,false);};CF.methods=[{prop:"parseBody",name:"parseBody",pkg:"github.com/snyk/snyk-iac-parsers/terraform",typ:$funcType([BP,BO],[$error],false)},{prop:"parseBlock",name:"parseBlock",pkg:"github.com/snyk/snyk-iac-parsers/terraform",typ:$funcType([CE,BO],[$error],false)},{prop:"parseLabels",name:"parseLabels",pkg:"github.com/snyk/snyk-iac-parsers/terraform",typ:$funcType([$String,BF,BO],[$String,BO,$error],false)},{prop:"parseExpression",name:"parseExpression",pkg:"github.com/snyk/snyk-iac-parsers/terraform",typ:$funcType([J.Expression],[$emptyInterface,$error],false)},{prop:"parseUnary",name:"parseUnary",pkg:"github.com/snyk/snyk-iac-parsers/terraform",typ:$funcType([BR],[$emptyInterface,$error],false)},{prop:"parseTemplate",name:"parseTemplate",pkg:"github.com/snyk/snyk-iac-parsers/terraform",typ:$funcType([BS],[$String,$error],false)},{prop:"parseStringPart",name:"parseStringPart",pkg:"github.com/snyk/snyk-iac-parsers/terraform",typ:$funcType([J.Expression],[$String,$error],false)},{prop:"parseKey",name:"parseKey",pkg:"github.com/snyk/snyk-iac-parsers/terraform",typ:$funcType([J.Expression],[$String,$error],false)},{prop:"parseTemplateConditional",name:"parseTemplateConditional",pkg:"github.com/snyk/snyk-iac-parsers/terraform",typ:$funcType([BX],[$String,$error],false)},{prop:"parseTemplateFor",name:"parseTemplateFor",pkg:"github.com/snyk/snyk-iac-parsers/terraform",typ:$funcType([BZ],[$String,$error],false)},{prop:"wrapExpr",name:"wrapExpr",pkg:"github.com/snyk/snyk-iac-parsers/terraform",typ:$funcType([J.Expression],[$String],false)},{prop:"rangeSource",name:"rangeSource",pkg:"github.com/snyk/snyk-iac-parsers/terraform",typ:$funcType([C.Range],[$String],false)}];CD.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];M.init($String,D.Value);O.init("github.com/snyk/snyk-iac-parsers/terraform",[{prop:"inputs",name:"inputs",embedded:false,exported:false,typ:M,tag:""},{prop:"locals",name:"locals",embedded:false,exported:false,typ:M,tag:""}]);AC.init("github.com/snyk/snyk-iac-parsers/terraform",[{prop:"fileName",name:"fileName",embedded:false,exported:false,typ:$String,tag:""},{prop:"priority",name:"priority",embedded:false,exported:false,typ:$Int,tag:""}]);AH.init("",[{prop:"Simplify",name:"Simplify",embedded:false,exported:true,typ:$Bool,tag:""}]);AI.init("github.com/snyk/snyk-iac-parsers/terraform",[{prop:"bytes",name:"bytes",embedded:false,exported:false,typ:BM,tag:""},{prop:"variables",name:"variables",embedded:false,exported:false,typ:M,tag:""},{prop:"options",name:"options",embedded:false,exported:false,typ:AH,tag:""}]);AJ.init("github.com/snyk/snyk-iac-parsers/terraform",[{prop:"bytes",name:"bytes",embedded:false,exported:false,typ:BM,tag:""},{prop:"variables",name:"variables",embedded:false,exported:false,typ:O,tag:""},{prop:"options",name:"options",embedded:false,exported:false,typ:AH,tag:""}]);AO.init("github.com/snyk/snyk-iac-parsers/terraform",[{prop:"fileName",name:"fileName",embedded:false,exported:false,typ:$String,tag:""},{prop:"fileContent",name:"fileContent",embedded:false,exported:false,typ:$String,tag:""},{prop:"hclFile",name:"hclFile",embedded:false,exported:false,typ:CC,tag:""}]);AP.init("github.com/snyk/snyk-iac-parsers/terraform",[{prop:"parsedFiles",name:"parsedFiles",embedded:false,exported:false,typ:BO,tag:""},{prop:"failedFiles",name:"failedFiles",embedded:false,exported:false,typ:BO,tag:""},{prop:"debugLogs",name:"debugLogs",embedded:false,exported:false,typ:BO,tag:""}]);AX.init("github.com/snyk/snyk-iac-parsers/terraform",[{prop:"message",name:"message",embedded:false,exported:false,typ:$String,tag:""},{prop:"errors",name:"errors",embedded:false,exported:false,typ:BN,tag:""},{prop:"userError",name:"userError",embedded:false,exported:false,typ:$Bool,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=G.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}W=32;AF=new C.BodySchema.ptr(BD.nil,new BE([new C.BlockHeaderSchema.ptr("variable",new BF(["name"]))]));AG=new C.BodySchema.ptr(BD.nil,new BE([new C.BlockHeaderSchema.ptr("locals",BF.nil)]));AW=$makeMap($String.keyFor,[{k:"abs",v:$clone(L.AbsoluteFunc,K.Function)},{k:"ceil",v:$clone(L.CeilFunc,K.Function)},{k:"floor",v:$clone(L.FloorFunc,K.Function)},{k:"log",v:$clone(L.LogFunc,K.Function)},{k:"max",v:$clone(L.MaxFunc,K.Function)},{k:"min",v:$clone(L.MinFunc,K.Function)},{k:"parseint",v:$clone(L.ParseIntFunc,K.Function)},{k:"pow",v:$clone(L.PowFunc,K.Function)},{k:"signum",v:$clone(L.SignumFunc,K.Function)},{k:"chomp",v:$clone(L.ChompFunc,K.Function)},{k:"format",v:$clone(L.FormatFunc,K.Function)},{k:"formatlist",v:$clone(L.FormatListFunc,K.Function)},{k:"indent",v:$clone(L.IndentFunc,K.Function)},{k:"join",v:$clone(L.JoinFunc,K.Function)},{k:"split",v:$clone(L.SplitFunc,K.Function)},{k:"strrev",v:$clone(L.ReverseFunc,K.Function)},{k:"trim",v:$clone(L.TrimFunc,K.Function)},{k:"trimprefix",v:$clone(L.TrimPrefixFunc,K.Function)},{k:"trimsuffix",v:$clone(L.TrimSuffixFunc,K.Function)},{k:"trimspace",v:$clone(L.TrimSpaceFunc,K.Function)},{k:"chunklist",v:$clone(L.ChunklistFunc,K.Function)},{k:"concat",v:$clone(L.ConcatFunc,K.Function)},{k:"distinct",v:$clone(L.DistinctFunc,K.Function)},{k:"flatten",v:$clone(L.FlattenFunc,K.Function)},{k:"length",v:$clone(L.LengthFunc,K.Function)},{k:"merge",v:$clone(L.MergeFunc,K.Function)},{k:"reverse",v:$clone(L.ReverseListFunc,K.Function)},{k:"sort",v:$clone(L.SortFunc,K.Function)},{k:"csvdecode",v:$clone(L.CSVDecodeFunc,K.Function)},{k:"jsondecode",v:$clone(L.JSONDecodeFunc,K.Function)},{k:"jsonencode",v:$clone(L.JSONEncodeFunc,K.Function)},{k:"formatdate",v:$clone(L.FormatDateFunc,K.Function)},{k:"timeadd",v:$clone(L.TimeAddFunc,K.Function)}]);AU=AM;$pkg.VALID_VARIABLE_FILES=$toNativeArray($kindString,[".tf",".auto.tfvars"]);$pkg.VALID_TERRAFORM_FILES=$toNativeArray($kindString,[".tf"]);AV=Q;}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["main"]=(function(){var $pkg={},$init,A,B,E,F,C,D;A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["github.com/snyk/snyk-iac-parsers/terraform"];E=$mapType($String,$emptyInterface);F=$funcType([E],[E],false);C=function(){$module.exports.parseModule=$externalize(D,F);};D=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=B.ParseModule(a);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:D};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if($pkg===$mainPkg){C();$mainFinished=true;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$synthesizeMethods();
$initAllLinknames();
var $mainPkg = $packages["main"];
$packages["runtime"].$init();
$go($mainPkg.$init, []);
$flushConsole();
}).call(this);
//# sourceMappingURL=hcltojson-v2.js.map
/***/ }),
/***/ 43810:
/***/ ((module) => {
function webpackEmptyContext(req) {
var e = new Error("Cannot find module '" + req + "'");
e.code = 'MODULE_NOT_FOUND';
throw e;
}
webpackEmptyContext.keys = () => ([]);
webpackEmptyContext.resolve = webpackEmptyContext;
webpackEmptyContext.id = 43810;
module.exports = webpackEmptyContext;
/***/ })
};
;
//# sourceMappingURL=917.index.js.map